Programmi Arduino nano v3.0. Blog › Esperienza nell'apprendimento di Arduino. Un altro articolo. Hardware

informazioni generali

Arduino Nano è un dispositivo in miniatura completo di funzionalità basato sul microcontrollore ATmega328 (Arduino Nano 3.0) o ATmega168 (Arduino Nano 2.x), adattato per l'uso con schede di sviluppo. Il dispositivo è simile nelle funzionalità all'Arduino Duemilanove, ma differisce da esso per le dimensioni, la mancanza di un connettore di alimentazione e un diverso tipo (Mini-B) del cavo USB. Arduino Nano è sviluppato e prodotto da Gravitech.

Design schematico e originale

Connessione

Arduino Nano offre una serie di opzioni per comunicare con un computer, un altro Arduino o altri microcontrollori. ATmega168 e ATmega328 hanno un ricetrasmettitore UART che consente la comunicazione seriale tramite pin digitali 0 (RX) e 1 (TX). Il chip FTDI FT232RL fornisce la comunicazione tra il ricetrasmettitore e la porta USB del computer e, quando collegato a un PC, consente ad Arduino di essere rilevato come COM virtuale-porta(I driver FTDI sono inclusi nel pacchetto software Arduino). Il pacchetto software Arduino include anche programma speciale, che consente di leggere e inviare semplici dati di testo ad Arduino. Durante il trasferimento dei dati a un computer tramite USB, i LED RX e TX sulla scheda lampeggeranno. (Quando i dati seriali vengono trasmessi tramite i pin 0 e 1, questi LED non sono attivati.)

ATmega168 e ATmega328 su Arduino Nano sono dotati di un bootloader firmware che consente di caricare nuovi programmi nel microcontrollore senza la necessità di un programmatore esterno. L'interazione con esso viene eseguita utilizzando il protocollo STK500 originale (,).

Ripristino automatico (software).

Per evitare di dover premere ogni volta il pulsante di reset prima di caricare un programma, Arduino Nano è progettato in modo tale da poter essere resettato via software da un computer collegato. Uno dei pin del chip FT232RL, coinvolto nel controllo del flusso di dati (DTR), è collegato al pin RESET del microcontrollore ATmega168 o ATmega328 tramite un condensatore da 100 nF. Quando la linea DTR va a zero, anche il pin RESET si abbassa abbastanza a lungo da ripristinare il microcontrollore. Questa funzione viene utilizzata per rendere possibile il flashing del microcontrollore con un semplice clic di un pulsante nell'ambiente di programmazione Arduino. Questa architettura consente di ridurre il timeout del bootloader, poiché il processo del firmware è sempre sincronizzato con il declino del segnale sulla linea DTR. Questa architettura consente di ridurre il timeout del bootloader, poiché il processo del firmware è sempre sincronizzato con il declino del segnale sulla linea DTR.

Tuttavia, questo sistema può portare ad altre conseguenze. A collegamento di Arduino Nano per computer che eseguono Mac OS X o Linux, il suo microcontrollore si ripristina ogni volta che il software viene collegato alla scheda. Dopo aver ripristinato Arduino Nano, il bootloader viene attivato per circa mezzo secondo. Nonostante il bootloader sia programmato per ignorare i dati estranei (ovvero tutti i dati non correlati al processo del firmware nuovo programma), può intercettare i primi byte di dati del pacchetto inviato alla scheda subito dopo aver stabilito la connessione. Di conseguenza, se il programma in esecuzione su Arduino è progettato per ricevere impostazioni o altri dati dal computer al primo avvio, assicurarsi che software, con cui Arduino interagisce, invia un secondo dopo aver stabilito la connessione.

La piattaforma Nano, costruita sul microcontrollore ATmega328 (Arduino Nano 3.0) o ATmega168 (Arduino Nano 2.x), ha piccole dimensioni e può essere utilizzato nel lavoro di laboratorio.

Scheda Arduino Nano

Arduino Nano può essere alimentato tramite una connessione USB Mini-B o da un alimentatore esterno non regolato da 6-20 V (pin 30) o regolato da 5 V (pin 27). La sorgente con la tensione più alta viene selezionata automaticamente.

Caratteristiche della scheda Arduino Nano

Microcontrollore

ATmega168 o ATmega328

Tensione operativa

5 V

7–12 V

Tensione in ingresso (limite)

6–20 V

Ingressi/uscite digitali

14 (di cui 6 utilizzabili come uscite PWM)

