1 00:00:06,678 --> 00:00:08,800 [Powered by Google Translate] Крістофер Варфоломій: Отже, ви, напевно, чули 2 00:00:08,800 --> 00:00:11,610 багато про Arduino, і всі блискучі способи це може бути 3 00:00:11,610 --> 00:00:15,270 програмується за допомогою C отримують підтримку з боку периферійних пристроїв 4 00:00:15,270 --> 00:00:17,760 як кнопки, датчики та регулятори. 5 00:00:17,760 --> 00:00:20,970 Або відображення і управління виводяться через фізичні компоненти 6 00:00:20,970 --> 00:00:24,130 як вогні, звукові колонки, сервоприводи і двигуни. 7 00:00:24,130 --> 00:00:27,510 Але що таке Arduino, насправді? 8 00:00:27,510 --> 00:00:30,640 Arduino являє собою тип мікроконтролера, і 9 00:00:30,640 --> 00:00:33,920 Мікроконтролер може розглядатися як дуже підлаштовано 10 00:00:33,920 --> 00:00:36,530 комп'ютер, який містить такі компоненти, як 11 00:00:36,530 --> 00:00:39,550 процесор, невеликі обсяги пам'яті для зберігання простого 12 00:00:39,550 --> 00:00:42,720 програм, а також різних вхідних / вихідних контактів, які виробляють 13 00:00:42,720 --> 00:00:45,090 Електричний струм в результаті 14 00:00:45,090 --> 00:00:47,330 інструкціям в програмі. 15 00:00:47,330 --> 00:00:50,790 Контакти на Arduino тут для взаємодії з 16 00:00:50,790 --> 00:00:54,210 фізичні компоненти, такі як світлодіоди, динаміки, датчики, 17 00:00:54,210 --> 00:00:56,860 двигуни, та багато іншого. 18 00:00:56,860 --> 00:01:00,660 Це R3 Arduino Uno які ми будемо використовувати 19 00:01:00,660 --> 00:01:02,210 на протязі всього курсу. 20 00:01:02,210 --> 00:01:04,660 У цьому відео я піду на це лише деякі з основних 21 00:01:04,660 --> 00:01:06,110 Компоненти цієї плати. 22 00:01:06,110 --> 00:01:09,540 Однак, якщо ви хочете отримати більше інформації, яку я рекомендую 23 00:01:09,540 --> 00:01:12,390 Ви читали, перейдіть за посиланням для Arduino Uno повно 24 00:01:12,390 --> 00:01:13,800 специфікацією. 25 00:01:13,800 --> 00:01:19,060 Харчування для плати можуть бути отримані від USB, зовнішній AC 26 00:01:19,060 --> 00:01:24,860 для джерел постійного струму або від батарей роз'єми. 27 00:01:24,860 --> 00:01:29,620 Для цих відео вправи, ми будемо використовувати USB за владу. 28 00:01:29,620 --> 00:01:32,390 Якщо ви зацікавлені в інших способи забезпечення харчування вашого 29 00:01:32,390 --> 00:01:35,940 Arduino плати або хочете дізнатися більше про силу контактів, 30 00:01:35,940 --> 00:01:38,830 ласка, зверніться до силової частини специфікації 31 00:01:38,830 --> 00:01:40,530 посилання. 32 00:01:40,530 --> 00:01:44,350 Далі, є два основні розділи штифт на Arduino, що ми 33 00:01:44,350 --> 00:01:48,870 буде використовувати, щоб забезпечити напруга на наших компонентів - 34 00:01:48,870 --> 00:01:53,070 цифрових висновків і аналогові входи. 35 00:01:53,070 --> 00:01:54,840 Перш ніж йти далі, давайте 36 00:01:54,840 --> 00:01:57,380 розумію цих двох термінів. 37 00:01:57,380 --> 00:02:00,450 Аналогові входи призначені для компонентів, таких як ручки, 38 00:02:00,450 --> 00:02:03,150 які створюють аналогових сигналів. 39 00:02:03,150 --> 00:02:05,320 Ручка може забезпечити різну кількість опору 40 00:02:05,320 --> 00:02:09,000 напруга між двома висновками, що він підключений. 41 00:02:09,000 --> 00:02:11,295 Візьмемо, наприклад, світло диммер. 42 00:02:11,295 --> 00:02:13,960 Як регулятор крутиться в одному напрямку, світло буде 43 00:02:13,960 --> 00:02:17,340 стають яскравішими, тому що опір зменшується. 44 00:02:17,340 --> 00:02:20,400 Це забезпечує більш сильний електричний струм 45 00:02:20,400 --> 00:02:23,830 компонентів, що призводить до більш яскравого світла. 46 00:02:23,830 --> 00:02:27,130 Зараз цифрових висновків трохи відрізняється тим, що 47 00:02:27,130 --> 00:02:29,910 вони виробляють цифровий сигнал, який залежить від 48 00:02:29,910 --> 00:02:32,650 Кількість напруга на контакти. 49 00:02:32,650 --> 00:02:35,950 Цифрові сигнали для Arduino, або на на 5 50 00:02:35,950 --> 00:02:40,300 вольт, або заземленою означає вимкнений або нуль вольт. 51 00:02:40,300 --> 00:02:42,570 Візьмемо, приміром вимикач. 52 00:02:42,570 --> 00:02:44,320 Вимикач має два значення - 53 00:02:44,320 --> 00:02:45,870 включення і виключення. 54 00:02:45,870 --> 00:02:48,120 Коли ви включаєте світло за допомогою перемикача, ви 55 00:02:48,120 --> 00:02:51,270 надання повної потужності на той світ. 56 00:02:51,270 --> 00:02:54,540 Ну, з приводу цифрових і аналогових, я впевнений, 57 00:02:54,540 --> 00:02:58,940 Ви вже помітили, скорочення PWM під цифровим 58 00:02:58,940 --> 00:03:00,520 контактний розділі. 59 00:03:00,520 --> 00:03:03,750 Це означає широтно-імпульсної модуляції. 60 00:03:03,750 --> 00:03:07,260 ШІМ управляє напругою протягом довгого часу, щоб справити 61 00:03:07,260 --> 00:03:09,730 модуляції ефектів, схожих на ті, 62 00:03:09,730 --> 00:03:11,570 аналогових контактів. 63 00:03:11,570 --> 00:03:14,630 Наприклад, повертаючи світло і вимикається швидко для 64 00:03:14,630 --> 00:03:17,640 різні проміжки часу, він може контролювати світла 65 00:03:17,640 --> 00:03:18,680 яскравість. 66 00:03:18,680 --> 00:03:21,380 Таким чином, ви можете запитати себе, якщо все що вам потрібно 67 00:03:21,380 --> 00:03:24,470 зробити, це надати деяку напругу на деяких компонентів для його роботи, 68 00:03:24,470 --> 00:03:27,040 Тому навіть є мікроконтролер? 69 00:03:27,040 --> 00:03:30,100 Ну, давайте високому рівні поглянути на мікроконтролер, який 70 00:03:30,100 --> 00:03:32,140 ми можемо взаємодіяти з щодня - 71 00:03:32,140 --> 00:03:33,790 будильника. 72 00:03:33,790 --> 00:03:36,620 Будильник має безліч входів, наприклад кнопки, 73 00:03:36,620 --> 00:03:40,260 , Які використовуються для взаємодії з програмою будильника. 74 00:03:40,260 --> 00:03:43,770 Вона також має виходи, які є легкими ланцюгами випромінюючих називається 75 00:03:43,770 --> 00:03:47,620 семисегментного дисплеї, які показують час. 76 00:03:47,620 --> 00:03:50,540 Все це управляється програмою, яка міститься в 77 00:03:50,540 --> 00:03:52,740 мікроконтролера пам'яті. 78 00:03:52,740 --> 00:03:55,570 Тепер давайте поглянемо на сценарій і подивитися, якщо ми можемо 79 00:03:55,570 --> 00:03:58,970 повторити будильник з цим Arduino. 80 00:03:58,970 --> 00:04:01,240 Ви готові піти спати, але ви повинні будете встановити 81 00:04:01,240 --> 00:04:03,010 будильник, щоб прокинутися. 82 00:04:03,010 --> 00:04:06,100 Ми знаємо, що за допомогою декількох кнопок можна встановити деякі 83 00:04:06,100 --> 00:04:08,730 змінних, час, який дає програма 84 00:04:08,730 --> 00:04:10,040 стані вона повинна відповідати. 85 00:04:10,040 --> 00:04:13,860 Такі, як, коли цей час, правда, програма повинна послати 86 00:04:13,860 --> 00:04:17,130 Сигнал до іншої висновок, який пов'язаний з динаміком. 87 00:04:17,130 --> 00:04:19,860 І коли цей сигнал надходить на динамік, він 88 00:04:19,860 --> 00:04:22,130 повинні грати жахливий звук. 89 00:04:22,130 --> 00:04:25,300 Давайте будемо використовувати просту схему, щоб дати вам деякі контексті того, що 90 00:04:25,300 --> 00:04:26,860 Я говорю про. 91 00:04:26,860 --> 00:04:29,760 Так що тепер будильник встановлено, то ваш стан зараз зберігається 92 00:04:29,760 --> 00:04:31,170 У пам'яті програми. 93 00:04:31,170 --> 00:04:34,840 А через дев'ять секунд сну, ви чуєте жахливий 94 00:04:34,840 --> 00:04:36,836 тривоги звучання далеко. 95 00:04:36,836 --> 00:04:38,820 Я збираюся йти вперед і плагінів в нашій тривоги тут. 96 00:04:47,410 --> 00:04:51,330 Так от, ми не хочемо, щоб встати зовсім ще, так що ми відчуваємо до 97 00:04:51,330 --> 00:04:52,650 кнопку повтору. 98 00:04:52,650 --> 00:04:56,280 Ми дозволяємо спальних студент зупинці, або перервати цю жахливу 99 00:04:56,280 --> 00:04:59,470 звукового сигналу, простим натисканням цієї кнопки. 100 00:04:59,470 --> 00:05:02,620 Але те, що дійсно відбувається, коли програма мікроконтролера 101 00:05:02,620 --> 00:05:05,420 отримує сигнал від кнопку повтору? 102 00:05:05,420 --> 00:05:07,630 Ну, а коли повтору натискання кнопки, сигнал 103 00:05:07,630 --> 00:05:09,830 отримав на інший PIN-код. 104 00:05:09,830 --> 00:05:12,740 Загалом, коли програма отримує цей вхід від 105 00:05:12,740 --> 00:05:16,480 контактний вона реагує, викликавши деякі функції затримати, ні спати, 106 00:05:16,480 --> 00:05:19,600 сигнал, який був посланий в наш спікер PIN-код. 107 00:05:19,600 --> 00:05:23,540 Ця затримка або сон є для деякої постійної часу, яка 108 00:05:23,540 --> 00:05:28,760 Зазвичай це близько дев'яти хвилин, або, в термінах Arduino, 540000 109 00:05:28,760 --> 00:05:30,340 мілісекунд. 110 00:05:30,340 --> 00:05:33,380 Якщо будильник не виключений до повтору 111 00:05:33,380 --> 00:05:36,540 Таймер виснажує, стан програми буде відправити ще 112 00:05:36,540 --> 00:05:39,560 сигнал з висновком доповідача, тим самим перетворюючи 113 00:05:39,560 --> 00:05:42,350 сигналізація знову. 114 00:05:42,350 --> 00:05:46,610 Тепер, що робить Arduino особливого CS50 є його 115 00:05:46,610 --> 00:05:50,370 Середа розробки використовується мова C, даючи вам 116 00:05:50,370 --> 00:05:53,970 Потужність застосувати знання, отримані в більш прямий 117 00:05:53,970 --> 00:05:56,000 практичний шлях. 118 00:05:56,000 --> 00:05:58,750 Хоча ми не зачіпали інші спеціальні штифти 119 00:05:58,750 --> 00:06:01,310 пов'язаних з Arduino, я рекомендую вам відвідати 120 00:06:01,310 --> 00:06:05,090 Специфікація і читати про свої можливості в подальшому. 121 00:06:05,090 --> 00:06:07,340 В іншому відео, ми будемо досліджувати Arduino 122 00:06:07,340 --> 00:06:10,420 Середа розробки на CS50 прилад і написати наш 123 00:06:10,420 --> 00:06:13,200 Перше застосування мікроконтролера. 124 00:06:13,200 --> 00:06:16,700 Мене звуть Крістофер Варфоломія, це CS50.