Iniziare con Arduino: una guida per principianti

Iniziare con Arduino: una guida per principianti

Arduino è una piattaforma di prototipazione elettronica open source ed è una delle più popolari al mondo, con la possibile eccezione del Raspberry Pi. Dopo aver venduto oltre 3 milioni di unità (e molti altri sotto forma di dispositivi clone di terze parti): cosa lo rende così buono e cosa puoi fare con uno?





Cos'è Arduino?

Arduino si basa su hardware e software facili da usare, flessibili. È fatto per artisti, designer, ingegneri, hobbisti e chiunque abbia il minimo interesse per l'elettronica programmabile.





Arduino rileva l'ambiente leggendo i dati da vari pulsanti, componenti e sensori. Possono avere un impatto sull'ambiente controllando i LED, motori , servi, relè e molto altro.





I progetti Arduino possono essere autonomi o possono comunicare con software in esecuzione su un computer ( in lavorazione è il software più popolare per questo). Possono parlare con altri Arduino, Raspberry Pi, NodeMCU o quasi qualsiasi altra cosa. Assicurati di leggere il nostro confronto tra microcontrollori da $ 5 per un confronto approfondito delle differenze tra questi microcontrollori.

Ti starai chiedendo, perché scegliere Arduino? Arduino semplifica davvero il processo di creazione di un progetto di elettronica programmabile, rendendolo un'ottima piattaforma per i principianti. Puoi facilmente iniziare a lavorare su uno senza precedenti esperienze di elettronica. Ci sono migliaia di tutorial disponibili e questi variano in difficoltà, quindi puoi essere sicuro di una sfida una volta padroneggiate le basi.



Oltre alla semplicità di Arduino, è anche economico, multipiattaforma e open source. L'Arduino Uno (il modello più popolare) è basato sui microcontrollori ATMEGA 16U2 di Atmel. Esistono molti modelli diversi prodotti, che variano per dimensioni, potenza e specifiche, quindi dai un'occhiata alla nostra guida all'acquisto per tutte le differenze.

I piani per le schede sono pubblicati sotto a Creative Commons licenza, quindi hobbisti esperti e altri produttori sono liberi di creare la propria versione di Arduino, potenzialmente estendendola e migliorandola (o semplicemente copiandola completamente, portando alla proliferazione di schede Arduino a basso costo che troviamo oggi).





Cosa puoi fare con un Arduino?

Un Arduino può fare un numero impressionante di cose. Sono il cervello scelto per la maggior parte delle stampanti 3D. Il loro basso costo e la facilità d'uso significano che migliaia di creatori, designer, hacker e creatori hanno realizzato progetti sorprendenti. Ecco alcuni dei progetti Arduino che abbiamo realizzato qui su MakeUseOf:

Cosa c'è dentro un Arduino?

