1 00:00:06,678 --> 00:00:08,800 [Powered by Google Translate] CHRISTOPHER BARTOLOMEO: Quindi hai probabilmente sentito un 2 00:00:08,800 --> 00:00:11,610 molto di Arduino, e tutti i modi brillanti potrebbe essere 3 00:00:11,610 --> 00:00:15,270 programmato con C per ricevere l'input da dispositivi periferici 4 00:00:15,270 --> 00:00:17,760 come pulsanti, sensori e le manopole. 5 00:00:17,760 --> 00:00:20,970 Oppure visualizzare e controllare l'output attraverso componenti fisici 6 00:00:20,970 --> 00:00:24,130 come luci, altoparlanti, servi e motori. 7 00:00:24,130 --> 00:00:27,510 Ma che cosa è un Arduino, davvero? 8 00:00:27,510 --> 00:00:30,640 Un Arduino è un tipo di microcontrollore, e 9 00:00:30,640 --> 00:00:33,920 microcontrollore può essere pensato come una molto ridotta 10 00:00:33,920 --> 00:00:36,530 computer che contiene componenti come un 11 00:00:36,530 --> 00:00:39,550 processore, piccole quantità di memoria per memorizzare semplice 12 00:00:39,550 --> 00:00:42,720 programmi, e vari ingressi / uscite che producono 13 00:00:42,720 --> 00:00:45,090 una corrente elettrica a seguito di 14 00:00:45,090 --> 00:00:47,330 istruzioni del programma. 15 00:00:47,330 --> 00:00:50,790 I perni su un Arduino sono qui per interfacciarsi con il 16 00:00:50,790 --> 00:00:54,210 componenti fisici come i LED, altoparlanti, sensori, 17 00:00:54,210 --> 00:00:56,860 motori, e molto altro ancora. 18 00:00:56,860 --> 00:01:00,660 Si tratta di un R3 Arduino Uno che useremo 19 00:01:00,660 --> 00:01:02,210 durante tutto il corso. 20 00:01:02,210 --> 00:01:04,660 In questo video, io vado su solo alcuni dei principali 21 00:01:04,660 --> 00:01:06,110 componenti di questa scheda. 22 00:01:06,110 --> 00:01:09,540 Tuttavia, se desideri ulteriori informazioni, che vi consiglio 23 00:01:09,540 --> 00:01:12,390 leggere, visitare il link per la Arduino Uno è piena 24 00:01:12,390 --> 00:01:13,800 specifica. 25 00:01:13,800 --> 00:01:19,060 Alimentazione per la scheda può essere ricevuto da USB, AC esterno 26 00:01:19,060 --> 00:01:24,860 di alimentatori DC, o connettori della batteria. 27 00:01:24,860 --> 00:01:29,620 Per questi esercizi video, useremo USB per l'alimentazione. 28 00:01:29,620 --> 00:01:32,390 Se sei interessato in altri modi per fornire alimentazione al 29 00:01:32,390 --> 00:01:35,940 Scheda Arduino o per sapere di più su i piedini di alimentazione, 30 00:01:35,940 --> 00:01:38,830 si prega di consultare la sezione di potenza della specifica 31 00:01:38,830 --> 00:01:40,530 link fornito. 32 00:01:40,530 --> 00:01:44,350 Successivamente, vi sono due sezioni principali perno su un Arduino che 33 00:01:44,350 --> 00:01:48,870 allo scopo di fornire tensione per i nostri componenti - 34 00:01:48,870 --> 00:01:53,070 pin pin di ingresso digitali e analogici. 35 00:01:53,070 --> 00:01:54,840 Prima di andare avanti, andiamo 36 00:01:54,840 --> 00:01:57,380 capire questi due termini. 37 00:01:57,380 --> 00:02:00,450 Pin di ingresso analogici sono per componenti quali manopole, 38 00:02:00,450 --> 00:02:03,150 che creano segnali analogici. 39 00:02:03,150 --> 00:02:05,320 Una manopola può fornire diverse quantità di resistenza 40 00:02:05,320 --> 00:02:09,000 tensione tra i due perni che è connesso. 41 00:02:09,000 --> 00:02:11,295 Prendete, per esempio, un variatore di luce. 42 00:02:11,295 --> 00:02:13,960 Quando la manopola viene ruotato in una direzione, la luce 43 00:02:13,960 --> 00:02:17,340 diventano più luminosi perché i diminuisce resistenza. 44 00:02:17,340 --> 00:02:20,400 Questo fornisce una corrente elettrica alla forte 45 00:02:20,400 --> 00:02:23,830 componente, che si traduce in una luce brillante. 46 00:02:23,830 --> 00:02:27,130 Ora i pin digitali sono leggermente differente in quanto 47 00:02:27,130 --> 00:02:29,910 producono un segnale digitale che è dipendente dalla 48 00:02:29,910 --> 00:02:32,650 quantità di tensione attraverso i perni. 49 00:02:32,650 --> 00:02:35,950 I segnali digitali per la Arduino si trovano in a 5 50 00:02:35,950 --> 00:02:40,300 volt, o terra che significa spento o zero volt. 51 00:02:40,300 --> 00:02:42,570 Prendiamo ad esempio un interruttore della luce. 52 00:02:42,570 --> 00:02:44,320 Un interruttore della luce ha due valori - 53 00:02:44,320 --> 00:02:45,870 e spegnimento. 54 00:02:45,870 --> 00:02:48,120 Quando si accende la luce con l'interruttore, si è 55 00:02:48,120 --> 00:02:51,270 fornire piena potenza a quella luce. 56 00:02:51,270 --> 00:02:54,540 Beh, in materia di digitale e analogico, sono sicuro 57 00:02:54,540 --> 00:02:58,940 avete notato ormai l'acronimo PWM con il digitale 58 00:02:58,940 --> 00:03:00,520 pin sezione. 59 00:03:00,520 --> 00:03:03,750 Questo è l'acronimo di Pulse Width Modulation. 60 00:03:03,750 --> 00:03:07,260 PWM manipola la tensione nel tempo per la produzione di 61 00:03:07,260 --> 00:03:09,730 effetti di modulazione che sono simili a quelli 62 00:03:09,730 --> 00:03:11,570 dei perni analogici. 63 00:03:11,570 --> 00:03:14,630 Ad esempio, girando una luce e si spegne rapidamente per 64 00:03:14,630 --> 00:03:17,640 tempi diversi, si può controllare la luce di 65 00:03:17,640 --> 00:03:18,680 luminosità. 66 00:03:18,680 --> 00:03:21,380 Così si potrebbe essere se stessi chiedendo, se tutto ciò che dovete 67 00:03:21,380 --> 00:03:24,470 fare è fornire un po 'di tensione per qualche componente per farlo funzionare, 68 00:03:24,470 --> 00:03:27,040 perché anche avere un microcontrollore? 69 00:03:27,040 --> 00:03:30,100 Bene, diamo uno sguardo ad alto livello ad un microcontrollore che 70 00:03:30,100 --> 00:03:32,140 si può interagire con tutti i giorni - 71 00:03:32,140 --> 00:03:33,790 la sveglia. 72 00:03:33,790 --> 00:03:36,620 La sveglia ha molti ingressi, ad esempio pulsanti, 73 00:03:36,620 --> 00:03:40,260 che vengono utilizzati per interagire con il programma sveglia. 74 00:03:40,260 --> 00:03:43,770 Ha anche uscite, che sono circuiti che emettono luce chiamati 75 00:03:43,770 --> 00:03:47,620 sette segmenti display che indicano il tempo. 76 00:03:47,620 --> 00:03:50,540 Il tutto è controllato da un programma che è contenuto in un 77 00:03:50,540 --> 00:03:52,740 microcontrollore memoria. 78 00:03:52,740 --> 00:03:55,570 Ora, diamo un'occhiata a uno scenario e vedere se possiamo 79 00:03:55,570 --> 00:03:58,970 replicare la sveglia con questo Arduino. 80 00:03:58,970 --> 00:04:01,240 Sei pronto per andare a dormire, ma è necessario impostare il 81 00:04:01,240 --> 00:04:03,010 allarme per svegliarsi. 82 00:04:03,010 --> 00:04:06,100 Sappiamo che utilizzando alcuni pulsanti si può impostare un po 'di 83 00:04:06,100 --> 00:04:08,730 variabile, il tempo, che dà il programma di 84 00:04:08,730 --> 00:04:10,040 condizione deve soddisfare. 85 00:04:10,040 --> 00:04:13,860 Come ad esempio, quando questa volta è vero, il programma deve inviare 86 00:04:13,860 --> 00:04:17,130 un segnale ad un altro pin che è collegato ad un altoparlante. 87 00:04:17,130 --> 00:04:19,860 E quando questo segnale viene ricevuto dal diffusore, 88 00:04:19,860 --> 00:04:22,130 dovrebbe svolgere un suono terribile. 89 00:04:22,130 --> 00:04:25,300 Usiamo un semplice circuito per darvi un po 'di contesto, di quanto 90 00:04:25,300 --> 00:04:26,860 Sto parlando. 91 00:04:26,860 --> 00:04:29,760 Quindi, ora che l'allarme è impostato, la sua condizione è stato memorizzato 92 00:04:29,760 --> 00:04:31,170 nella memoria del programma. 93 00:04:31,170 --> 00:04:34,840 E dopo soli nove secondi di sonno, si sente il terribile 94 00:04:34,840 --> 00:04:36,836 allarme suono lontano. 95 00:04:36,836 --> 00:04:38,820 Ho intenzione di andare avanti e di plug-in qui il nostro allarme. 96 00:04:47,410 --> 00:04:51,330 Ora, non vogliamo alzare ancora del tutto, quindi ci sentiamo per la 97 00:04:51,330 --> 00:04:52,650 snooze pulsante. 98 00:04:52,650 --> 00:04:56,280 Abbiamo lasciato la fermata studente dorme, o interrompano questo terribile 99 00:04:56,280 --> 00:04:59,470 allarme sonoro, semplicemente premendo quel pulsante. 100 00:04:59,470 --> 00:05:02,620 Ma ciò che realmente accade quando il programma del microcontrollore 101 00:05:02,620 --> 00:05:05,420 riceve un segnale dal pulsante snooze? 102 00:05:05,420 --> 00:05:07,630 Beh, quando il pulsante snooze è premuto, il segnale è 103 00:05:07,630 --> 00:05:09,830 ricevuto su un perno differente. 104 00:05:09,830 --> 00:05:12,740 In generale, quando il programma riceve questo ingresso dal 105 00:05:12,740 --> 00:05:16,480 pin reagisce chiamando una funzione di ritardare, o dormire, 106 00:05:16,480 --> 00:05:19,600 il segnale che è stato inviato al nostro pin diffusore. 107 00:05:19,600 --> 00:05:23,540 Questo ritardo o il sonno è per qualche tempo costante, che 108 00:05:23,540 --> 00:05:28,760 di solito è di circa nove minuti, o in termini Arduino, 540.000 109 00:05:28,760 --> 00:05:30,340 millisecondi. 110 00:05:30,340 --> 00:05:33,380 Se la sveglia non si spegne prima che l'intervallo di ripetizione 111 00:05:33,380 --> 00:05:36,540 timer esaurisce, le condizioni del programma invierà un altro 112 00:05:36,540 --> 00:05:39,560 segnalare al pin di chi parla, trasformando così 113 00:05:39,560 --> 00:05:42,350 l'allarme di nuovo. 114 00:05:42,350 --> 00:05:46,610 Ora, ciò che rende speciale per CS50 Arduino è la sua 115 00:05:46,610 --> 00:05:50,370 ambiente di sviluppo usa il linguaggio C, dando la 116 00:05:50,370 --> 00:05:53,970 potere di applicare le conoscenze acquisite in modo più diretto 117 00:05:53,970 --> 00:05:56,000 hands-on modo. 118 00:05:56,000 --> 00:05:58,750 Anche se non ha investito gli altri piedini speciali 119 00:05:58,750 --> 00:06:01,310 coinvolto con il Arduino, vi consiglio di visitare il 120 00:06:01,310 --> 00:06:05,090 specifica e leggere le loro capacità ulteriormente. 121 00:06:05,090 --> 00:06:07,340 In un altro video, esploreremo il Arduino 122 00:06:07,340 --> 00:06:10,420 ambiente di sviluppo sull'apparecchio CS50 e scrivere la nostra 123 00:06:10,420 --> 00:06:13,200 microcontrollore prima applicazione. 124 00:06:13,200 --> 00:06:16,700 Il mio nome è Christopher Bartolomeo, questo è CS50.