1 00:00:06,678 --> 00:00:08,800 [Powered by Google Translate] CHRISTOPHER Bartholomew: Så du har förmodligen hört en 2 00:00:08,800 --> 00:00:11,610 mycket om Arduino, och alla de lysande sätt det kan vara 3 00:00:11,610 --> 00:00:15,270 programmeras med C för att ta emot synpunkter från kringutrustning 4 00:00:15,270 --> 00:00:17,760 som knappar, sensorer och knoppar. 5 00:00:17,760 --> 00:00:20,970 Eller visa och styra ut genom fysiska komponenter 6 00:00:20,970 --> 00:00:24,130 som lampor, högtalare, servon och motorer. 7 00:00:24,130 --> 00:00:27,510 Men vad är en Arduino, egentligen? 8 00:00:27,510 --> 00:00:30,640 En Arduino är en typ av mikrokontroller, och en 9 00:00:30,640 --> 00:00:33,920 mikrokontroller kan ses som en mycket skalas ned 10 00:00:33,920 --> 00:00:36,530 dator som innehåller komponenter såsom en 11 00:00:36,530 --> 00:00:39,550 processorn, små mängder minne för lagring enkel 12 00:00:39,550 --> 00:00:42,720 program och olika input / output pins som producerar 13 00:00:42,720 --> 00:00:45,090 en elektrisk ström som en följd av 14 00:00:45,090 --> 00:00:47,330 instruktionerna i ditt program. 15 00:00:47,330 --> 00:00:50,790 Stiften på en Arduino är här för att samverka med 16 00:00:50,790 --> 00:00:54,210 fysiska komponenter såsom lysdioder, högtalare, sensorer, 17 00:00:54,210 --> 00:00:56,860 motorer, och så mycket mer. 18 00:00:56,860 --> 00:01:00,660 Detta är en Arduino Uno R3 som vi kommer att använda 19 00:01:00,660 --> 00:01:02,210 under kursens gång. 20 00:01:02,210 --> 00:01:04,660 I den här videon, kommer jag att gå över några av de viktigaste 21 00:01:04,660 --> 00:01:06,110 komponenter i denna styrelse. 22 00:01:06,110 --> 00:01:09,540 Men om du vill ha mer information, som jag rekommenderar 23 00:01:09,540 --> 00:01:12,390 du läser, besök länken för Arduino Uno fulla 24 00:01:12,390 --> 00:01:13,800 specifikation. 25 00:01:13,800 --> 00:01:19,060 Kraft för styrelsen kan tas emot från USB, extern AC 26 00:01:19,060 --> 00:01:24,860 till DC nätaggregat eller genom batterikontakterna. 27 00:01:24,860 --> 00:01:29,620 För dessa video övningar kommer vi att använda USB för ström. 28 00:01:29,620 --> 00:01:32,390 Om du är intresserad av andra sätt att ge ström till din 29 00:01:32,390 --> 00:01:35,940 Arduino styrelse eller vill veta mer om matningen, 30 00:01:35,940 --> 00:01:38,830 hänvisas till effektdelen av beskrivningen 31 00:01:38,830 --> 00:01:40,530 länken. 32 00:01:40,530 --> 00:01:44,350 Sedan finns det två huvudsakliga stift avsnitt om en Arduino som vi 33 00:01:44,350 --> 00:01:48,870 använder för att ge spänning till våra komponenter - 34 00:01:48,870 --> 00:01:53,070 digitala stift och analoga stift ingång. 35 00:01:53,070 --> 00:01:54,840 Innan vi går vidare, låt oss 36 00:01:54,840 --> 00:01:57,380 förstå dessa två termer. 37 00:01:57,380 --> 00:02:00,450 Analog ingång stift är för komponenter som rattar, 38 00:02:00,450 --> 00:02:03,150 som skapar analoga signaler. 39 00:02:03,150 --> 00:02:05,320 En knopp kan ge olika mängder av resistens mot 40 00:02:05,320 --> 00:02:09,000 spänningen mellan de två stiften som den är ansluten till. 41 00:02:09,000 --> 00:02:11,295 Ta till exempel, en ljusregulator. 42 00:02:11,295 --> 00:02:13,960 Eftersom vredet vrids i en riktning, ljuset kommer 43 00:02:13,960 --> 00:02:17,340 bli ljusare eftersom motståndet minskar. 44 00:02:17,340 --> 00:02:20,400 Detta ger en starkare elektrisk ström till 45 00:02:20,400 --> 00:02:23,830 komponent, vilket resulterar i en ljusare ljus. 46 00:02:23,830 --> 00:02:27,130 Nu digitala stiften är något annorlunda i den 47 00:02:27,130 --> 00:02:29,910 de producerar en digital signal som är beroende av 48 00:02:29,910 --> 00:02:32,650 mängden av spänningen över stiften. 49 00:02:32,650 --> 00:02:35,950 Digitala signaler för Arduino är antingen på vid 5 50 00:02:35,950 --> 00:02:40,300 volt, eller jordad betyder av, eller noll volt. 51 00:02:40,300 --> 00:02:42,570 Ta till exempel en strömbrytare. 52 00:02:42,570 --> 00:02:44,320 En strömbrytare har två värden - 53 00:02:44,320 --> 00:02:45,870 på och av. 54 00:02:45,870 --> 00:02:48,120 När du slår på ljuset på med strömbrytaren, du 55 00:02:48,120 --> 00:02:51,270 ger full effekt till det ljuset. 56 00:02:51,270 --> 00:02:54,540 Tja, på temat digitala och analoga, jag är säker 57 00:02:54,540 --> 00:02:58,940 du har märkt vid det här laget akronymen PWM enligt den digitala 58 00:02:58,940 --> 00:03:00,520 pin. 59 00:03:00,520 --> 00:03:03,750 Detta står för Pulse Width Modulation. 60 00:03:03,750 --> 00:03:07,260 PWM manipulerar spänningen över tiden för att producera 61 00:03:07,260 --> 00:03:09,730 modulering effekter som liknar dem 62 00:03:09,730 --> 00:03:11,570 av de analoga stiften. 63 00:03:11,570 --> 00:03:14,630 Till exempel, genom att vrida en ljus på och av snabbt för 64 00:03:14,630 --> 00:03:17,640 olika lång tid, kan det styra ljusets 65 00:03:17,640 --> 00:03:18,680 ljusstyrka. 66 00:03:18,680 --> 00:03:21,380 Så du kanske frågar dig själv, om allt du behöver 67 00:03:21,380 --> 00:03:24,470 göra är att ge viss spänning till någon komponent för att det ska fungera, 68 00:03:24,470 --> 00:03:27,040 varför ens ha en mikrokontroller? 69 00:03:27,040 --> 00:03:30,100 Nåväl, låt oss ta en hög nivå titt på en mikrokontroller som 70 00:03:30,100 --> 00:03:32,140 Vi kan interagera med dagligen - 71 00:03:32,140 --> 00:03:33,790 väckarklockan. 72 00:03:33,790 --> 00:03:36,620 Alarmet har många ingångar, till exempel knappar, 73 00:03:36,620 --> 00:03:40,260 som används för att interagera med väckarklockan programmet. 74 00:03:40,260 --> 00:03:43,770 Det har också utgångar som är ljusemitterande kallas kretsar 75 00:03:43,770 --> 00:03:47,620 syv segment displayer som visar tiden. 76 00:03:47,620 --> 00:03:50,540 Detta är alla styrs av ett program som finns i en 77 00:03:50,540 --> 00:03:52,740 mikrokontroller minne. 78 00:03:52,740 --> 00:03:55,570 Nu ska vi ta en titt på ett scenario och se om vi kan 79 00:03:55,570 --> 00:03:58,970 replikera väckarklocka med detta Arduino. 80 00:03:58,970 --> 00:04:01,240 Du är redo att gå i vila, men du måste ställa in 81 00:04:01,240 --> 00:04:03,010 larm att vakna. 82 00:04:03,010 --> 00:04:06,100 Vi vet att genom att använda några knappar kan vi ställa några 83 00:04:06,100 --> 00:04:08,730 variabel, tid, som ger programmet en 84 00:04:08,730 --> 00:04:10,040 tillstånd måste uppfylla. 85 00:04:10,040 --> 00:04:13,860 Såsom när den här gången är sant, bör programmet skicka 86 00:04:13,860 --> 00:04:17,130 en signal till ett annat stift som är ansluten till en högtalare. 87 00:04:17,130 --> 00:04:19,860 Och när denna signal mottas av högtalaren, den 88 00:04:19,860 --> 00:04:22,130 bör spela en förfärlig ljud. 89 00:04:22,130 --> 00:04:25,300 Låt oss använda en enkel krets för att ge dig något sammanhang vad 90 00:04:25,300 --> 00:04:26,860 Jag talar om. 91 00:04:26,860 --> 00:04:29,760 Så nu att ditt larm är inställt, är ditt tillstånd nu lagrad 92 00:04:29,760 --> 00:04:31,170 i programmets minne. 93 00:04:31,170 --> 00:04:34,840 Och efter bara nio sekunder sömn, hör du det fruktansvärda 94 00:04:34,840 --> 00:04:36,836 larm ljuda borta. 95 00:04:36,836 --> 00:04:38,820 Jag ska gå vidare och plug-in våra larm här. 96 00:04:47,410 --> 00:04:51,330 Nu vill vi inte att få upp riktigt än, så vi känner för det 97 00:04:51,330 --> 00:04:52,650 snooze-knappen. 98 00:04:52,650 --> 00:04:56,280 Vi låter den sovande eleven stanna, eller avbryta denna hemska 99 00:04:56,280 --> 00:04:59,470 larmet, genom att bara trycka på den knappen. 100 00:04:59,470 --> 00:05:02,620 Men vad händer egentligen när mikrokontroller program 101 00:05:02,620 --> 00:05:05,420 emot en signal från snooze-knappen? 102 00:05:05,420 --> 00:05:07,630 Jo, när snooze-knappen trycks in, är en signal 103 00:05:07,630 --> 00:05:09,830 emot på en annan pinne. 104 00:05:09,830 --> 00:05:12,740 I allmänhet, när programmet mottar denna insignal från 105 00:05:12,740 --> 00:05:16,480 stift den reagerar genom att anropa någon funktion för att fördröja eller sova, 106 00:05:16,480 --> 00:05:19,600 den signal som skickades till vårt högtalare stift. 107 00:05:19,600 --> 00:05:23,540 Denna försening eller sömn under en konstant tid som 108 00:05:23,540 --> 00:05:28,760 vanligtvis är cirka nio minuter, eller Arduino termer, 540.000 109 00:05:28,760 --> 00:05:30,340 millisekunder. 110 00:05:30,340 --> 00:05:33,380 Om väckarklockan inte är avstängd innan snooze 111 00:05:33,380 --> 00:05:36,540 timer tär, kommer programmet tillstånd skicka en annan 112 00:05:36,540 --> 00:05:39,560 signal till talarens stift, vilket vänder 113 00:05:39,560 --> 00:05:42,350 larmet igen. 114 00:05:42,350 --> 00:05:46,610 Nu gör vad Arduino speciell för CS50 är dess 115 00:05:46,610 --> 00:05:50,370 utvecklingsmiljö använder C-språket, vilket ger dig 116 00:05:50,370 --> 00:05:53,970 befogenhet att tillämpa kunskaper på ett mer direkt 117 00:05:53,970 --> 00:05:56,000 praktisk väg. 118 00:05:56,000 --> 00:05:58,750 Även om vi inte beröra de andra särskilda stift 119 00:05:58,750 --> 00:06:01,310 involverad i Arduino, rekommenderar jag att du besöker 120 00:06:01,310 --> 00:06:05,090 specifikation och läsa om deras kapacitet ytterligare. 121 00:06:05,090 --> 00:06:07,340 I en annan video, kommer vi att undersöka Arduino 122 00:06:07,340 --> 00:06:10,420 utvecklingsmiljö för CS50 maskinen och skriva vår 123 00:06:10,420 --> 00:06:13,200 1:e mikrokontroller ansökan. 124 00:06:13,200 --> 00:06:16,700 Mitt namn är Christopher Bartholomew, det här CS50.