Sebbene siano disponibili molti tipi diversi di schede Arduino, questo manuale si concentra sul Arduino uno modello. Questa è la scheda Arduino più popolare in circolazione. Quindi cosa fa funzionare questa cosa? Ecco le specifiche:





  • Processore: 16 Mhz ATmega16U2
  • Memoria flash: 32 KB
  • Ariete: 2 KB
  • Tensione di esercizio: 5V
  • Tensione di ingresso: 7-12V
  • Numero di ingressi analogici: 6
  • Numero di I/O digitali: 14 (6 dei quali a modulazione di ampiezza dell'impulso -- PWM )

Le specifiche possono sembrare spazzatura rispetto al tuo computer desktop, ma ricorda che Arduino è un dispositivo integrato, con molte meno informazioni da elaborare rispetto al tuo desktop. È più che capace per la maggior parte dei progetti di elettronica.

Un'altra meravigliosa caratteristica di Arduino è la possibilità di utilizzare quelli che vengono chiamati 'scudi' o schede aggiuntive. Sebbene gli scudi non saranno trattati in questo manuale, sono un modo davvero accurato per estendere le caratteristiche e le funzionalità del tuo Arduino.

Cosa ti servirà per questa guida

Di seguito troverai una lista della spesa dei componenti necessari per questa guida per principianti. Tutti questi componenti dovrebbero arrivare a meno di $ 50 in totale. Questo elenco dovrebbe essere sufficiente per darti una buona comprensione dell'elettronica di base e avere abbastanza componenti per costruire alcuni progetti piuttosto interessanti usando questa o qualsiasi altra guida Arduino. Se non vuoi selezionare ogni singolo componente, potresti prendere in considerazione l'acquisto di uno starter kit.

Se non riesci a ottenere un valore specifico del resistore, qualcosa il più vicino possibile di solito funzionerà bene.

Panoramica dei componenti elettrici

Diamo un'occhiata a cosa sono esattamente tutti questi componenti, cosa fanno e che aspetto hanno.

tagliere

Utilizzati per prototipare circuiti elettronici, forniscono un mezzo temporaneo per collegare i componenti insieme. Le breadboard sono blocchi di plastica con fori all'interno, in cui è possibile inserire i fili. I fori sono disposti in file, in gruppi di cinque. Quando si desidera riorganizzare un circuito, estrarre il filo o la parte dal foro e spostarlo. Molte breadboard contengono due o quattro gruppi di fori che corrono per tutta la lunghezza della scheda, lungo i lati, e sono tutti collegati: questi sono in genere per la distribuzione dell'alimentazione e possono essere etichettati con una linea rossa e blu.

Le breadboard sono ottime per produrre velocemente un circuito. Possono diventare molto disordinati per un circuito di grandi dimensioni e i modelli più economici possono essere notoriamente inaffidabili, quindi vale la pena spendere un po' di più per un buon circuito.

LED

LED sta per Diodo ad emissione luminosa . Sono una fonte di luce molto economica e possono essere molto luminose, specialmente se raggruppate insieme. Possono essere acquistati in una varietà di colori, non diventano particolarmente caldi e durano a lungo. Potresti avere dei LED nel televisore, nel cruscotto dell'auto o nelle lampadine Philips Hue .

Il tuo microcontrollore Arduino ha anche un LED integrato sul pin 13 che viene spesso utilizzato per indicare un'azione o un evento o solo per i test.

Fotoresistenza

Una fotoresistenza ( P fotocellula o Resistenza dipendente dalla luce ) consente al tuo Arduino di misurare i cambiamenti di luce. Potresti usarlo per accendere il tuo computer quando è giorno, per esempio.

Interruttore tattile

non voglio una smart tv

Un interruttore tattile è fondamentalmente un pulsante. Premendolo si completerà il circuito e (solitamente) cambierà da 0V a +5V. Arduino può rilevare questo cambiamento e rispondere di conseguenza. Questi sono spesso momentaneo - significa che vengono 'premuti' solo quando il dito li tiene premuti. Una volta che li lasci andare, torneranno al loro stato predefinito ('non premuto' o spento).

Altoparlante piezo

Un altoparlante piezoelettrico è un piccolo altoparlante che produce suoni da segnali elettrici. Sono spesso aspri e metallici e non suonano come un vero altoparlante. Detto questo, sono molto economici e facili da programmare. Il nostro gioco Buzz Wire ne usa uno per giocare a La sigla di 'Flying Circus' dei Monty Python .

Resistore

Un resistore limita il flusso di elettricità. Sono componenti molto economici e un punto fermo dei circuiti elettronici amatoriali e professionali. Sono quasi sempre necessari per proteggere i componenti dal sovraccarico. Sono anche necessari per prevenire un cortocircuito se Arduino +5V si collega direttamente a terra. Insomma: molto maneggevole e assolutamente indispensabile.

Cavi per ponticelli

I cavi dei ponticelli vengono utilizzati per creare connessioni temporanee tra i componenti sulla breadboard.

Configurare Arduino

Prima di iniziare qualsiasi progetto, devi far parlare Arduino con il tuo computer. Ciò ti consente di scrivere e compilare codice per l'esecuzione di Arduino, oltre a fornire un modo per il tuo Arduino di funzionare insieme al tuo computer.

Installazione del pacchetto software Arduino su Windows

Dirigiti verso il Sito web Arduino e scarica una versione del software Arduino adatta alla tua versione di Windows. Una volta scaricato, segui le istruzioni per installare Arduino Ambiente di sviluppo integrato (QUI).

L'installazione include i driver, quindi in teoria dovresti essere pronto per iniziare subito. Se per qualche motivo non riesce, prova questi passaggi per installare i driver manualmente:

  • Collega la tua scheda e attendi che Windows inizi il processo di installazione del driver. Dopo alcuni istanti, il processo fallirà, nonostante i suoi migliori sforzi.
  • Clicca su Menu iniziale > Pannello di controllo .
  • Navigare verso Sistema e sicurezza > Sistema . Una volta che la finestra Sistema è aperta, apri il Gestore dispositivi .
  • Sotto porti (COM e LPT), dovresti vedere una porta aperta denominata Arduino UNO (COMxx) .
  • Fare clic con il tasto destro su Arduino UNO (COMxx) > Aggiorna il software del driver .
  • Scegliere Sfoglia il mio computer per il software del driver .
  • Individua e seleziona il file del driver di Uno, denominato ArduinoUNO.inf , situato in Autisti cartella del download del software Arduino.

Windows terminerà l'installazione del driver da lì.

Installazione del pacchetto software Arduino su Mac OS

Scarica il software Arduino per Mac dal Sito web Arduino . Estrarre il contenuto del .cerniera lampo file ed eseguire l'app. Puoi copiarlo nella cartella delle applicazioni, ma funzionerà perfettamente dal tuo desktop o download cartelle. Non è necessario installare alcun driver aggiuntivo per Arduino UNO.

Installazione del software Arduino sul pacchetto Ubuntu/Linux

Installare gcc-avr e avr-libc :

sudo apt-get install gcc-avr avr-libc

Se non hai già openjdk-6-jre, installa e configura anche quello:

sudo apt-get install openjdk-6-jre
sudo update-alternatives --config java

Seleziona il corretto JRE se ne hai più di uno installato.

Vai al Sito web Arduino e scarica il software Arduino per Linux. Puoi propagazione ed eseguilo con il seguente comando:

tar xzvf arduino-x.x.x-linux64.tgz
cd arduino-1.0.1
./arduino

Indipendentemente dal sistema operativo in uso, le istruzioni precedenti presuppongono che tu abbia una scheda Arduino Uno originale con marchio. Se hai acquistato un clone, avrai quasi sicuramente bisogno di driver di terze parti prima che la scheda venga riconosciuta tramite USB.

Esecuzione del software Arduino

Ora che il software è installato e il tuo Arduino è configurato, verifichiamo che tutto funzioni. Il modo più semplice per farlo è utilizzare l'applicazione di esempio 'Blink'.

Apri il software Arduino facendo doppio clic sull'applicazione Arduino ( ./arduino su Linux ). Assicurati che la scheda sia collegata al computer, quindi apri il LED lampeggiante schizzo di esempio: File > Esempi > 1. Nozioni di base > Battito di ciglia . Dovresti vedere il codice per l'applicazione aperta:

Per caricare questo codice sul tuo Arduino, seleziona la voce in Utensili > Tavola menu che corrisponde al tuo modello -- Arduino uno in questo caso.

Seleziona il dispositivo seriale della tua scheda dal Utensili > Porta seriale menù. Su Windows, è probabile che sia COM3 o più alto. Su Mac o Linux questo dovrebbe essere qualcosa con /dev/tty.usbmodem dentro.

Infine, fai clic su Caricamento pulsante in alto a sinistra del tuo ambiente. Attendi qualche secondo e dovresti vedere il RX e TX I LED su Arduino lampeggiano. Se il caricamento è andato a buon fine, nella barra di stato verrà visualizzato il messaggio 'Caricamento completato'.

Pochi secondi dopo il completamento del caricamento, dovresti vedere il perno 13 Il LED sulla scheda inizia a lampeggiare. Congratulazioni! Hai il tuo Arduino attivo e funzionante.

Progetti iniziali

Ora che conosci le basi, diamo un'occhiata ad alcuni progetti per principianti.

In precedenza hai utilizzato il codice di esempio di Arduino per far lampeggiare il LED di bordo. Questo progetto farà lampeggiare un LED esterno utilizzando una breadboard. Ecco il circuito:

Collegare la gamba lunga del LED (gamba positiva, chiamata anodo ) ad a Resistenza da 220 Ohm e poi al digitale perno 7 . Collega la gamba corta (gamba negativa, chiamata catodo ) direttamente a terreno (qualsiasi delle porte Arduino con GND su di essa, a tua scelta). Questo è un circuito semplice. L'Arduino può controllare digitalmente questo pin. Accendendo il pin si accenderà il led, spegnendolo si spegnerà il led. Il resistore è necessario per proteggere il LED da troppa corrente: si brucerà senza.

Ecco il codice che ti serve:

void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the pin as an output
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(7, HIGH); // turn LED on
delay(1000); // wait 1 second
digitalWrite(7, LOW); // turn LED off
delay(1000); // wait one second
}

