Sommario:
- Passaggio 1: tensione di alimentazione
- Passaggio 2: temperatura interna
- Passaggio 3: comparatore analogico (interruzione)
- Passaggio 4: contatore
- Passaggio 5: costanti predefinite
- Passaggio 6: conservare la variabile nella RAM tramite il ripristino
- Passaggio 7: accedere al segnale dell'orologio
- Passaggio 8: struttura interna della porta di ATmega328P
- Passaggio 9: LED integrato (incorporato) come fotorilevatore
Video: Caratteristiche meno conosciute di Arduino: 9 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Questo è più un elenco di funzionalità non così spesso menzionate delle piattaforme Arduino tipicamente utilizzate (ad esempio Uno, Nano). Questo elenco dovrebbe fungere da riferimento ogni volta che è necessario cercare tali funzionalità e spargere la voce.
Guarda il codice per vedere esempi per tutte queste funzionalità mentre le ho usate in molti dei miei progetti qui su istruibile (ad esempio Arduino 1-wire Display (144 Chars)). I passaggi seguenti spiegano una funzionalità ciascuno.
Passaggio 1: tensione di alimentazione
L'Arduino può misurare la propria tensione di alimentazione in modo indiretto. Misurando il riferimento interno con la tensione di alimentazione come riferimento limite superiore è possibile ottenere il rapporto tra riferimento interno e tensione di alimentazione (la tensione di alimentazione funge da limite superiore per la lettura analogico/ADC). Sapendo il valore esatto della tensione di riferimento interna, è possibile quindi calcolare la tensione di alimentazione.
Per i dettagli esatti su come eseguire questa operazione, incluso il codice di esempio, vedere:
- Voltmetro Arduino segreto – Misura la tensione della batteria:
-
Arduino può misurare il proprio Vin?:
Passaggio 2: temperatura interna
Alcuni Arduino sono dotati di un sensore di temperatura interno e possono quindi misurare la loro temperatura interna (semiconduttore).
Per i dettagli esatti su come eseguire questa operazione, incluso il codice di esempio, vedere:
Sensore di temperatura interno:
Arduino può misurare il proprio Vin?:
Passaggio 3: comparatore analogico (interruzione)
Arduino può impostare un comparatore analogico tra i pin A0 e A1. Quindi uno dà il livello di tensione e l'altro viene controllato per un attraversamento di questa tensione. Viene generato un interrupt a seconda che l'incrocio sia un fronte di salita o di discesa (o entrambi). L'interrupt può quindi essere catturato dal software e agito di conseguenza.
Per i dettagli esatti su come eseguire questa operazione, incluso il codice di esempio, vedere:
Interruzione comparatore analogico:
Passaggio 4: contatore
Naturalmente l'AVR ha diversi contatori inclusi. Di solito vengono utilizzati per impostare timer di varie frequenze e aumentare gli interrupt in caso di necessità. Un altro uso molto antiquato è quello di usarli come contatori senza alcuna magia aggiuntiva, basta leggere il valore quando ne hai bisogno (sondaggio). Un uso interessante di questo potrebbe essere quello di antirimbalzare i pulsanti, ad es. Conferisci ad esempio questo post: AVR Esempio contatore T1
Passaggio 5: costanti predefinite
Esistono alcune variabili predefinite che possono essere utilizzate per aggiungere informazioni sulla versione e sulla compilazione al progetto.
Per i dettagli esatti su come eseguire questa operazione, incluso il codice di esempio, vedere:
Serial.println(_DATE_); // data di compilazione
Serial.println(_TIME_); // tempo di compilazione
String stringOne = String(ARDUINO, DEC);
Serial.println(stringOne); // versione arduino ide
Serial.println(_VERSION_); // versione gcc
Serial.println(_FILE_); // file compilato
questi frammenti di codice restituiranno quei dati alla console seriale.
Passaggio 6: conservare la variabile nella RAM tramite il ripristino
È risaputo che Arduino Uno (ATmega328) ha una EEPROM interna che permette di conservare valori e impostazioni durante lo spegnimento e ripristinarli alla successiva accensione. Un fatto non così noto potrebbe essere che è effettivamente possibile preservare il valore durante il ripristino anche in RAM - tuttavia i valori si perdono durante il ciclo di alimentazione - con la sintassi:
unsigned long variabile_che_è_preservato _attributo_ ((sezione (".noinit")));
Questo permette ad esempio di contare il numero di RESET e utilizzando la EEPROM anche il numero di accensioni.
Per i dettagli esatti su come eseguire questa operazione, incluso il codice di esempio, vedere:
- Mantieni variabile in Ram tramite Reset:
- Libreria EEPROM:
Passaggio 7: accedere al segnale dell'orologio
Arduino e altri AVR (come ATtiny) hanno un orologio interno che ti consente di eseguirli senza utilizzare un oscillatore a cristallo esterno. Inoltre allo stesso tempo sono anche in grado di collegare questo segnale all'esterno inserendolo su un pin (es. PB4). La parte difficile qui è che è necessario cambiare i bit del fusibile del chip per abilitare quella funzione e cambiare i bit del fusibile comporta sempre il rischio di danneggiare il chip.
Devi abilitare il fusibile CKOUT e il modo più semplice per farlo è seguire le istruzioni su Come cambiare i bit dei fusibili dell'AVR Atmega328p - Microcontrollore a 8 bit usando Arduino.
Per i dettagli esatti su come eseguire questa operazione, incluso il codice di esempio, vedere:
- Sintonizzazione dell'oscillatore interno ATtiny:
- Come cambiare i fusibili dell'AVR Atmega328p - Microcontrollore a 8 bit usando Arduino:
Passaggio 8: struttura interna della porta di ATmega328P
Conoscere la struttura interna delle porte di ATmega328P ci permette di andare oltre i limiti di utilizzo standard. Consultare la sezione sul misuratore di capacità per range da 20 pF a 1000 nF per maggiori dettagli e uno schema del circuito interno.
Il semplice esempio consiste nell'utilizzare pulsanti con porte digitali che non richiedono alcun resistore a causa dell'uso di un resistore pull-up interno come mostrato dall'esempio di input pullup seriale o dal pulsante Arduino senza resistore istruibile.
Più avanzato è l'uso di questa conoscenza come menzionato per misurare condensatori fino a 20 pF e inoltre senza alcun cablaggio aggiuntivo! Per ottenere tali prestazioni, l'esempio utilizza l'impedenza interna/di ingresso, il resistore di pull-up interno e il condensatore parassita. Confronta con il tutorial Arduino CapacitanceMeter che non può scendere al di sotto di qualche nF.
Passaggio 9: LED integrato (incorporato) come fotorilevatore
Molte schede Arduino hanno LED integrati o incorporati che possono essere controllati dal codice, ad es. le schede Uno o Nano sul pin 13. Aggiungendo un singolo filo da questo pin a un pin di ingresso analogico (es. A0) possiamo anche utilizzare questo LED come fotorivelatore. Questo può essere usato in una varietà di modi diversi come; utilizzare per misurare l'illuminazione ambientale, utilizzare il LED come pulsante, utilizzare il LED per la comunicazione bidirezionale (PJON AnalogSampling), ecc.
Consigliato:
Aggiorna il Mini DSO fai-da-te a un vero oscilloscopio con caratteristiche fantastiche: 10 passaggi (con immagini)
Aggiorna il Mini DSO fai-da-te a un vero oscilloscopio con caratteristiche fantastiche: L'ultima volta ho condiviso come creare un Mini DSO con MCU. Per sapere come costruirlo passo dopo passo, fai riferimento al mio precedente tutorial: https://www.instructables. com/id/Make-Your-Own-Osc…Dato che molte persone sono interessate a questo progetto, ho speso un po' di tempo
Coltivare più lattuga in meno spazio o Coltivare lattuga nello spazio, (più o meno).: 10 Passaggi
Coltivare più lattuga in meno spazio o… Coltivare lattuga nello spazio, (più o meno): questa è una presentazione professionale al concorso Growing Beyond Earth, Maker, presentata tramite Instructables. Non potrei essere più entusiasta di progettare per la produzione di colture spaziali e di pubblicare il mio primo Instructable. Per iniziare, il concorso ci ha chiesto di
Tutorial ME 470: caratteristiche del modello: 6 passaggi
Esercitazione ME 470: caratteristiche del modello: i modelli possono essere un ottimo risparmio di tempo su parti che hanno caratteristiche ripetute
Guardiano V1.0 --- Aggiornamento della telecamera spioncino della porta con Arduino (caratteristiche di registrazione del rilevamento del movimento e scosse elettriche): 5 passaggi
Guardiano V1.0 ||| Aggiornamento della telecamera spioncino della porta con Arduino (funzioni di registrazione del rilevamento del movimento e scosse elettriche): ho ordinato una telecamera spioncino ma quando la uso, mi sono reso conto che non esiste una funzione di registrazione automatica (attivata dal rilevamento del movimento). Poi ho iniziato a indagare su come funziona. Per registrare un video, dovresti 1- tenere premuto il pulsante di accensione per quasi 2 secondi
Penna IR minimalista: nessuna saldatura, meno di un minuto, meno di un dollaro.: 3 passaggi
Penna IR minimalista: nessuna saldatura, meno di un minuto, meno di un dollaro.: La mia prima istruzione, spero sia utile: se vuoi testare JC Lee (JC sta per Johnny Chung, ma fa anche miracoli. ..) o il programma Smoothboard su www.smoothboard.net (in anticipo di anni luce, perché Boon Jin ha iniziato