1 00:00:06,678 --> 00:00:08,800 [Powered by Google Translate] CHRISTOPHER Bartolomeus: Så du har sikkert hørt en 2 00:00:08,800 --> 00:00:11,610 mye om Arduino, og alle de flotte måter det kan være 3 00:00:11,610 --> 00:00:15,270 programmeres med C for å motta innspill fra eksterne enheter 4 00:00:15,270 --> 00:00:17,760 som knapper, sensorer og knotter. 5 00:00:17,760 --> 00:00:20,970 Eller vise og kontrollere produksjon gjennom fysiske komponenter 6 00:00:20,970 --> 00:00:24,130 som lys, høyttalere, servoer og motorer. 7 00:00:24,130 --> 00:00:27,510 Men hva er en Arduino, egentlig? 8 00:00:27,510 --> 00:00:30,640 En Arduino er en type mikrokontroller, og en 9 00:00:30,640 --> 00:00:33,920 mikrokontroller kan betraktes som en svært nedskalert 10 00:00:33,920 --> 00:00:36,530 datamaskin som inneholder komponenter som 11 00:00:36,530 --> 00:00:39,550 prosessor, små mengder minne for lagring enkel 12 00:00:39,550 --> 00:00:42,720 programmer, og ulike input / output pins som produserer 13 00:00:42,720 --> 00:00:45,090 en elektrisk strøm som et resultat av 14 00:00:45,090 --> 00:00:47,330 instruksjonene i programmet. 15 00:00:47,330 --> 00:00:50,790 Pinnene på en Arduino er her for å grensesnitt med 16 00:00:50,790 --> 00:00:54,210 fysiske komponenter som LED, høyttalere, sensorer, 17 00:00:54,210 --> 00:00:56,860 motorer, og så mye mer. 18 00:00:56,860 --> 00:01:00,660 Dette er en Arduino Uno R3 som vi skal bruke 19 00:01:00,660 --> 00:01:02,210 gjennom hele kurset. 20 00:01:02,210 --> 00:01:04,660 I denne videoen, skal jeg gå over bare noen av de viktigste 21 00:01:04,660 --> 00:01:06,110 komponentene i dette forumet. 22 00:01:06,110 --> 00:01:09,540 Men hvis du ønsker mer informasjon, som jeg anbefaler 23 00:01:09,540 --> 00:01:12,390 du leser, gå inn på linken for Arduino Uno fulle 24 00:01:12,390 --> 00:01:13,800 spesifikasjonen. 25 00:01:13,800 --> 00:01:19,060 Strøm til styret kan mottas fra USB, ekstern AC 26 00:01:19,060 --> 00:01:24,860 til DC strømforsyninger, eller ved batterikontaktene. 27 00:01:24,860 --> 00:01:29,620 For disse video øvelser, vil vi bruke USB for strøm. 28 00:01:29,620 --> 00:01:32,390 Hvis du er interessert i andre måter å gi strøm til din 29 00:01:32,390 --> 00:01:35,940 Arduino bord eller ønsker å vite mer om makt pins, 30 00:01:35,940 --> 00:01:38,830 henvises til makten delen av spesifikasjonen 31 00:01:38,830 --> 00:01:40,530 koblingen. 32 00:01:40,530 --> 00:01:44,350 Deretter er det to hovedtyper pin deler på en Arduino at vi 33 00:01:44,350 --> 00:01:48,870 vil bruke til å gi spenning til våre komponenter - 34 00:01:48,870 --> 00:01:53,070 digitale pins og analog inngang pins. 35 00:01:53,070 --> 00:01:54,840 Før vi går videre, la oss 36 00:01:54,840 --> 00:01:57,380 forstå disse to begrepene. 37 00:01:57,380 --> 00:02:00,450 Analog inngang pins er for komponenter som knotter, 38 00:02:00,450 --> 00:02:03,150 som skaper analoge signaler. 39 00:02:03,150 --> 00:02:05,320 En knott kan gi ulike mengder av resistens mot 40 00:02:05,320 --> 00:02:09,000 spenning mellom de to pinnene som den er koblet til. 41 00:02:09,000 --> 00:02:11,295 Ta for eksempel en lys dimmer. 42 00:02:11,295 --> 00:02:13,960 Som knotten er vridd i en retning, lyset vil 43 00:02:13,960 --> 00:02:17,340 blir lysere fordi motstanden minsker. 44 00:02:17,340 --> 00:02:20,400 Dette gir en sterkere elektrisk strøm til 45 00:02:20,400 --> 00:02:23,830 komponent, noe som resulterer i en lysere lys. 46 00:02:23,830 --> 00:02:27,130 Nå digitale pinnene er litt annerledes i det 47 00:02:27,130 --> 00:02:29,910 de produserer et digitalt signal som er avhengig av 48 00:02:29,910 --> 00:02:32,650 mengde spenning over pinnene. 49 00:02:32,650 --> 00:02:35,950 Digitale signaler for Arduino er enten på på 5 50 00:02:35,950 --> 00:02:40,300 volt, eller jordet betyr av, eller null volt. 51 00:02:40,300 --> 00:02:42,570 Ta for eksempel en lysbryter. 52 00:02:42,570 --> 00:02:44,320 En lysbryter har to verdier - 53 00:02:44,320 --> 00:02:45,870 av og på. 54 00:02:45,870 --> 00:02:48,120 Når du slår på lyset ved hjelp av bryteren, er du 55 00:02:48,120 --> 00:02:51,270 gi full effekt til dette lyset. 56 00:02:51,270 --> 00:02:54,540 Vel, på temaet digital og analog, er jeg sikker på 57 00:02:54,540 --> 00:02:58,940 du har lagt merke til nå forkortelsen PWM under digital 58 00:02:58,940 --> 00:03:00,520 pin delen. 59 00:03:00,520 --> 00:03:03,750 Dette står for Pulse Width Modulation. 60 00:03:03,750 --> 00:03:07,260 PWM manipulerer spenningen over tid å produsere 61 00:03:07,260 --> 00:03:09,730 modulasjonseffekter som ligner på de 62 00:03:09,730 --> 00:03:11,570 de analoge pinnene. 63 00:03:11,570 --> 00:03:14,630 For eksempel, ved å dreie en lyset på og av raskt for 64 00:03:14,630 --> 00:03:17,640 forskjellige lengder av tid, kan den kontrollere lysets 65 00:03:17,640 --> 00:03:18,680 lysstyrke. 66 00:03:18,680 --> 00:03:21,380 Så du kanskje spørre deg selv, hvis alt du trenger å 67 00:03:21,380 --> 00:03:24,470 gjøre er å gi noen spenning til noen komponent for at det skal fungere, 68 00:03:24,470 --> 00:03:27,040 hvorfor selv har en mikrokontroller? 69 00:03:27,040 --> 00:03:30,100 Vel, la oss ta et høyt nivå titt på en mikrokontroller som 70 00:03:30,100 --> 00:03:32,140 vi kan samhandle med daglig - 71 00:03:32,140 --> 00:03:33,790 vekkerklokken. 72 00:03:33,790 --> 00:03:36,620 Vekkerklokken har mange innganger, for eksempel knapper, 73 00:03:36,620 --> 00:03:40,260 som brukes til å samhandle med vekkerklokke programmet. 74 00:03:40,260 --> 00:03:43,770 Det har også utganger som er light emitting kretser kalles 75 00:03:43,770 --> 00:03:47,620 syv segment skjermer som viser tiden. 76 00:03:47,620 --> 00:03:50,540 Dette er alle styrt av et program som er inneholdt i en 77 00:03:50,540 --> 00:03:52,740 mikrokontroller minne. 78 00:03:52,740 --> 00:03:55,570 Nå, la oss ta en titt på et scenario og se om vi kan 79 00:03:55,570 --> 00:03:58,970 replikere vekkerklokke med denne Arduino. 80 00:03:58,970 --> 00:04:01,240 Du er klar til å gå i dvale, men du må angi 81 00:04:01,240 --> 00:04:03,010 Alarm for å våkne opp. 82 00:04:03,010 --> 00:04:06,100 Vi vet at ved å bruke noen av knappene kan vi sette noen 83 00:04:06,100 --> 00:04:08,730 variable, tid, som gir programmet en 84 00:04:08,730 --> 00:04:10,040 stand, må oppfylle. 85 00:04:10,040 --> 00:04:13,860 Eksempel, når denne tiden er sant, bør programmet sende 86 00:04:13,860 --> 00:04:17,130 et signal til en annen pinne som er koblet til en høyttaler. 87 00:04:17,130 --> 00:04:19,860 Og når dette signalet mottas av høyttaleren, det 88 00:04:19,860 --> 00:04:22,130 bør spille en forferdelig lyd. 89 00:04:22,130 --> 00:04:25,300 La oss bruke en enkel krets for å gi deg noen sammenheng med hva 90 00:04:25,300 --> 00:04:26,860 Jeg snakker om. 91 00:04:26,860 --> 00:04:29,760 Så nå at alarmen er satt, er tilstanden nå lagret 92 00:04:29,760 --> 00:04:31,170 i programmets minne. 93 00:04:31,170 --> 00:04:34,840 Og etter bare ni sekunder søvn, hører du den forferdelige 94 00:04:34,840 --> 00:04:36,836 alarm høres unna. 95 00:04:36,836 --> 00:04:38,820 Jeg kommer til å gå videre og plug-in alarm her. 96 00:04:47,410 --> 00:04:51,330 Nå ønsker vi ikke å få opp helt ennå, så vi føler for det 97 00:04:51,330 --> 00:04:52,650 snooze-knapp. 98 00:04:52,650 --> 00:04:56,280 Vi la den sovende student stoppet opp, eller avbryte denne forferdelige 99 00:04:56,280 --> 00:04:59,470 alarmlyd, ved bare å trykke på den knappen. 100 00:04:59,470 --> 00:05:02,620 Men hva skjer egentlig når microcontroller program 101 00:05:02,620 --> 00:05:05,420 mottar et signal fra snooze-knappen? 102 00:05:05,420 --> 00:05:07,630 Vel, når snooze-knappen trykkes, er et signal 103 00:05:07,630 --> 00:05:09,830 mottas på en annen pinne. 104 00:05:09,830 --> 00:05:12,740 Generelt sett, når programmet mottar denne inngang fra 105 00:05:12,740 --> 00:05:16,480 pin den reagerer ved å kalle noen funksjon for å forsinke, eller sove, 106 00:05:16,480 --> 00:05:19,600 signalet som ble sendt til vår speaker pin. 107 00:05:19,600 --> 00:05:23,540 Denne forsinkelsen eller søvn er for noen konstant tid som 108 00:05:23,540 --> 00:05:28,760 vanligvis er ca ni minutter, eller i Arduino vilkår, 540000 109 00:05:28,760 --> 00:05:30,340 millisekunder. 110 00:05:30,340 --> 00:05:33,380 Hvis vekkerklokken ikke er slått av før snooze 111 00:05:33,380 --> 00:05:36,540 timeren depletes, vil programmet tilstand sende en annen 112 00:05:36,540 --> 00:05:39,560 signalisere til talerens pin, og dermed snu 113 00:05:39,560 --> 00:05:42,350 alarmen på nytt. 114 00:05:42,350 --> 00:05:46,610 Nå, hva gjør Arduino spesielt å CS50 er dens 115 00:05:46,610 --> 00:05:50,370 utviklingsmiljø bruker C-språk, og gir deg 116 00:05:50,370 --> 00:05:53,970 myndighet til å anvende kunnskap i en mer direkte 117 00:05:53,970 --> 00:05:56,000 hands-on måte. 118 00:05:56,000 --> 00:05:58,750 Selv om vi ikke berøre de andre spesielle pins 119 00:05:58,750 --> 00:06:01,310 involvert med Arduino, anbefaler jeg at du besøker 120 00:06:01,310 --> 00:06:05,090 spesifikasjon og lese om sine evner ytterligere. 121 00:06:05,090 --> 00:06:07,340 I en annen video, vil vi utforske Arduino 122 00:06:07,340 --> 00:06:10,420 utviklingsmiljø på CS50 apparatet og skrive 123 00:06:10,420 --> 00:06:13,200 første mikrokontroller programmet. 124 00:06:13,200 --> 00:06:16,700 Mitt navn er Christopher Bartholomew, er dette CS50.