Questo codice fa diverse cose:

configurazione nulla(): Questo viene eseguito da Arduino una volta ogni volta che si avvia. Qui è dove puoi configurare le variabili e tutto ciò che il tuo Arduino ha bisogno per eseguire.

pinMode(7, USCITA): Questo dice ad Arduino di usare questo pin come uscita, senza questa linea, Arduino non saprebbe cosa fare con ogni pin. Questo deve essere configurato solo una volta per pin e devi solo configurare i pin che intendi utilizzare.

ciclo vuoto(): Qualsiasi codice all'interno di questo ciclo viene eseguito ripetutamente più e più volte, finché l'Arduino non viene spento. Questo può rendere più complessi i progetti più grandi, ma funziona incredibilmente bene per progetti semplici.

digitalWrite(7, HIGH): Questo è usato per impostare il pin ALTO o BASSO - SU o SPENTO . Proprio come un interruttore della luce, quando il pin è ALTO, il LED sarà acceso. Quando il pin è LOW, il LED sarà spento. All'interno delle parentesi, è necessario specificare alcune informazioni aggiuntive affinché funzioni correttamente. Le informazioni aggiuntive sono note come parametri o argomenti.

Il primo (7) è il numero di pin. Se hai collegato il tuo LED a un pin diverso, ad esempio, lo cambieresti da sette a un altro numero. Il secondo parametro deve essere ALTO o BASSO , che specifica se il LED deve essere acceso o spento.