Ingressi analogici

Corrente CC tramite ingresso/uscita

40mA

Corrente costante per uscita 3,3 V

50mA

Memoria flash

16 KB (ATmega168) o 32 KB (ATmega328), con 2 KB utilizzati per il bootloader

RAM

1KB (ATmega168) o 2KB (ATmega328)

informazioni generali

Arduino Nano è un dispositivo in miniatura completo di funzionalità basato sul microcontrollore ATmega328 (Arduino Nano 3.0) o ATmega168 (Arduino Nano 2.x), adattato per l'uso con schede di sviluppo. Il dispositivo è simile nelle funzionalità all'Arduino Duemilanove, ma differisce da esso per le dimensioni, la mancanza di un connettore di alimentazione e un diverso tipo (Mini-B) del cavo USB. Arduino Nano è sviluppato e prodotto da Gravitech.

Design schematico e originale

Oltre a quelle elencate sulla lavagna, ci sono molte altre conclusioni:

  • AREF. Tensione di riferimento per ingressi analogici. Può essere utilizzato dalla funzione.
  • Reset. Formazione basso livello(BASSO) su questo pin ripristinerà il microcontrollore. In genere questo pin viene utilizzato per azionare il pulsante di ripristino sulle schede di espansione.

Connessione

Arduino Nano offre una serie di opzioni per comunicare con un computer, un altro Arduino o altri microcontrollori. ATmega168 e ATmega328 hanno un ricetrasmettitore UART che consente la comunicazione seriale tramite pin digitali 0 (RX) e 1 (TX). Il chip FTDI FT232RL fornisce la comunicazione tra il ricetrasmettitore e la porta USB del computer e, quando collegato a un PC, consente di definire Arduino come una porta COM virtuale (i driver FTDI sono inclusi nel pacchetto software Arduino). Il pacchetto software Arduino include anche un programma speciale che consente di leggere e inviare semplici dati di testo ad Arduino. Durante il trasferimento dei dati a un computer tramite USB, i LED RX e TX sulla scheda lampeggeranno. (Quando i dati seriali vengono trasmessi tramite i pin 0 e 1, questi LED non sono attivati.)

Ripristino automatico (software).

Per evitare di dover premere ogni volta il pulsante di reset prima di caricare un programma, Arduino Nano è progettato in modo tale da poter essere resettato via software da un computer collegato. Uno dei pin del chip FT232RL, coinvolto nel controllo del flusso di dati (DTR), è collegato al pin RESET del microcontrollore ATmega168 o ATmega328 tramite un condensatore da 100 nF. Quando la linea DTR va a zero, anche il pin RESET si abbassa abbastanza a lungo da ripristinare il microcontrollore. Questa funzione viene utilizzata per rendere possibile il flashing del microcontrollore con un semplice clic di un pulsante nell'ambiente di programmazione Arduino. Questa architettura consente di ridurre il timeout del bootloader, poiché il processo del firmware è sempre sincronizzato con il declino del segnale sulla linea DTR. Questa architettura consente di ridurre il timeout del bootloader, poiché il processo del firmware è sempre sincronizzato con il declino del segnale sulla linea DTR.

Tuttavia, questo sistema può portare ad altre conseguenze. Quando si collega Arduino Nano a computer che eseguono Mac OS X o Linux, il suo microcontrollore si ripristinerà ogni volta che il software si connette alla scheda. Dopo aver ripristinato Arduino Nano, il bootloader viene attivato per circa mezzo secondo. Anche se il bootloader è programmato per ignorare i dati estranei (ovvero tutti i dati non correlati al processo di flashing di un nuovo programma), può intercettare i primi byte di dati dal pacchetto inviato alla scheda immediatamente dopo aver stabilito la connessione . Di conseguenza, se il programma in esecuzione su Arduino è progettato per ricevere eventuali impostazioni o altri dati dal computer al primo avvio, assicurarsi che il software con cui interagisce Arduino invii un secondo dopo aver stabilito la connessione.

Le principali versioni delle schede Arduino sono rappresentate dai seguenti modelli:

informazioni generali

La piattaforma Nano, costruita sul microcontrollore ATmega328 (Arduino Nano 3.0) o ATmega168 (Arduino Nano 2.x), è di piccole dimensioni e può essere utilizzata in lavori di laboratorio. Ha funzionalità simili all'Arduino Duemilanove, ma l'assemblaggio è diverso. La differenza è la mancanza di un connettore di alimentazione CC e il funzionamento tramite cavo USB Mini-B. Nano è sviluppato e commercializzato da Gravitech.

