1 00:00:06,678 --> 00:00:08,800 [Powered by Google Translate] CHRISTOPHER Bartholomew: Så du har sikkert hørt en 2 00:00:08,800 --> 00:00:11,610 masse om Arduino, og alle de geniale måder det kunne være 3 00:00:11,610 --> 00:00:15,270 programmeres med C til at modtage input fra eksterne enheder 4 00:00:15,270 --> 00:00:17,760 lignende knapper, sensorer og knopper. 5 00:00:17,760 --> 00:00:20,970 Eller vise og styre output gennem fysiske komponenter 6 00:00:20,970 --> 00:00:24,130 ligesom lys, højttalere, servoer og motorer. 7 00:00:24,130 --> 00:00:27,510 Men hvad er en Arduino, virkelig? 8 00:00:27,510 --> 00:00:30,640 En Arduino er en type af microcontroller, og en 9 00:00:30,640 --> 00:00:33,920 microcontroller kan opfattes som en meget skaleret ned 10 00:00:33,920 --> 00:00:36,530 computer, som indeholder komponenter, såsom en 11 00:00:36,530 --> 00:00:39,550 processor, små mængder hukommelse til lagring af enkle 12 00:00:39,550 --> 00:00:42,720 programmer, og forskellige input / output pins, der producerer 13 00:00:42,720 --> 00:00:45,090 en elektrisk strøm som et resultat af 14 00:00:45,090 --> 00:00:47,330 instruktionerne i dit program. 15 00:00:47,330 --> 00:00:50,790 Benene på en Arduino er her for at interface med 16 00:00:50,790 --> 00:00:54,210 fysiske komponenter såsom lysdioder, højttalere, sensorer, 17 00:00:54,210 --> 00:00:56,860 motorer, og så meget mere. 18 00:00:56,860 --> 00:01:00,660 Dette er en Arduino Uno R3, som vi vil bruge 19 00:01:00,660 --> 00:01:02,210 hele kurset. 20 00:01:02,210 --> 00:01:04,660 I denne video, vil jeg være at gå over nogle af de vigtigste 21 00:01:04,660 --> 00:01:06,110 komponenter i dette board. 22 00:01:06,110 --> 00:01:09,540 Men hvis du ønsker flere oplysninger, som jeg anbefaler 23 00:01:09,540 --> 00:01:12,390 du læser, kan du besøge linket til Arduino Uno fulde 24 00:01:12,390 --> 00:01:13,800 specifikation. 25 00:01:13,800 --> 00:01:19,060 Strøm til bestyrelsen kan modtages fra USB, ekstern AC 26 00:01:19,060 --> 00:01:24,860 til DC strømforsyninger, eller ved batteritilslutninger. 27 00:01:24,860 --> 00:01:29,620 For disse video øvelser, vil vi bruge USB til strøm. 28 00:01:29,620 --> 00:01:32,390 Hvis du er interesseret i andre måder at levere strøm til din 29 00:01:32,390 --> 00:01:35,940 Arduino bord eller ønsker at vide mere om magt stifter, 30 00:01:35,940 --> 00:01:38,830 henvises til magten del af specifikationen 31 00:01:38,830 --> 00:01:40,530 linket. 32 00:01:40,530 --> 00:01:44,350 Dernæst er der to vigtigste pin sektioner på en Arduino at vi 33 00:01:44,350 --> 00:01:48,870 vil bruge til at give spænding til vores komponenter - 34 00:01:48,870 --> 00:01:53,070 digitale stifter og analoge input pins. 35 00:01:53,070 --> 00:01:54,840 Før vi går videre, så lad os 36 00:01:54,840 --> 00:01:57,380 forstår disse to begreber. 37 00:01:57,380 --> 00:02:00,450 Analoge input pins er for komponenter såsom knapper, 38 00:02:00,450 --> 00:02:03,150 som skaber analoge signaler. 39 00:02:03,150 --> 00:02:05,320 En knop kan give forskellige mængder af resistens over for 40 00:02:05,320 --> 00:02:09,000 Spændingen mellem de to stifter, som den er tilsluttet. 41 00:02:09,000 --> 00:02:11,295 Tag for eksempel en lysdæmper. 42 00:02:11,295 --> 00:02:13,960 Da knappen er snoet i en retning, lyset bliver 43 00:02:13,960 --> 00:02:17,340 bliver lysere, fordi modstanden mindsker. 44 00:02:17,340 --> 00:02:20,400 Hermed bliver elektrisk strøm til 45 00:02:20,400 --> 00:02:23,830 komponent, hvilket resulterer i en lysere baggrund. 46 00:02:23,830 --> 00:02:27,130 Nu de digitale pins er lidt anderledes, idet 47 00:02:27,130 --> 00:02:29,910 de producerer et digitalt signal, der er afhængigt af 48 00:02:29,910 --> 00:02:32,650 Mængden af ​​spændingen over tappene. 49 00:02:32,650 --> 00:02:35,950 Digitale signaler til Arduino er enten på ved 5 50 00:02:35,950 --> 00:02:40,300 volt, eller jordforbundne betyder fra eller nul volt. 51 00:02:40,300 --> 00:02:42,570 Tag for eksempel en lyskontakt. 52 00:02:42,570 --> 00:02:44,320 En lyskontakt har to værdier - 53 00:02:44,320 --> 00:02:45,870 til og fra. 54 00:02:45,870 --> 00:02:48,120 Når du tænder lyset med kontakten, er du 55 00:02:48,120 --> 00:02:51,270 giver fuld strøm til dette lys. 56 00:02:51,270 --> 00:02:54,540 Tja, om emnet digitale og analoge, er jeg sikker 57 00:02:54,540 --> 00:02:58,940 du har bemærket ved nu akronymet PWM under den digitale 58 00:02:58,940 --> 00:03:00,520 pin sektion. 59 00:03:00,520 --> 00:03:03,750 Det står for Pulse Width Modulation. 60 00:03:03,750 --> 00:03:07,260 PWM manipulerer spændingen over tid til frembringelse 61 00:03:07,260 --> 00:03:09,730 modulationseffekter, der ligner dem, 62 00:03:09,730 --> 00:03:11,570 De analoge stifter. 63 00:03:11,570 --> 00:03:14,630 For eksempel drejning af et lys tændes og slukkes hurtigt for 64 00:03:14,630 --> 00:03:17,640 forskellige tidsrum, kan det styre lysets 65 00:03:17,640 --> 00:03:18,680 lysstyrke. 66 00:03:18,680 --> 00:03:21,380 Så du måske spørge dig selv, hvis alt hvad du skal 67 00:03:21,380 --> 00:03:24,470 gøre er at give nogle spænding til en komponent for det til at virke, 68 00:03:24,470 --> 00:03:27,040 hvorfor overhovedet have en microcontroller? 69 00:03:27,040 --> 00:03:30,100 Nå, lad os tage et højt niveau kig på en microcontroller der 70 00:03:30,100 --> 00:03:32,140 vi kan interagere med dagligt - 71 00:03:32,140 --> 00:03:33,790 vækkeuret. 72 00:03:33,790 --> 00:03:36,620 Alarmen har mange indgange, f.eks knapper, 73 00:03:36,620 --> 00:03:40,260 som anvendes til at interagere med alarmen programmet. 74 00:03:40,260 --> 00:03:43,770 Det har også udgange, som er lysemitterende kaldet kredsløb 75 00:03:43,770 --> 00:03:47,620 syv segment displays, der viser tiden. 76 00:03:47,620 --> 00:03:50,540 Alt dette er styret af et program, der er indeholdt i et 77 00:03:50,540 --> 00:03:52,740 microcontroller hukommelse. 78 00:03:52,740 --> 00:03:55,570 Lad os nu tage et kig på et scenarie og se, om vi kan 79 00:03:55,570 --> 00:03:58,970 kopiere vækkeuret med denne Arduino. 80 00:03:58,970 --> 00:04:01,240 Du er klar til at gå på vågeblus, men du bliver nødt til at indstille din 81 00:04:01,240 --> 00:04:03,010 alarm til at vågne op. 82 00:04:03,010 --> 00:04:06,100 Vi ved, at ved at bruge nogle knapper vi kan sætte nogle 83 00:04:06,100 --> 00:04:08,730 variabel tid, der giver programmet en 84 00:04:08,730 --> 00:04:10,040 betingelse det skal opfylde. 85 00:04:10,040 --> 00:04:13,860 Såsom, når denne tid er sandt, skal programmet sende 86 00:04:13,860 --> 00:04:17,130 et signal til en anden stift, der er forbundet til en højttaler. 87 00:04:17,130 --> 00:04:19,860 Og når dette signal modtages af taleren, det 88 00:04:19,860 --> 00:04:22,130 bør spille en forfærdelig lyd. 89 00:04:22,130 --> 00:04:25,300 Lad os bruge et simpelt kredsløb til at give dig nogle sammenhæng til, hvad 90 00:04:25,300 --> 00:04:26,860 Jeg taler om. 91 00:04:26,860 --> 00:04:29,760 Så nu, at alarmen er indstillet, er din tilstand nu gemt 92 00:04:29,760 --> 00:04:31,170 i programmet hukommelse. 93 00:04:31,170 --> 00:04:34,840 Og efter kun ni sekunders søvn, hører du den forfærdelige 94 00:04:34,840 --> 00:04:36,836 alarmen lyder væk. 95 00:04:36,836 --> 00:04:38,820 Jeg har tænkt mig at gå videre og plug-in vores alarm her. 96 00:04:47,410 --> 00:04:51,330 Nu ønsker vi ikke at komme op helt endnu, så vi føler for det 97 00:04:51,330 --> 00:04:52,650 snooze-knappen. 98 00:04:52,650 --> 00:04:56,280 Vi lader den sovende studerende standsning eller afbryde denne forfærdelige 99 00:04:56,280 --> 00:04:59,470 alarmlyd, ved blot at trykke på denne knap. 100 00:04:59,470 --> 00:05:02,620 Men hvad der virkelig sker, når microcontroller program 101 00:05:02,620 --> 00:05:05,420 modtager et signal fra snooze-knap? 102 00:05:05,420 --> 00:05:07,630 Nå, når snooze-knappen, et signal er 103 00:05:07,630 --> 00:05:09,830 modtaget på et andet stift. 104 00:05:09,830 --> 00:05:12,740 Generelt programmet, når modtager dette input fra 105 00:05:12,740 --> 00:05:16,480 pin det reagerer ved at kalde en funktion til at forsinke eller sove, 106 00:05:16,480 --> 00:05:19,600 det signal, der blev sendt til vores højtaler pin. 107 00:05:19,600 --> 00:05:23,540 Denne forsinkelse eller søvn er for nogle konstant tid, som 108 00:05:23,540 --> 00:05:28,760 normalt er omkring ni minutter, eller i Arduino vilkår, 540.000 109 00:05:28,760 --> 00:05:30,340 millisekunder. 110 00:05:30,340 --> 00:05:33,380 Hvis vækkeuret ikke er slukket, før snooze 111 00:05:33,380 --> 00:05:36,540 timeren udtømmer, vil programmet tilstand sende en anden 112 00:05:36,540 --> 00:05:39,560 signalere til den talendes pin, således at dreje 113 00:05:39,560 --> 00:05:42,350 alarmen igen. 114 00:05:42,350 --> 00:05:46,610 Nu, hvad gør Arduino speciel til CS50 er dens 115 00:05:46,610 --> 00:05:50,370 udviklingsmiljø bruger sproget C, hvilket giver dig 116 00:05:50,370 --> 00:05:53,970 beføjelse til at anvende viden på en mere direkte 117 00:05:53,970 --> 00:05:56,000 hands-on måde. 118 00:05:56,000 --> 00:05:58,750 Selvom vi ikke komme ind på de øvrige særlige stifter 119 00:05:58,750 --> 00:06:01,310 involveret med Arduino, vil jeg anbefale, at du besøger 120 00:06:01,310 --> 00:06:05,090 specifikation og læs om deres muligheder yderligere. 121 00:06:05,090 --> 00:06:07,340 I en anden video, vil vi undersøge Arduino 122 00:06:07,340 --> 00:06:10,420 udviklingsmiljø på CS50 apparatet og skrive vores 123 00:06:10,420 --> 00:06:13,200 1. microcontroller ansøgning. 124 00:06:13,200 --> 00:06:16,700 Mit navn er Christopher Bartholomew, det er CS50.