ritardo(1000): Dice all'Arduino di attendere un periodo di tempo specificato in millisecondi. 1000 millisecondi equivalgono a un secondo, quindi questo farà aspettare Arduino per una volta al secondo.

Una volta che il LED è stato acceso per un secondo, Arduino esegue lo stesso codice, solo che procede a spegnere il LED e attendere un altro secondo. Una volta terminato questo processo, il ciclo ricomincia e il LED si riaccende.

Sfida: Prova a regolare il ritardo tra l'accensione e lo spegnimento del LED. Cosa osservi? Cosa succede se imposti il ​​ritardo su un numero molto piccolo come uno o due? Puoi modificare il codice e il circuito per lampeggiare? Due LED?

Aggiunta di un pulsante

Ora che hai un LED funzionante, aggiungiamo un pulsante al tuo circuito:

Collega il pulsante in modo che colleghi il canale al centro della breadboard. Connetti il in alto a destra gamba a Perno 4 . Connetti il in basso a destra gamba ad a 10k Ohm resistore e poi a terreno . Connetti il in basso a sinistra gamba a 5V .

Forse ti starai chiedendo perché un semplice pulsante ha bisogno di un resistore. Questo serve a due scopi. È un tirare giù resistore: collega il pin a massa. Ciò garantisce che non vengano rilevati valori spuri e impedisce ad Arduino pensiero hai premuto il pulsante quando non l'hai fatto. Il secondo scopo di questo resistore è come limitatore di corrente. Senza di esso, 5V andrebbero direttamente a terra, il fumo magico verrebbe rilasciato e il tuo Arduino morirebbe. Questo è noto come cortocircuito, quindi l'uso di un resistore impedisce che ciò accada.

