1 00:00:07,710 --> 00:00:11,120 [Powered by Google Translate] I denne videoen vil jeg introdusere noen nye komponenter 2 00:00:11,120 --> 00:00:13,630 som vil bli brukt til å bygge ditt første krets. 3 00:00:13,630 --> 00:00:17,810 Etterpå vil vi gå inn i Arduino utviklingsmiljøet 4 00:00:17,810 --> 00:00:21,250 og lære noe av det grunnleggende funksjoner. 5 00:00:21,250 --> 00:00:28,350 Til slutt vil vi koden vår første mikrokontroller programmet og laste det opp til Arduino vår. 6 00:00:28,350 --> 00:00:30,400 La oss komme i gang. 7 00:00:30,400 --> 00:00:37,500 >> Den første komponenten som vi bør gjøre oss kjent med er loddefri brødfjel. 8 00:00:37,500 --> 00:00:42,590 Dette breadboard tillater oss å prototype eller teste våre kretser 9 00:00:45,190 --> 00:00:51,900 bare ved å plassere ledningene eller komponent ender inni disse små hull som kalles stikkontakter. 10 00:00:51,900 --> 00:00:58,000 Det er viktig å merke seg at bokstaver og tall kjøre langs omkretsen av breadboard. 11 00:01:00,670 --> 00:01:04,760 Dette er fordi i kontaktene i hver nummererte rad er koblet 12 00:01:04,760 --> 00:01:13,260 som betyr rad 1A til rad 1E, for eksempel, 13 00:01:13,260 --> 00:01:20,570 mottar den samme strøm, men er radene ikke koblet til hverandre. 14 00:01:23,920 --> 00:01:28,330 >> Den neste komponenten er motstander som har de primære puroposes 15 00:01:28,330 --> 00:01:31,280 begrense strøm og dele spenning. 16 00:01:31,280 --> 00:01:36,530 Vi bruker motstander fordi ikke alle komponenter aksepterer samme nivå av spenning 17 00:01:36,530 --> 00:01:39,220 at strømkilden gir. 18 00:01:39,220 --> 00:01:45,190 Når en jevn spenning til ledningene for motstanden, 19 00:01:45,190 --> 00:01:51,040 mengden av strøm som gjør det mulig å flyte gjennom det bestemmes ved sin motstand mot 20 00:01:51,040 --> 00:01:53,360 som måles i ohm. 21 00:01:53,360 --> 00:01:57,520 Slik at flere ohm resulterer i mindre strøm. 22 00:01:57,520 --> 00:02:01,720 For å finne ut hvordan man skal beregne hvor mye motstand i ohm 23 00:02:01,720 --> 00:02:05,900 at en motstand gjelder, vi bare se på sine farge striper 24 00:02:05,900 --> 00:02:08,500 som brytes rundt det ytre dekselet. 25 00:02:08,500 --> 00:02:14,200 Motstandsverdien kan leses av de første tre striper av farge. 26 00:02:14,200 --> 00:02:22,040 Hver farge har en bestemt verdi fra 0, blir svart, til 9, som er hvit. 27 00:02:22,040 --> 00:02:26,770 Du kan finne mer informasjon om disse verdiene fra koblingen. 28 00:02:26,770 --> 00:02:33,530 Det er også en fjerde stripe som kommer i enten gull, sølv, eller bare tomt. 29 00:02:33,530 --> 00:02:41,400 Dette gir toleranse nivåer av motstand, dvs. hvor tett det samsvarer sin karakter motstand. 30 00:02:41,400 --> 00:02:47,790 For nå kan vi se bort fra den fjerde stripe og sette fokus på de første 3. 31 00:02:47,790 --> 00:02:54,830 >> Den første stripe, som er det motsatte av toleranse stripe, er det første siffer. 32 00:02:54,830 --> 00:02:58,260 Denne verdien kan være 0-9. 33 00:02:58,260 --> 00:03:05,130 Tilsvarende er den andre stripen andre siffer som kan også ha en verdi på 0-9. 34 00:03:05,130 --> 00:03:09,780 Men det tredje sifferet er der det blir annerledes. 35 00:03:09,780 --> 00:03:16,730 Det tredje sifferet er antall 0-tallet som er lagt til på slutten av de første 2 siffer. 36 00:03:16,730 --> 00:03:20,920 Den formelle navnet på denne stripen er multiplor. 37 00:03:20,920 --> 00:03:23,800 Ta for eksempel denne motstanden. 38 00:03:23,800 --> 00:03:28,610 Vi har for tiden en oransje, orange, brun motstand. 39 00:03:28,610 --> 00:03:35,120 Orange verdi er 3, og brun verdi er 1. 40 00:03:35,120 --> 00:03:42,400 Derfor har vi en 3, 3, 0 eller 330 ohm motstand. 41 00:03:42,400 --> 00:03:48,960 Husk den tredje stripe, som er brun, forteller oss bare hvor mange 0-tallet som skal legges 42 00:03:48,960 --> 00:03:52,200 på den første og andre siffer. 43 00:03:52,200 --> 00:03:58,720 >> Endelig vår siste komponenten er light-emitting diode eller LED for korte. 44 00:03:58,720 --> 00:04:04,250 LED er et lite lys som vi kan finne i de fleste av våre elektronikk. 45 00:04:04,250 --> 00:04:10,250 For at en LED å sende ut lys, må strøm passere gjennom en leder i en bestemt retning. 46 00:04:10,250 --> 00:04:12,250 Men vi vil komme tilbake til dette om kort tid. 47 00:04:12,250 --> 00:04:16,209 For nå merke til hvordan en leder er lengre enn den andre. 48 00:04:16,209 --> 00:04:22,860 Jo lenger bly kalles anoden, og dette er den positive terminalen for LED. 49 00:04:22,860 --> 00:04:28,470 Den kortere bly, som er den negative terminalen, kalles katoden. 50 00:04:28,470 --> 00:04:31,810 >> Nå som vi har en generell forståelse av våre komponenter, 51 00:04:31,810 --> 00:04:33,950 la oss bygge vår første krets. 52 00:04:33,950 --> 00:04:38,950 Når du begynner å bygge en krets bør du alltid koble Arduino fra datamaskinen. 53 00:04:38,950 --> 00:04:44,790 Så ifølge skjematisk vår, vet vi at motstanden skal være mellom 54 00:04:44,790 --> 00:04:50,490 strømkilden, dvs. en av de Arduino digitale pinner, og anoden, 55 00:04:50,490 --> 00:04:53,550 plusskabelen av LED. 56 00:04:53,550 --> 00:04:58,380 Mens katoden, negativ bly, vil bli koblet direkte til jord, 57 00:04:58,380 --> 00:05:00,930 dermed fullføre vår krets. 58 00:05:00,930 --> 00:05:07,040 I motsetning til LED, ikke retningen som vi plasserer motstanden ikke saken. 59 00:05:07,040 --> 00:05:13,310 La oss stedet en av de motstandene fører i socket rad 1A. 60 00:05:21,790 --> 00:05:25,830 Nå la oss sette den andre lederen av motstanden i en egen krets banen. 61 00:05:25,830 --> 00:05:28,890 Hva med rad 2A? 62 00:05:39,990 --> 00:05:43,410 >> Flott. Halvveis. La oss gå videre til LED. 63 00:05:43,410 --> 00:05:49,970 Per skjematisk, vår anode, den positive ledningen, må koplet til motstanden vårt. 64 00:05:52,190 --> 00:05:57,910 Dette betyr at vi bør plassere LED anode i en stikkontakt som er på samme 65 00:05:57,910 --> 00:06:00,510 kretsbane som en av motstandene fører. 66 00:06:00,510 --> 00:06:03,760 La oss gjøre rad 2E. 67 00:06:09,440 --> 00:06:15,310 Per skjematisk vår, vet vi at katoden vil gå direkte inn i Arduinos bakken pin. 68 00:06:15,310 --> 00:06:21,370 Så vi kan plassere katoden i rad 3E. 69 00:06:24,480 --> 00:06:27,450 >> Flott. Den siste delen til skjematisk vår er rett og slett å bruke disse startkabler 70 00:06:27,450 --> 00:06:32,190 å koble til Arduino vår, og dermed fullføre krets. 71 00:06:32,190 --> 00:06:37,080 La oss starte med å lage tilkoblingen fra katoden til Arduinos bakken. 72 00:06:37,080 --> 00:06:42,610 For å gjøre dette, vi bare plugge Byglingskabel inn i noen av kontaktene 73 00:06:42,610 --> 00:06:47,630 som deler samme A til E-raden i katoden. 74 00:06:47,630 --> 00:06:55,060 I dette tilfellet vil vi koble en ende av jumperen kabelen direkte inn rad 3A. 75 00:07:12,190 --> 00:07:18,580 Den andre pluggen vil gå inn en av de jordet eller GRD digitale pinner av Arduino. 76 00:07:25,310 --> 00:07:29,550 Som for den andre kabelen, ifølge skjematisk vårt vil vi gjøre en forbindelse 77 00:07:29,550 --> 00:07:36,390 fra motstand vår til vår strømkilde som er 1 av de digitale pinnene på Arduino. 78 00:07:36,390 --> 00:07:42,150 Vi vet allerede at en ende av motstanden er koblet til lysdiodene anoden. 79 00:07:42,150 --> 00:07:49,110 Så dette etterlater oss med bare 1 alternativ, rad 1 stikkontakter B gjennom E. 80 00:07:49,110 --> 00:07:52,410 La oss gi oss litt plass mellom våre komponenter. 81 00:07:52,410 --> 00:07:56,610 La oss plugg en ende av Byglingskabel i rad 1E. 82 00:08:07,670 --> 00:08:12,870 Til slutt, koble den andre enden av denne jumperen kabelen i digital pin 13. 83 00:08:12,870 --> 00:08:17,000 Husk dette pin. Det vil være svært viktig snart. 84 00:08:26,660 --> 00:08:29,860 >> Vel kretsen ser pen, men vi vil at den skal gjøre noe. 85 00:08:29,860 --> 00:08:31,860 La oss knekke våre slåsshansker og komme ned til virksomheten 86 00:08:31,860 --> 00:08:34,750 skrive vår første mikrokontroller programmet. 87 00:08:34,750 --> 00:08:38,730 Første plug torget USB-enden inn i Arduino. 88 00:08:42,870 --> 00:08:44,930 For å begynne å skrive vår egen program, 89 00:08:44,930 --> 00:08:48,000 vi trenger å få tilgang til Arduino integrert utviklingsmiljø, 90 00:08:48,000 --> 00:08:51,570 som jeg vil referere til som IDE. 91 00:08:51,570 --> 00:08:55,890 For å gjøre dette klikker du på apparatet menyen nederst links på skjermen. 92 00:08:55,890 --> 00:09:01,510 Gå til programmering og velg Arduino fra denne menyen. 93 00:09:01,510 --> 00:09:05,210 Hvis Arduino-programvaren ikke er installert kan du enkelt installere det ved 94 00:09:05,210 --> 00:09:08,450 åpne en terminal og skrive inn følgende kommando: 95 00:09:08,450 --> 00:09:13,450 Sudo yum install Arduino. 96 00:09:13,450 --> 00:09:15,450 Du må starte maskinen når den er ferdig. 97 00:09:16,820 --> 00:09:20,070 Så når du starter IDE, den første tingen du bør sjekke 98 00:09:20,070 --> 00:09:25,480 er hvis Arduino IDE registrerer eller se din Arduino enheten. 99 00:09:25,480 --> 00:09:30,190 Du kan gjøre dette ved å gå til Verktøy-menyen, hold musepekeren over seriell port, 100 00:09:30,190 --> 00:09:34,340 og det bør være minst 3 enheter som er oppført. 101 00:09:34,840 --> 00:09:41,680 Hvis det ikke er merket allerede, gjør du sjekke / dev/ttyacm0 102 00:09:41,680 --> 00:09:44,990 som dette er hvor du Arduino er koblet til. 103 00:09:44,990 --> 00:09:50,790 >> Når du først åpner Arduino IDE et nytt prosjekt, som kalles en skisse, 104 00:09:50,790 --> 00:09:53,250 åpner opp automatisk. 105 00:09:53,250 --> 00:09:56,500 Dette området vil bli brukt til å plassere våre koding. 106 00:09:56,500 --> 00:10:00,700 Ved bunnen av skjermen er det en terminalvindu ansvarlig for outputing informasjon 107 00:10:00,700 --> 00:10:06,180 som complilation respons koder eller syntaksfeil i koden. 108 00:10:06,180 --> 00:10:10,340 På toppen av skjermen rett under filen menyen, det er en serie av ikoner 109 00:10:10,340 --> 00:10:12,290 at vi skal bli kjent med. 110 00:10:12,290 --> 00:10:17,050 Starter fra lengst til venstre, er det et ikon som ligner en sjekk. 111 00:10:17,050 --> 00:10:20,920 Denne knappen kalles bekrefte, og ansvaret for å utarbeide koden 112 00:10:20,920 --> 00:10:25,200 under validering riktigheten av programmet syntaks. 113 00:10:25,200 --> 00:10:30,260 Knappen etter verifisere, noe som likner på en sidelengs pil som peker til høyre, 114 00:10:30,260 --> 00:10:32,260 er opplastingen kommandoen. 115 00:10:32,260 --> 00:10:37,180 Opplastingen kommandoen er resonsible for å sende programmene samlet 1 og 0 er 116 00:10:37,180 --> 00:10:41,010 over til mikrokontroller for at den skal bli frelst på bordet. 117 00:10:41,010 --> 00:10:45,810 Husk at verify knappen ikke vil laste opp koden din. 118 00:10:45,810 --> 00:10:50,280 De neste tre knappene er nye, åpne og lagre henholdsvis. 119 00:10:50,280 --> 00:10:54,920 Den siste knappen til høyre i denne menyen kalles den serielle skjerm, 120 00:10:54,920 --> 00:11:00,930 og det fungerer som en konsultere der programmerere kan konfigurere Arduino å lese som input 121 00:11:00,930 --> 00:11:05,730 eller vise som utgang til og fra den serielle monitoren. 122 00:11:05,730 --> 00:11:08,600 Vi vil komme tilbake til den serielle monitor i en annen video. 123 00:11:08,600 --> 00:11:11,850 >> For nå la oss begynne å skrive vårt program. 124 00:11:11,850 --> 00:11:17,350 Nå begynner å skrive en Arduino program er litt forskjellig fra vanlige C-programmer. 125 00:11:17,350 --> 00:11:23,570 Dette er fordi en Arduino trenger, som et minimum, funtions 2 bestemt void definert. 126 00:11:23,570 --> 00:11:26,310 Oppsett og loop. 127 00:11:26,310 --> 00:11:32,350 Arduino gjør det svært enkelt å komme i gang ved å utnytte eksempel kode maler 128 00:11:32,350 --> 00:11:35,510 som kommer med IDE. 129 00:11:35,510 --> 00:11:42,750 Å trigge vår minimum, bare gå til filmenyen, eksempler, velger nummer 1 grunnleggende, 130 00:11:42,750 --> 00:11:44,380 og klikk på minimum. 131 00:11:44,380 --> 00:11:46,770 En ny skisse vindu skal vises. 132 00:11:46,770 --> 00:11:48,770 Lasting av templated koden. 133 00:11:48,770 --> 00:11:51,510 La oss kort gå over disse to funksjonene. 134 00:11:51,510 --> 00:11:57,310 Oppsettet er ganske likt viktigste som det er den første funksjonen til å kjøre, 135 00:11:57,310 --> 00:11:59,820 og det går bare én gang. 136 00:11:59,820 --> 00:12:04,160 Oppsett brukes for å definere hvilke pinner vil være inngang eller utgang. 137 00:12:04,160 --> 00:12:09,400 For eksempel vil dette være et flott sted å fortelle Arduino at vi ønsker å sende ut 138 00:12:09,400 --> 00:12:13,400 noen elektrisk strøm over til pin nummer 13. 139 00:12:13,400 --> 00:12:19,370 Loop er en funksjon som går kontinuerlig på mikrokontrolleren. 140 00:12:19,370 --> 00:12:22,130 Noen gang lurt på hvorfor vekkerklokken aldri stopper? 141 00:12:22,130 --> 00:12:26,170 Det er fordi de fleste av mikrokontrollere vil sløyfe gjennom sitt program. 142 00:12:26,170 --> 00:12:31,650 I vår nåværende krets dette ville være et flott sted for å fortelle Arduino at vi ønsker å gjøre 143 00:12:31,650 --> 00:12:34,110 vårt lys blinker alltid. 144 00:12:34,110 --> 00:12:41,550 Så i pseudokode ville det være noe som slår lyset på, forsinke n sekunder, slå av lyset, 145 00:12:41,550 --> 00:12:45,170 forsinke n sekunder. 146 00:12:45,170 --> 00:12:50,460 >> Vel stedet for å skrive ut den koden vi bare kommer til å jukse. Bare denne gangen. 147 00:12:50,460 --> 00:12:55,640 Dette er faktisk allerede en kode mal for en blinkende LED lagret i våre eksempler. 148 00:12:55,640 --> 00:13:03,350 Å laste den gå til fil, eksempler, velger nummer 1 grunnleggende, og velg blink. 149 00:13:03,350 --> 00:13:09,090 Hva som skjer her er at en ny skisse vindu skal vises med noen kode allerede inne. 150 00:13:09,090 --> 00:13:14,930 Innsiden av oppsett kroppen er det en Arduino hjelper funksjon kalt pinMode. 151 00:13:14,930 --> 00:13:17,540 PinMode forbereder pin som skal brukes. 152 00:13:17,540 --> 00:13:20,030 Det aksepterer to parametre. 153 00:13:20,030 --> 00:13:24,390 Først IO pin nummer, som er pin du ønsker å bruke, 154 00:13:24,390 --> 00:13:29,910 og andre, er en verdi erklære hvorvidt pin brukes for innspill fra kretsen 155 00:13:29,910 --> 00:13:36,050 konstant verdi av INPUT i alle hovedsteder, eller utgang til circut, 156 00:13:36,050 --> 00:13:39,110 som er en konstant verdi OUTPUT i alle hovedsteder. 157 00:13:39,110 --> 00:13:43,820 Innsiden av løkken er det 2 ekstra Arduino hjelper funksjoner, 158 00:13:43,820 --> 00:13:48,840 digialWrite akseptere to parametere og forsinke akseptere en parameter. 159 00:13:48,840 --> 00:13:55,010 DigialWrite brukes til å samhandle med pin du konfigureres ved hjelp pinMode. 160 00:13:55,010 --> 00:13:59,730 >> Det første argumentet er det PIN-kode som du er i samspill med. 161 00:13:59,730 --> 00:14:04,440 Det andre argumentet er en konstant som er enten høy, betyr full spenning, 162 00:14:04,440 --> 00:14:07,080 eller lav, betyr ingen spenning. 163 00:14:07,080 --> 00:14:09,800 Den andre hjelperen funksjonen er forsinkelse 164 00:14:09,800 --> 00:14:13,870 som vil stoppe kode kjøres basert på mengden av tid i millisekunder. 165 00:14:13,870 --> 00:14:18,300 Huske 1 andre er lik 1000 millisekunder. 166 00:14:18,300 --> 00:14:23,620 Basert på gjennomgang vår kan vi utlede at hvis vår krets ble satt opp riktig 167 00:14:23,620 --> 00:14:30,910 vår LED skal slås av og bli tent i 1 sekund og slå av og holde av i 1 sekund 168 00:14:30,910 --> 00:14:33,640 før du slår den på igjen. 169 00:14:33,640 --> 00:14:38,580 Dette bør gjenta evig som det er for øyeblikket i loop funksjon. 170 00:14:38,580 --> 00:14:42,340 La oss velge opplasting til styret knappen og finne ut. 171 00:14:48,060 --> 00:14:50,990 >> Flott. Så lurer du kanskje på hva som er neste. 172 00:14:50,990 --> 00:14:55,710 Vel, nå som du har en forståelse av alt som er nødvendig for å skape 173 00:14:55,710 --> 00:15:01,030 en Arduino krets, kan vi begynne å bruke kunnskap fra våre forelesninger i CS50 174 00:15:01,030 --> 00:15:03,800 å skjerpe vår kompetanse ytterligere. 175 00:15:03,800 --> 00:15:08,090 For eksempel, hva hvis jeg ikke ønsker å bruke Arduino loop funksjon? 176 00:15:08,090 --> 00:15:11,760 Hva om stedet jeg ønsket å skrive min egen type looper og vilkår 177 00:15:11,760 --> 00:15:15,870 eller til og med lage mine egne funksjoner utenfor minimum? 178 00:15:15,870 --> 00:15:20,180 Hva om jeg ønsket å spille musikk eller bygge en innbruddsalarm 179 00:15:20,180 --> 00:15:23,900 eller selv ta kontakt på internett med Arduino min? 180 00:15:23,900 --> 00:15:29,330 Svarene på disse spørsmålene kommer. Så hold rundt. 181 00:15:29,330 --> 00:15:32,610 >> Jeg er Christoper Bartholomew. Dette er CS50.