1 00:00:06,678 --> 00:00:08,800 [Powered by Google Translate] CHRISTOPHER BARTHOLOMEW: So jy het waarskynlik die aanhoor van 'n 2 00:00:08,800 --> 00:00:11,610 baie oor Arduino, en al die briljante maniere wat dit kan wees 3 00:00:11,610 --> 00:00:15,270 geprogrammeer met behulp van C insette te ontvang van randapparatuur 4 00:00:15,270 --> 00:00:17,760 soos knoppies, sensors en knoppies. 5 00:00:17,760 --> 00:00:20,970 Of vertoon en beheer uitset deur fisiese komponente 6 00:00:20,970 --> 00:00:24,130 soos ligte, sprekers, dien en motors. 7 00:00:24,130 --> 00:00:27,510 Maar wat is 'n Arduino, regtig? 8 00:00:27,510 --> 00:00:30,640 'N Arduino is 'n tipe van 'n mikrobeheerder, en 'n 9 00:00:30,640 --> 00:00:33,920 mikrobeheerder kan beskou word as 'n baie afgeskaal 10 00:00:33,920 --> 00:00:36,530 rekenaar wat bevat komponente soos 'n 11 00:00:36,530 --> 00:00:39,550 verwerker, klein hoeveelhede van die geheue vir die stoor van eenvoudige 12 00:00:39,550 --> 00:00:42,720 programme, en verskeie toevoer / afvoer penne wat produseer 13 00:00:42,720 --> 00:00:45,090 'n elektriese stroom as gevolg van 14 00:00:45,090 --> 00:00:47,330 instruksies in jou program. 15 00:00:47,330 --> 00:00:50,790 Die penne op 'n Arduino is hier om te koppelvlak met die 16 00:00:50,790 --> 00:00:54,210 fisiese komponente soos LEDs, sprekers, sensors, 17 00:00:54,210 --> 00:00:56,860 motors, en nog baie meer. 18 00:00:56,860 --> 00:01:00,660 Dit is 'n Arduino Uno R3 wat ons sal gebruik word om 19 00:01:00,660 --> 00:01:02,210 dwarsdeur die kursus. 20 00:01:02,210 --> 00:01:04,660 In hierdie video, sal ek gaan oor slegs 'n paar van die belangrikste 21 00:01:04,660 --> 00:01:06,110 komponente van hierdie raad. 22 00:01:06,110 --> 00:01:09,540 Maar, as jy meer inligting wil hê, wat ek raai 23 00:01:09,540 --> 00:01:12,390 jy lees, besoek die skakel vir die Arduino Uno se volle 24 00:01:12,390 --> 00:01:13,800 spesifikasie. 25 00:01:13,800 --> 00:01:19,060 Krag vir die raad kan ontvang word van die USB, eksterne AC 26 00:01:19,060 --> 00:01:24,860 DC kragbronne, of deur die battery connectors. 27 00:01:24,860 --> 00:01:29,620 Vir hierdie video oefeninge, sal ons gebruik USB vir krag. 28 00:01:29,620 --> 00:01:32,390 As jy belangstel in ander maniere om krag te voorsien aan jou 29 00:01:32,390 --> 00:01:35,940 Arduino raad of meer wil weet oor die krag penne om te weet, 30 00:01:35,940 --> 00:01:38,830 verwys asseblief na die krag afdeling van die spesifikasie 31 00:01:38,830 --> 00:01:40,530 skakel verskaf. 32 00:01:40,530 --> 00:01:44,350 Volgende, is daar twee hoof pen afdelings op 'n Arduino dat ons 33 00:01:44,350 --> 00:01:48,870 sal gebruik om spanning te verskaf aan ons komponente - 34 00:01:48,870 --> 00:01:53,070 digitale penne en analoog insette penne. 35 00:01:53,070 --> 00:01:54,840 Voordat ons verder gaan, laat ons 36 00:01:54,840 --> 00:01:57,380 hierdie twee terme te verstaan. 37 00:01:57,380 --> 00:02:00,450 Analoog insette penne is vir komponente soos knoppe, 38 00:02:00,450 --> 00:02:03,150 wat analoog seine skep. 39 00:02:03,150 --> 00:02:05,320 'N knop kan verskillende hoeveelhede van weerstand te bied 40 00:02:05,320 --> 00:02:09,000 spanning tussen die twee penne dat dit is verbind. 41 00:02:09,000 --> 00:02:11,295 Neem, byvoorbeeld, 'n ligte dowwer. 42 00:02:11,295 --> 00:02:13,960 As die knop in een rigting gedraai word, sal die lig 43 00:02:13,960 --> 00:02:17,340 word helderder omdat die weerstand verminder. 44 00:02:17,340 --> 00:02:20,400 Dit bied 'n sterker elektriese stroom na die 45 00:02:20,400 --> 00:02:23,830 komponent, wat lei in 'n beter lig. 46 00:02:23,830 --> 00:02:27,130 Nou die digitale penne is effens anders in daardie 47 00:02:27,130 --> 00:02:29,910 hulle produseer 'n digitale sein wat afhanklik is van die 48 00:02:29,910 --> 00:02:32,650 bedrag van die spanning oor die penne. 49 00:02:32,650 --> 00:02:35,950 Digitale seine vir die Arduino is op 5 50 00:02:35,950 --> 00:02:40,300 volts, of gegrond betekenis af, of nul volts. 51 00:02:40,300 --> 00:02:42,570 Neem byvoorbeeld 'n ligskakelaar. 52 00:02:42,570 --> 00:02:44,320 'N ligskakelaar het twee waardes - 53 00:02:44,320 --> 00:02:45,870 op en af. 54 00:02:45,870 --> 00:02:48,120 Wanneer jy die lig op die gebruik van die skakelaar, jy 55 00:02:48,120 --> 00:02:51,270 die verskaffing van volle krag aan daardie lig. 56 00:02:51,270 --> 00:02:54,540 Wel, op die onderwerp van digitale en analoog, ek is seker 57 00:02:54,540 --> 00:02:58,940 jy opgemerk deur nou die akroniem PWM onder die digitale 58 00:02:58,940 --> 00:03:00,520 pins deel. 59 00:03:00,520 --> 00:03:03,750 Dit staan ​​vir pulswydte modulasie. 60 00:03:03,750 --> 00:03:07,260 PWM manipuleer die spanning oor tyd te produseer 61 00:03:07,260 --> 00:03:09,730 modulasie effekte wat is soortgelyk aan dié 62 00:03:09,730 --> 00:03:11,570 van die analoog penne. 63 00:03:11,570 --> 00:03:14,630 Byvoorbeeld, deur die draai 'n lig op en af ​​vinnig vir 64 00:03:14,630 --> 00:03:17,640 verskillende lengtes van die tyd, kan dit beheer die lig 65 00:03:17,640 --> 00:03:18,680 helderheid. 66 00:03:18,680 --> 00:03:21,380 So jy kan vra jouself, as alles wat jy het om te 67 00:03:21,380 --> 00:03:24,470 doen sommige spanning tot 'n komponent vir dit om te werk, 68 00:03:24,470 --> 00:03:27,040 waarom selfs 'n mikrobeheerder? 69 00:03:27,040 --> 00:03:30,100 Wel, laat ons 'n hoë-vlak blik op 'n mikrobeheerder dat 70 00:03:30,100 --> 00:03:32,140 ons kan interaksie met daaglikse 71 00:03:32,140 --> 00:03:33,790 die wekker. 72 00:03:33,790 --> 00:03:36,620 Die wekker het baie insette, byvoorbeeld knoppies, 73 00:03:36,620 --> 00:03:40,260 wat gebruik word om in interaksie te tree met die wekker program. 74 00:03:40,260 --> 00:03:43,770 Dit het ook uitsette wat liguitstralende stroombane genoem 75 00:03:43,770 --> 00:03:47,620 sewe segment vertoon wat toon die tyd. 76 00:03:47,620 --> 00:03:50,540 Dit word alles beheer deur 'n program wat vervat is in 'n 77 00:03:50,540 --> 00:03:52,740 mikrobeheerder se geheue. 78 00:03:52,740 --> 00:03:55,570 Nou, laat ons neem 'n blik op 'n scenario en kyk of ons kan 79 00:03:55,570 --> 00:03:58,970 soortgelyk aan die wekker met hierdie Arduino. 80 00:03:58,970 --> 00:04:01,240 Jy is gereed om te gaan slaap, maar jy sal nodig het om jou te stel 81 00:04:01,240 --> 00:04:03,010 alarm te wakker. 82 00:04:03,010 --> 00:04:06,100 Ons weet dat ons deur gebruik te maak van 'n paar knoppies sommige kan stel 83 00:04:06,100 --> 00:04:08,730 veranderlike, tyd, gee dat die program 'n 84 00:04:08,730 --> 00:04:10,040 toestand waarin dit moet voldoen. 85 00:04:10,040 --> 00:04:13,860 Soos wanneer dit tyd is waar, die program moet stuur 86 00:04:13,860 --> 00:04:17,130 'n sein na 'n ander pen wat gekoppel is aan 'n spreker. 87 00:04:17,130 --> 00:04:19,860 En wanneer hierdie sein ontvang word deur die speaker, 88 00:04:19,860 --> 00:04:22,130 moet speel 'n vreeslike geluid. 89 00:04:22,130 --> 00:04:25,300 Kom ons gebruik 'n eenvoudige stroombaan te gee jou 'n konteks wat 90 00:04:25,300 --> 00:04:26,860 Ek praat. 91 00:04:26,860 --> 00:04:29,760 So nou dat jou alarm is, is nou jou toestand gestoor 92 00:04:29,760 --> 00:04:31,170 in die program se geheue. 93 00:04:31,170 --> 00:04:34,840 En na slegs nege sekondes van slaap, jy hoor die verskriklike 94 00:04:34,840 --> 00:04:36,836 alarm blaas weg. 95 00:04:36,836 --> 00:04:38,820 Ek gaan voort en plug-in ons alarm gaan hier. 96 00:04:47,410 --> 00:04:51,330 Nou, ons wil nie te kry nogal nog, so ons voel vir die 97 00:04:51,330 --> 00:04:52,650 snooze knoppie. 98 00:04:52,650 --> 00:04:56,280 Ons laat die slaap student stilstand, of onderbreek hierdie verskriklike 99 00:04:56,280 --> 00:04:59,470 alarm klank, deur net te slaan dat die knoppie. 100 00:04:59,470 --> 00:05:02,620 Maar wat gebeur regtig wanneer die mikrobeheerder se program 101 00:05:02,620 --> 00:05:05,420 ontvang 'n sein van die snooze knoppie? 102 00:05:05,420 --> 00:05:07,630 Wel, wanneer die snooze knoppie gedruk word, 'n sein is 103 00:05:07,630 --> 00:05:09,830 ontvang op 'n ander pen. 104 00:05:09,830 --> 00:05:12,740 In die algemeen, wanneer die program ontvang hierdie insette van die 105 00:05:12,740 --> 00:05:16,480 pen dit reageer deur die roeping van 'n funksie te vertraag nie, en of ons slaap, 106 00:05:16,480 --> 00:05:19,600 die sein wat aan ons spreker pen gestuur is. 107 00:05:19,600 --> 00:05:23,540 Hierdie vertraging of slaap is vir 'n paar konstante tyd wat 108 00:05:23,540 --> 00:05:28,760 gewoonlik sowat nege minute, of in Arduino terme, 540,000 109 00:05:28,760 --> 00:05:30,340 millisekondes. 110 00:05:30,340 --> 00:05:33,380 As die wekker nie afgeskakel is voordat die snooze 111 00:05:33,380 --> 00:05:36,540 timer uitput, sal die program se toestand stuur ander 112 00:05:36,540 --> 00:05:39,560 sein na die spreker se pen, dus draai 113 00:05:39,560 --> 00:05:42,350 die alarm weer. 114 00:05:42,350 --> 00:05:46,610 Nou, wat maak Arduino spesiaal vir cs50 is sy 115 00:05:46,610 --> 00:05:50,370 ontwikkeling omgewing gebruik die C-taal, gee jou die 116 00:05:50,370 --> 00:05:53,970 mag om kennis toe te pas wat in 'n meer direkte 117 00:05:53,970 --> 00:05:56,000 hands-on manier. 118 00:05:56,000 --> 00:05:58,750 Hoewel ons dit nie raak op die ander spesiale penne 119 00:05:58,750 --> 00:06:01,310 wat betrokke is met die Arduino, ek beveel aan dat jy na die 120 00:06:01,310 --> 00:06:05,090 spesifikasie en lees oor hul vermoëns verder. 121 00:06:05,090 --> 00:06:07,340 In 'n ander video, sal ons verken die Arduino 122 00:06:07,340 --> 00:06:10,420 ontwikkeling omgewing op die cs50-toestel en skryf ons 123 00:06:10,420 --> 00:06:13,200 eerste mikrobeheerder aansoek. 124 00:06:13,200 --> 00:06:16,700 My naam is Christopher Bartholomew, dit is cs50.