Quando il pulsante non viene premuto, Arduino rileva la massa ( perno 4 > resistore > terreno ). Quando si preme il pulsante, 5V è collegato a terra. Il pin 4 di Arduino può rilevare questo cambiamento, poiché il pin 4 è ora cambiato da terra a 5V;

Ecco il codice:

boolean buttonOn = false; // store the button state
void setup() {
// put your setup code here, to run once:
pinMode(7, OUTPUT); // configure the LED as an output
pinMode(4, INPUT); // configure the button as an input
}
void loop() {
// put your main code here, to run repeatedly:
if(digitalRead(4)) {
delay(25);
if(digitalRead(4)) {
// if button was pressed (and was not a spurious signal)
if(buttonOn)
// toggle button state
buttonOn = false;
else
buttonOn = true;
delay(500); // wait 0.5s -- don't run the code multiple times
}
}
if(buttonOn)
digitalWrite(7, LOW); // turn LED off
else
digitalWrite(7, HIGH); // turn LED on
}

Questo codice si basa su quanto appreso nella sezione precedente. Il pulsante hardware che hai usato è un momentaneo azione. Ciò significa che funzionerà solo mentre lo tieni premuto. L'alternativa è a agganciato azione. È proprio come gli interruttori della luce o della presa, premere una volta per accendere, premere di nuovo per spegnere. Fortunatamente, un comportamento di latch può essere implementato nel codice. Ecco cosa fa il codice aggiuntivo:

pulsante booleanoOn = falso: Questa variabile viene utilizzata per memorizzare lo stato del pulsante -- ON o OFF, HIGH o LOW. Ha un valore predefinito false.

pinMode(4, INGRESSO): Proprio come il codice utilizzato per il LED, questa linea dice ad Arduino che hai collegato un input (il tuo pulsante) al pin 4.

if(digitalRead(4)): In modo simile a digitalWrite() , digitalLeggi () viene utilizzato per leggere lo stato di un pin. Devi fornirgli un numero pin (4, per il tuo pulsante).

Dopo aver premuto il pulsante, Arduino attende 25 ms e controlla nuovamente il pulsante. Questo è noto come a software antirimbalzo . Ciò garantisce che ciò che Arduino pensa sia stato premere un pulsante, veramente era la pressione di un pulsante e non il rumore. Non devi farlo, e nella maggior parte dei casi le cose funzioneranno bene senza di essa. È più una buona pratica.

Se l'Arduino è certo che tu abbia davvero premuto il pulsante, allora cambia il valore di pulsanteOn variabile. Questo cambia lo stato:

ButtonOn è vero: Impostato su falso.

ButtonOn è falso: Impostato su vero.

Infine, il LED si accende e si spegne in base allo stato memorizzato in pulsanteOn .

Sensore di luce

Passiamo a un progetto avanzato. Questo progetto utilizzerà a Resistenza dipendente dalla luce (LDR) per misurare la quantità di luce disponibile. L'Arduino indicherà quindi al tuo computer messaggi utili sul livello di luce corrente.

come inserire una casella di testo in google docs

Ecco il circuito:

Poiché gli LDR sono un tipo di resistore, non importa in che direzione siano posizionati: non hanno una polarità. Collegare 5V da un lato della LDR. Collega l'altro lato a terreno via a 1k Ohm resistore. Collega anche questo lato a ingresso analogico 0 .

Questo resistore agisce come un resistore pulldown, proprio come nei progetti precedenti. È necessario un pin analogico, poiché gli LDR sono dispositivi analogici e questi pin contengono circuiti speciali per la lettura accurata dell'hardware analogico.

Ecco il codice:

