Arduino UNO supporta le operazioni di ingresso e output analogiche, consentendo di interagire con sensori e attuatori che richiedono valori precisi. Le operazioni analogiche sono essenziali per controllare dispositivi come LED, motori e input di lettura da sensori come potenziometri o sensori di luce. Questo tutorial ti guiderà attraverso l'installazione, la lettura e la scrittura analogiche e l'uso di operazioni logiche come if
dichiarazioni con dati analogici.
Cosa avrai bisogno
- Arduino Uno con cavo USB
- Potenziometro (o qualsiasi resistenza variabile) per ingresso analogico
- LED e una resistenza da 220 ohm per uscita analogica
- Breadboard e fili jumper
- Un computer con l'IDE Arduino installato
Passaggio 1: comprensione dei pin analogici su Arduino
Arduino Uno ha sei pin di ingresso analogici (A0-A5) che possono leggere una tensione tra 0 e 5 V e convertirlo in un valore digitale tra 0 e 1023. Per l'uscita analogica, Arduino utilizza PWM (Modulazione della larghezza di impulsi) su alcuni pin digitali contrassegnato con ~
(ad esempio, 3, 5, 6, 9, 10, 11).
Funzioni utilizzate
-
Ingresso analogico:
analogRead(pin)
- Legge una tensione (0-5 V) e restituisce un valore compreso tra 0 e 1023.
-
Uscita analogica:
analogWrite(pin, value)
- Emette un segnale PWM dove
value
varia da 0 (0% di duty cycle) a 255 (ciclo di lavoro 100%).
- Emette un segnale PWM dove
Passaggio 2: ingresso analogico del cablaggio (potenziometro)
Collegare un potenziometro a un perno analogico Arduino:
Pin potenziometro | Connessione Arduino |
---|---|
1 (pin di fine) | 5v |
2 (medio/output) | A0 |
3 (pin di fine) | GND |
Passaggio 3: uscita analogica del cablaggio (LED)
Collegare un LED con un resistore da 220 ohm a un perno Arduino PWM (ad es. Pin 9):
Pin a LED | Connessione Arduino |
---|---|
Gamba lunga (+) | Pin digitale 9 |
Gamba corta (-) | GND |
Passaggio 4: lettura di ingresso analogico
Usare il analogRead()
funzione per leggere i dati dal potenziometro:
Codice di esempio: lettura di input analogici
Eseguire il codice e osservare i valori potenziometri (0-1023) nel monitor seriale.
Passaggio 5: scrittura di uscita analogica
Usare il analogWrite()
funzione per controllare la luminosità di un LED:
Codice di esempio: output analogico al LED
Passaggio 6: combinare ingresso e output analogici
È possibile utilizzare i valori di ingresso analogici per controllare l'uscita, come la regolazione della luminosità del LED in base alla posizione del potenziometro.
Codice di esempio: il potenziometro controlla la luminosità dei LED
Passaggio 7: usando if
Dichiarazioni con dati analogici
È possibile creare condizioni utilizzando l'input analogico per eseguire azioni specifiche:
Codice di esempio: controllo condizionale
Applicazioni di lettura/scrittura analogiche
- Leggere i sensori ambientali (ad es. Luce, temperatura, umidità)
- Regolazione delle velocità del motore
- Controllo della luminosità dei LED
- Elaborazione del segnale audio
- Creazione di interfacce utente basate su analogici
Risoluzione dei problemi
- Letture errate dal sensore: Garantire un cablaggio adeguato e verificare le connessioni potenziometriche.
- LED non illuminando: Conferma l'orientamento del LED e utilizzare una resistenza per limitare la corrente.
- Output non liscio: Aggiungi un piccolo ritardo o una media dei valori di input per la stabilità.
Conclusione
Hai imparato come eseguire operazioni di lettura e scrittura analogiche utilizzando Arduino Uno, valori del sensore MAP alle uscite e utilizzare if
Dichiarazioni per la logica condizionale. Queste abilità sono cruciali per creare progetti reattivi e interattivi. Sperimenta ulteriormente integrando altri sensori e attuatori analogici per espandere le tue capacità!