Diagrammi schematici e dati iniziali

Connessione

La piattaforma Arduino Nano contiene diversi dispositivi per comunicare con un computer, altri dispositivi Arduino o microcontrollori. ATmega168 e ATmega328 supportano l'interfaccia seriale UART TTL (5V) tramite pin 0 (RX) e 1 (TX). Il chip FTDI FT232RL installato sulla scheda instrada questa interfaccia tramite USB e Driver FTDI(incluso nel programma Arduino) fornisce una porta COM virtuale a un programma sul computer. Il monitor seriale di Arduino ti consente di inviare e ricevere dati di testo quando sei connesso alla piattaforma. I LED RX e TX sulla piattaforma lampeggeranno durante la trasmissione dei dati tramite il chip FTDI o Connessione USB(ma non quando si utilizza la trasmissione seriale tramite i pin 0 e 1).

Con la libreria SoftwareSerial è possibile creare una trasmissione seriale di dati attraverso uno qualsiasi dei pin digitali del Nano.

ATmega168 e ATmega328 supportano le interfacce I2C (TWI) e SPI. Arduino include una libreria Wire per un facile utilizzo del bus I2C. Informazioni più dettagliate si trovano nella documentazione. Per utilizzare l'interfaccia SPI, fare riferimento alle schede tecniche dei microcontrollori ATmega168 e ATmega328.

Programmazione

La piattaforma è programmata utilizzando il software Arduino. Dal menu Strumenti > Scheda, selezionare “Arduino Diecimila, Duemilanove o Nano w/ ATmega168” oppure “Arduino Duemilanove o Nano w/ ATmega328” (a seconda del microcontrollore installato). Informazioni dettagliate possono essere trovate nel manuale e nelle istruzioni.

I microcontrollori ATmega168 e ATmega328 sono dotati di un bootloader preimpostato, che semplifica la scrittura di nuovi programmi senza l'uso di programmatori esterni. La comunicazione viene effettuata utilizzando il protocollo originale STK500.

È possibile non utilizzare un bootloader e programmare il microcontrollore tramite i pin del blocco ICSP (programmazione in-circuit). Informazioni dettagliate possono essere trovate in questo manuale.

Riavvio automatico (soft).

Nano è progettato in modo tale che prima di scrivere il nuovo codice, il riavvio viene eseguito dal programma stesso, anziché premendo un pulsante sulla piattaforma. Una delle linee di controllo del flusso di dati (DTR) dell'FT232RL è collegata al pin di ripristino dei microcontrollori ATmega168 o ATmega328 tramite un condensatore da 100 nF. L'attivazione di questa linea, ad es. l'invio di un segnale di basso livello riavvia il microcontrollore. Il programma Arduino, utilizzando questa funzione, carica il codice con un clic del pulsante Carica nell'ambiente di programmazione stesso. Il segnale di basso livello sulla linea DTR è coordinato con l'inizio della registrazione del codice, riducendo il timeout del bootloader.

La funzione ha un'altra applicazione. Il Nano si riavvia ogni volta che viene collegato al programma Arduino su un computer Mac X o Linux (tramite USB). Per il mezzo secondo successivo al riavvio, il bootloader funziona. Durante la programmazione i primi byte del codice vengono ritardati per evitare che la piattaforma riceva dati errati (tutto tranne il codice del nuovo programma). Se stai eseguendo un debug una tantum di uno schizzo scritto nella piattaforma o inserendo altri dati la prima volta che lo esegui, devi assicurarti che il programma sul tuo computer attenda un secondo prima di trasferire i dati.


Fonte:

A metà del 2013 ho acquistato la tavola Arduino Nano versione 3.0. È chiaro che la scheda è costruita su una piattaforma simile alla piattaforma Arduino Uno a tutti gli effetti, ma ci sono alcune sfumature. Proviamo a capirli in questo articolo.

Piattaforma Arduino Nano 3.0 costruito sul microcontrollore ATmega328, ha dimensioni ridotte e può essere utilizzato in vari progetti. Nano è sviluppato e commercializzato da Gravitech. Di seguito le specifiche tecniche:

Microcontrollore-ATmega328
Tensione operativa - 5 V
Voltaggio in ingresso (consigliato) - 7-12 V
Tensione in ingresso (limite) - 6-20 V
Ingressi/uscite digitali - 14 (6 dei quali possono essere utilizzati come uscite PWM)
Ingressi analogici - 8
Corrente CC attraverso ingresso/uscita - 40 mA
Memoria flash - 32 KB (con 2 KB utilizzati per il bootloader)
RAM: 2KB
EEPROM - 1KB
Frequenza dell'orologio - 16 MHz
Dimensioni: 1,85 cm x 4,3 cm

Arduino Nano riceve alimentazione tramite il connettore USB Mini-B, nonché da un alimentatore esterno non regolato da 6-20 V (pin 30) o regolato da 5 V (pin 27). La sorgente con la tensione più alta viene selezionata automaticamente.

Tutti i 14 pin digitali (utilizzando le funzioni pinMode(), digitalWrite() e digitalRead()) possono essere configurati come input o output. I pin funzionano a 5 V. Ciascun pin ha un resistore di carico (standard disabilitato) di 20-50 kOhm e può far passare fino a 40 mA.

Esistono diversi modi possibili per comunicare con un computer o altri dispositivi e microcontrollori. ATmega328 supporta l'interfaccia seriale UART TTL (5V) tramite pin 0 (RX) e 1 (TX). Il chip FTDI FT232RL instrada questa interfaccia tramite USB e i driver FTDI forniscono una porta COM virtuale al programma Arduino sul computer. I LED RX e TX sulla piattaforma lampeggiano quando i dati vengono trasferiti solo tramite il chip FTDI o la connessione USB.


La piattaforma è programmata utilizzando Programma Arduino, la cui ultima versione può essere scaricata dal sito ufficiale.

Ma prima è necessario che il dispositivo venga rilevato sul tuo computer. È stato a questo punto che ho incontrato delle difficoltà. Quando si collega Arduino tramite un cavo USB a un computer, il sistema (Windows 7) identifica la piattaforma come dispositivo UART. Tuttavia i driver non sono stati installati automaticamente (i driver possono essere scaricati dal sito web del produttore del chip FTDI). Ho dovuto farlo manualmente. Per fare ciò, è necessario selezionare un dispositivo non identificato in Gestione dispositivi. Nelle proprietà, seleziona l'opzione per installare o aggiornare il driver, quindi seleziona il modello di convertitore seriale USB dall'elenco dei driver già installati dal produttore FTDI. Dopo aver installato il driver, è apparso un messaggio composito Dispositivo USB, e non resta che installare il driver per le porte COM e LTP. Esattamente allo stesso modo, ho scelto un driver dello stesso produttore, dopodiché il mio Arduino è diventato disponibile per il caricamento degli schizzi.

Per verificare la funzionalità, aprire l'applicazione Arduino. Nella scheda Strumenti, nel menu Scheda, seleziona Arduino Nano w/ATmega328. Ora copia questo schizzo nel tuo programma e fai clic sul pulsante Carica.

/* LED SOS lampeggiante. Schizzo lampeggiante a LED standard leggermente modificato. Simula un segnale SOS in codice Morse, ripetendo alternativamente tre lampeggi brevi, tre lunghi, poi ancora tre brevi. Maggiori dettagli qui http://www.craft-tech.ru */ // Lo schizzo si accende quando viene applicata l'alimentazione o quando viene premuto il pulsante di ripristino void setup() ( // funziona con il pin 13. pinMode(13 , OUTPUT); ) // la funzione loop esegue lo sketch in cerchio void loop() ( digitalWrite(13, HIGH); // fornisce tensione al 13° nodo del LED delay(100); // attende 1 decimo di un secondo digitalWrite(13, LOW); // spegne la tensione da 13 legs(100); digitalWrite(13, LOW (200); , HIGH); // attiva il ritardo di tensione(500); // attendi mezzo secondo digitalWrite(13, LOW); digitalWrite(13, HIGH); digitalWrite(13, HIGH); // e ancora lampeggi brevi(100); digitalWrite(13, LOW);

ritardo(100);

digitalWrite(13, BASSO);

ritardo(100); scrittura digitale(13, ALTA); ritardo(100);

digitalWrite(13, BASSO);

ritardo(6000); // attendi 6 secondi e tutto si ripete di nuovo)

Dopo che lo sketch è stato compilato e caricato su Arduino, il LED sulla scheda inizierà a lampeggiare ripetendo il segnale SOS in codice Morse. Ciò significherà che l'installazione ha avuto successo.

  • Ecco come appare Arduino nano:
  • Esistono diverse versioni nanoschede. Esiste la versione 2.X e esiste la versione 3.0. Queste versioni differiscono nel microcontrollore stesso. La versione più giovane di questo Arduino utilizza il chip ATmega168. Questo chip ha una quantità minore di memoria flash, memoria non volatile e una frequenza di clock inferiore. Poiché il prezzo delle diverse versioni di Arduino nano è praticamente lo stesso, non prenderemo in considerazione quella più giovane.
  • Nei negozi russi il margine è del 100-500%. Allo stesso tempo, molto spesso, con il pretesto di una tavola originale, possono venderne di cinesi, e anche di qualità molto bassa.
  • Su Aliexpress puoi trovare facilmente venditori affidabili con buone recensioni.
  • Puoi utilizzare buoni sconto e servizi di cashback.

Caratteristiche

  • Microcontrollore: ATmega328
  • Tensione di alimentazione limite: 5-20 V
  • Tensione di alimentazione consigliata: 7-12 V
  • I/O digitali: 14
  • PWM: 6 pin digitali possono essere utilizzati come pin PWM
  • Pin analogici: 8
  • Corrente massima: 40 mAh da un pin e 500 mAh da tutti i pin.
  • Memoria flash: 32 kB
  • SRAM: 2kB
  • EEPROM: 1kB
  • Frequenza dell'orologio: 16 MHz

Collegare l'alimentazione ad Arduino nano

Questo microcontrollore può essere alimentato tramite una porta mini-USB da un computer, un power bank o da un adattatore collegato a una presa. Inoltre, il pin +5V non è solo un'uscita, ma anche un ingresso. Puoi applicargli corrente e tutto ciò funzionerà solo se la tensione della corrente fornita rigorosamente pari a cinque volt!
Puoi ancora servire DC con tensione da 6 a 20 volt per pin VIN. Questi sono i limiti! Quando viene applicata una tensione di 20 volt, il regolatore di tensione sulla scheda diventa molto caldo. La tensione consigliata per l'alimentazione tramite il pin VIN è compresa tra 7 e 12 volt.

Piedinatura Arduino Nano v 3.0


Come già scritto sopra, la scheda dispone di 14 pin digitali. Sono contrassegnati sulla lavagna con una lettera iniziale “D” (digitale). Possono essere sia un input che un output. La tensione operativa di questi pin è 5 V. Ciascuno di essi ha un resistore pull-up e una tensione inferiore a 5 volt applicata a uno di questi pin sarà comunque considerata 5 volt (quella logica).

I pin analogici sulla scheda sono contrassegnati con una “A” iniziale. Questi pin sono ingressi e non dispongono di resistenze pull-up. Misurano la tensione fornita loro e restituiscono un valore compreso tra 0 e 1024 quando si utilizza la funzione analogRead(). Questi pin misurano la tensione con una precisione di 0,005 V.

Modulazione di larghezza di impulso (PWM) Arduino nano

Se osservi attentamente il tabellone, puoi vedere un'icona tilde (~) accanto ad alcuni segnaposti digitali. Questa icona significa che questo pin può essere utilizzato come uscita PWM. Alcune schede Arduino non hanno questa icona perché i produttori non sempre trovano un posto per questo simbolo sulla scheda. Arduino nano ha 6 pin PWM, questi sono i pin D3, D5, D6, D9, D10 e D11. Per utilizzare PWM, Arduino ha una funzione speciale analogWrite().

Altri perni:

  • rx0 e tx1 vengono utilizzati per trasferire i dati tramite l'interfaccia seriale.
  • I pin D10 (SS), D11 (MOSI), D12 (MISO), D13 (SCK) sono progettati per la comunicazione tramite l'interfaccia SPI.
  • C'è anche un LED integrato nella scheda sul pin D13.
  • A4 (SDA) e A5 (SCL) possono essere utilizzati per comunicare con altri dispositivi tramite il bus I2C. Puoi leggere ulteriori informazioni su questa interfaccia su Wikipedia. Nell'ambiente di sviluppo IDE di Arduino C'è una libreria integrata "wire.h" per lavorare più facilmente con I2C.

Caratteristiche fisiche

Arduino Nano ha le seguenti dimensioni: lunghezza 42 mm e larghezza 19 mm. Tuttavia, il connettore USB sporge leggermente circuito stampato. Arduino Nano pesa solo circa 12 grammi. La scheda ha 4 fori per consentirne il montaggio su una superficie. La distanza tra i perni è 2,54 mm.

Diagramma schematico di Arduino Nano