int light = 0; // store the current light value
void setup() {
// put your setup code here, to run once:
Serial.begin(9600); //configure serial to talk to computer
}
void loop() {
// put your main code here, to run repeatedly:
light = analogRead(A0); // read and save value from LDR

//tell computer the light level
if(light <100) {
Serial.println('It is quite light!');
}
else if(light > 100 && light <400) {
Serial.println('It is average light!');
}
else {
Serial.println('It is pretty dark!');
}
delay(500); // don't spam the computer!
}

Questo codice fa alcune cose nuove:

Serial.begin(9600): Questo dice all'Arduino che vuoi comunicare su seriale a una velocità di 9600. L'Arduino preparerà tutto il necessario per questo. La velocità non è così importante, ma sia il tuo Arduino che il computer devono utilizzare lo stesso.

analogRead(A0): Serve per leggere il valore proveniente dall'LDR. Un valore più basso significa che c'è più luce disponibile.

Serial.println(): Questo è usato per scrivere testo sull'interfaccia seriale.

Il semplice Se L'istruzione invia diverse stringhe (testo) al tuo computer a seconda della luce disponibile.

Carica questo codice e mantieni collegato il cavo USB (è così che comunicherà Arduino e da dove proviene l'alimentazione). Aprire il monitor seriale ( In alto a destra > Monitor seriale ), dovresti vedere i tuoi messaggi arrivare ogni 0,5 secondi.

Cosa osservi? Cosa succede se si copre l'LDR o si fa luce su di esso? Puoi modificare il codice per stampare il valore dell'LDR su seriale?

Fare un po 'di rumore

Questo progetto utilizza l'altoparlante Piezo per produrre suoni. Ecco il circuito:

Noti qualcosa di familiare? Questo circuito è quasi esattamente lo stesso del progetto LED. I piezo sono componenti molto semplici: emettono un suono quando ricevono un segnale elettrico. Connetti il positivo gamba al digitale perno 9 via a 220 Ohm resistore. Connetti il negativo gamba a terreno .

Ecco il codice, è molto semplice per questo progetto:

void setup() {
// put your setup code here, to run once:
pinMode(9, OUTPUT); // configure piezo as output
}
void loop() {
// put your main code here, to run repeatedly:
tone(9, 1000); // make piezo buzz
delay(1000); // wait 1s
noTone(9); // stop sound
delay(1000); // wait 1s
}

Ci sono solo alcune nuove funzionalità del codice qui:

tono (9, 1000): Questo fa sì che il piezo generi un suono. Ci vogliono due argomenti. Il primo è il pin da usare e il secondo è la frequenza del tono.

noTono(9): Questo smette di produrre qualsiasi suono sul pin fornito.

Prova a cambiare questo codice per produrre una frequenza diversa. Cambia il ritardo in 1 ms: cosa noti?

Dove andare da qui?

Come puoi vedere, Arduino è un modo semplice per entrare nell'elettronica e nel software. È uno dei migliori microcontrollori per principianti. Spero che tu abbia visto che è facile costruire semplici progetti elettronici con Arduino. Puoi costruire progetti molto più complessi una volta compresi quelli di base:

  • Crea addobbi luminosi natalizi
  • Arduino Shields per potenziare il tuo progetto
  • Costruisci il tuo gioco pong con un Arduino
  • Collega il tuo Arduino a Internet
  • Crea un sistema domotico con il tuo Arduino

Che Arduino possiedi? Ci sono progetti divertenti che ti piace realizzare? Per ulteriori informazioni, dai un'occhiata a come migliorare la codifica Arduino con VS Code e PlatformIO .

Condividere Condividere Tweet E-mail 15 comandi del prompt dei comandi di Windows (CMD) che devi conoscere

Il prompt dei comandi è ancora un potente strumento di Windows. Ecco i comandi CMD più utili che ogni utente di Windows deve conoscere.

Leggi Avanti
Argomenti correlati
  • Fai da te
  • Arduino
  • Elettronica
Circa l'autore Joe Coburn(136 articoli pubblicati)

Joe si è laureato in Informatica presso l'Università di Lincoln, nel Regno Unito. È uno sviluppatore di software professionista e quando non pilota droni o scrive musica, lo si può trovare spesso a scattare foto o produrre video.

Altro da Joe Coburn

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti