Come configurare smartphone e PC. Portale informativo

progetti Arduino. Arduino cinese DUE

Informazione Generale

L'Arduino Due è un dispositivo basato sul microprocessore Atmel SAM3X8E ARM Cortex-M3 (scheda tecnica). Questa è la prima scheda Arduino basata su un microcontrollore ARM a 32 bit. Include 54 pin digitali (di cui 12 possono funzionare come uscite PWM), 12 ingressi analogici, 4 UART (ricetrasmettitore hardware che esegue la trasmissione dati seriale), un generatore di frequenza di clock 84 MHz, USB con supporto tecnologia OTG, 2 DAC (Digital to Convertitori analogici), 2 TWI, connettore di alimentazione, connettore SPI, connettore JTAG, pulsante di ripristino e pulsante di cancellazione della memoria.

Nota: a differenza di altre schede Arduino, la tensione operativa di Arduino Due è di 3,3 V. Di conseguenza, la tensione massima che i suoi terminali possono sopportare è 3,3 V. L'applicazione di una tensione maggiore (ad esempio 5V) all'uscita può danneggiare la scheda.

Il dispositivo include tutto il necessario per garantire il funzionamento del microcontrollore; per iniziare, è sufficiente fornire alimentazione da un adattatore CA/CC o da una batteria, oppure collegarlo a un computer tramite un cavo USB. Arduino Due è compatibile con tutte le schede di espansione 3.3V e soddisfa i requisiti di pinout 1.0:

  • I pin SDA e SCL (TWI) si trovano vicino al pin AREF.
  • E' presente un pin IOREF che permette alle schede di espansione di adattarsi alla tensione di funzionamento dell'Arduino. Grazie a questo, le schede di espansione possono essere compatibili sia con Arduino 3.3V (simile a Due) che Arduino 5V basati su microcontrollori AVR.
  • Prelievo gratuito fornito, riservato per scopi futuri.

Vantaggi dell'utilizzo del core ARM

Utilizzando un core ARM a 32 bit, Arduino Due supera in molti modi le tipiche schede a microcontrollore a 8 bit. Le differenze più significative sono le seguenti:

  • Il core a 32 bit può elaborare dati a 4 byte in un solo ciclo di clock. (Per maggiori informazioni, vedere la descrizione del tipo int).
  • La frequenza di clock è di 84 MHz.
  • La SRAM è di 96 KB.
  • La quantità di memoria flash per i programmi è di 512 KB.
  • La presenza di un controller DMA, che consente di scaricare il processore centrale dall'esecuzione di operazioni di memoria ad alta intensità di risorse.

Disegno schematico e originale e piedinatura

Specifiche

Microcontrollore AT91SAM3X8E
Tensione di lavoro 3.3V
Tensione di alimentazione (consigliata) 7-12V
Tensione di alimentazione (limite) 6-16V
Uscite digitali 54 (di cui 12 possono funzionare come uscite PWM)
Ingressi analogici 12
Uscite analogiche 2 (DAC)
Corrente di uscita totale di tutte le uscite (massima) 130 mA
Corrente di uscita massima di uscita 3,3 V 800 mA
La corrente di uscita massima dell'uscita è 5V 800 mA
Memoria flash 512 KB completamente disponibili per i programmi utente
SRAM 96 KB (due banchi di memoria: 64 KB e 32 KB)
Frequenza di clock 84 MHz

Nutrizione

Arduino Due può essere alimentato da USB o da una fonte di alimentazione esterna: il tipo di fonte viene selezionato automaticamente.

La fonte di alimentazione esterna (non USB) può essere un adattatore AC/DC o una batteria/batteria ricaricabile. La spina dell'adattatore (diametro - 2,1 mm, contatto centrale - positivo) deve essere inserita nel connettore di alimentazione corrispondente sulla scheda. In caso di alimentazione a batteria/batteria, i suoi fili devono essere collegati ai pin Gnd e Vin del connettore POWER.

La tensione dell'alimentatore esterno può essere compresa tra 6 e 20 V. Tuttavia, una diminuzione della tensione di alimentazione al di sotto di 7 V porta a una diminuzione della tensione sul pin 5 V, che può causare un funzionamento instabile del dispositivo. L'utilizzo di una tensione superiore a 12V può comportare il surriscaldamento del regolatore di tensione e danni alla scheda. Con questo in mente, si consiglia di utilizzare un alimentatore con una tensione compresa tra 7 e 12V.

Di seguito sono riportati i pin di alimentazione situati sulla scheda:

  • VIN. La tensione fornita all'Arduino direttamente da un alimentatore esterno (non correlato a 5V da USB o altra tensione stabilizzata). Questo pin può sia fornire alimentazione esterna che consumare corrente quando il dispositivo è alimentato da un adattatore esterno.
  • 5V. L'uscita riceve una tensione di 5V dal regolatore di tensione sulla scheda, indipendentemente da come viene alimentato il dispositivo: dall'adattatore (7 - 12V), da USB (5V) o tramite l'uscita VIN (7 - 12V). Non è consigliabile alimentare il dispositivo tramite i pin 5V o 3V3, poiché in questo caso non viene utilizzato un regolatore di tensione, il che può portare al guasto della scheda.
  • 3V3. 3.3V, proveniente dal regolatore di tensione sulla scheda. Questo regolatore fornisce anche alimentazione al microcontrollore SAM3X. La corrente massima assorbita da questo pin è 800 mA.
  • GND. Rilievi a terra.
  • IOREF. Questo pin fornisce alle schede di espansione le informazioni sulla tensione operativa del microcontrollore Arduino. A seconda della tensione letta dal pin IOREF, la scheda di espansione può passare all'alimentatore appropriato o utilizzare convertitori di livello, che le consentiranno di funzionare con dispositivi sia 5V che 3,3V.

Memoria

La quantità di memoria flash dei programmi del microcontrollore SAM3X è di 512 KB (2 blocchi da 256 KB). Il dispositivo viene fornito con un bootloader flashato situato in una memoria ROM separata. La SRAM disponibile è 96 KB, ovvero due banchi di memoria contigui rispettivamente di 64 KB e 32 KB. Tutta la memoria disponibile (Flash, RAM e ROM) ha uno spazio di indirizzamento lineare comune.

Il pulsante di cancellazione, posto sulla scheda, permette di cancellare la memoria Flash del microcontrollore SAM3X e cancellare il programma attualmente caricato. Per fare ciò, è necessario tenerlo premuto per alcuni secondi.

Ingressi e uscite

  • I/O digitali: pin 0 - 53
  • Interfaccia SPI: pin SPI(su schede Arduino connettore ICSP)
  • Interfaccia CAN: pin CANRX e CANTX

Questi pin supportano il protocollo di comunicazione CAN, ma attualmente non esiste alcuna implementazione nell'API Arduino.

  • LED "L": pin 13

LED integrato collegato al pin 13. Inviando un valore ALTO il LED si accende, inviando un valore BASSO si spegne. Inoltre, è possibile regolare la luminosità del LED, poiché il pin 13 può funzionare come uscita PWM.

  • TWI 1: Pin 20 (SDA) e 21 (SCL)
  • TWI 2: pin SDA1 e SCL1

Altri pin sulla scheda:

  • AREF

Tensione di riferimento dell'ADC. Usato da analogReference ().

  • Ripristina

La formazione di un livello basso (LOW) su questo pin causerà il riavvio del microcontrollore. Tipicamente questo pin viene utilizzato per la funzione del pulsante di reset sulle schede di espansione.

Connessione

Arduino Due offre una serie di possibilità per comunicare con un computer, un altro Arduino o altri microcontrollori, nonché con vari dispositivi come telefoni, tablet, fotocamere, ecc. Il microcontrollore SAM3X ha una UART hardware e tre USART hardware per implementare interfacce seriali TTL a 3,3 V.

La porta di programmazione USB sulla scheda interagisce con il microcircuito ATmega16U2, che funge da convertitore USB-UART, che, quando collegato a un computer, viene definito porta COM virtuale. (Per una corretta identificazione su sistemi Windows è necessario un file .inf; su sistemi con OSX e LINUX la scheda viene riconosciuta automaticamente). Il microcircuito 16U2 è collegato al ricetrasmettitore UART hardware del microcontrollore SAM3X. I pin RX0 e TX0 vengono utilizzati per programmare il microcontrollore attraverso il microcircuito ATmega16U2. Il pacchetto software Arduino include un programma speciale che consente di leggere e inviare semplici dati di testo ad Arduino. Quando si trasmettono dati attraverso il microcircuito convertitore USB-UART durante una connessione USB con un computer, i LED RX e TX sulla scheda lampeggeranno. (Quando i dati seriali vengono trasmessi tramite i pin 0 e 1, senza utilizzare un convertitore USB, questi LED non vengono utilizzati).

Il microcontrollore SAM3X supporta anche le interfacce seriali TWI e SPI. Il software Arduino include una libreria Wire per semplificare il lavoro con il bus I2C; vedere la documentazione per maggiori dettagli. Utilizzare la libreria SPI per lavorare con l'interfaccia SPI.

Programmazione

Il processo di caricamento dei programmi nel microcontrollore SAM3X è diverso dal processo del firmware per i microcontrollori AVR utilizzati in altre schede Arduino. La particolarità del SAM3X è che per poterlo reflashare bisogna prima cancellare la memoria Flash del controller. Ciò è dovuto al fatto che il processo di caricamento del programma è controllato dal bootloader nella ROM SAM3X, che si avvia solo se non è presente alcun programma nella memoria flash del microcontrollore.

Pertanto, qualsiasi porta USB può essere utilizzata per eseguire il flashing della scheda. Tuttavia, si consiglia di utilizzare la porta USB per la programmazione ("Programming Port" in figura) a causa di alcune peculiarità del processo di cancellazione della memoria del microcontrollore:

  • Porta di programmazione: per utilizzare questa porta nell'IDE Arduino, selezionare "Arduino Due (Porta di programmazione)" come scheda di lavoro. Collega il Due al tuo computer collegando il cavo USB al connettore di programmazione (più vicino al connettore di alimentazione). La porta di programmazione interagisce con il microcircuito 16U2, che funge da convertitore USB-UART. Il microcircuito 16U2, a sua volta, è collegato alla prima UART del microcontrollore SAM3X (pin RX0 e TX0) e ne controlla anche i pin Reset e Erase. Quando la porta viene aperta e chiusa a 1200 baud, si forma un livello attivo sui pin Erase e Reset, che cancella la memoria del microcontrollore. Pertanto, la cosiddetta procedura di "pulizia hardware" viene avviata prima di interagire con SAM3X UART. Questo metodo è più affidabile della "pulizia del software" quando si utilizza la porta USB standard e funziona anche se il processore si blocca. Per questo motivo si consiglia di utilizzare la porta di programmazione per il firmware Arduino Due.
  • Porta USB nativa: per utilizzare questa porta nell'IDE Arduino come scheda di lavoro, selezionare "Arduino Due (Naive USB Port)". La porta USB standard è collegata direttamente al microcontrollore SAM3X. Collega il Due al tuo computer collegando il cavo USB al connettore USB OEM (situato più vicino al pulsante di ripristino). L'apertura e la chiusura della porta a 1200 baud attiverà la procedura di "pulizia del software", durante la quale viene cancellata la memoria flash, riavviato il microcontrollore e avviato il bootloader. Poiché questa procedura viene eseguita esclusivamente dal programma del microcontrollore SAM3X stesso, se quest'ultimo si blocca, il processo di pulizia potrebbe non avvenire. Allo stesso tempo, l'apertura/chiusura della porta standard a velocità diverse non aiuterà a riavviare il microcontrollore.

A differenza di altre schede Arduino, che sono programmate utilizzando avrdude, il processo del firmware Arduino Due viene eseguito utilizzando un programma.

Il codice sorgente del firmware per il microcontrollore ATmega16U2 è disponibile nel repository Arduino. Il microcontrollore può essere flashato tramite il connettore per la programmazione in-circuit dell'ISP utilizzando un programmatore esterno (in questo caso, il bootloader DFU verrà sovrascritto).

Protezione da sovraccarico USB

L'Arduino Due ha fusibili ripristinabili per proteggere la porta USB del computer da cortocircuiti e sovraccarichi. Sebbene la maggior parte dei computer disponga di una propria protezione, questi fusibili forniscono un ulteriore livello di protezione. Se la porta USB assorbe più di 500 mA, il fusibile interromperà automaticamente la connessione fino a eliminare la causa del cortocircuito o del sovraccarico.

Specifiche fisiche e compatibilità con la scheda di espansione

La lunghezza e la larghezza massime del PCB Arduino Due è rispettivamente di 10,2 cm e 5,4 cm, inclusi i connettori USB e di alimentazione che sporgono dalla scheda. Tre fori di montaggio consentono di fissare la scheda a una superficie o a uno chassis. Si prega di notare che la distanza tra i pin digitali 7 e 8 non è un multiplo dei tradizionali 2,54 mm ed è di 4 mm.

Arduino Due è progettato per essere compatibile con la maggior parte delle schede di espansione per Uno, Diecimila o Duemilanove. La disposizione dei pin della scheda madre è del tutto equivalente: pin digitali 0 - 13 (oltre ai pin adiacenti AREF e GND), ingressi analogici 0 - 5, il connettore POWER e il connettore "ICSP" (SPI) - tutti i pin sono situati alla stessa distanza l'uno dall'altro. Inoltre, le linee del ricetrasmettitore UART principale sono collegate agli stessi pin (0 e 1). Si noti che i numeri dei pin I2C su Arduino Due (20 e 21) sono diversi dai pin Duemilanove / Diecimila (pin analogici 4 e 5).

Istruzioni dettagliate per lavorare con Arduino Due (in inglese)

Informazione Generale

Arduino Nano è un dispositivo in miniatura completamente funzionale basato sul microcontrollore ATmega328 (Arduino Nano 3.0) o ATmega168 (Arduino Nano 2.x), adattato per l'uso con breadboard. In termini di funzionalità, il dispositivo è simile all'Arduino Duemilanove, e differisce da esso per dimensioni, mancanza di un connettore di alimentazione e cavo USB di tipo diverso (Mini-B). Arduino Nano è progettato 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. L'ATmega168 e l'ATmega328 dispongono di un ricetrasmettitore UART che consente la comunicazione seriale utilizzando i pin digitali 0 (RX) e 1 (TX). Il chip FTDI FT232RL fornisce la comunicazione tra il ricetrasmettitore e la porta USB di un 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. Quando si trasferiscono dati a un computer tramite USB, i LED RX e TX sulla scheda lampeggeranno. (Questi LED non vengono utilizzati per la trasmissione dati seriale tramite i pin 0 e 1).

L'ATmega168 e l'ATmega328 nell'Arduino Nano sono dotati di un bootloader del 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)

In modo da non dover premere il pulsante di ripristino ogni volta prima di caricare un programma, Arduino Nano è progettato in modo tale da poter essere ripristinato tramite software da un computer collegato. Uno dei pin FT232RL coinvolti nel controllo del flusso di dati (DTR) è collegato al pin RESET del microcontrollore ATmega168 o ATmega328 tramite un condensatore da 100nF. Quando appare uno zero sulla linea DTR, anche il pin RESET si abbassa per un tempo sufficiente a riavviare il microcontrollore. Questa funzione viene utilizzata in modo da poter eseguire il flashing del microcontrollore con un solo clic di un pulsante nell'ambiente di programmazione Arduino. Questa architettura permette di ridurre il timeout del bootloader, in quanto il processo del firmware è sempre sincronizzato con il decadimento del segnale sulla linea DTR. Questa architettura permette di ridurre il timeout del bootloader, in quanto il processo del firmware è sempre sincronizzato con il decadimento del segnale sulla linea DTR.

Tuttavia, questo sistema può portare anche 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 un reset ad Arduino Nano, il bootloader si attiva per circa mezzo secondo. Nonostante il bootloader sia programmato per ignorare i dati estranei (cioè tutti i dati non relativi al processo di flashing di un nuovo programma), può intercettare i primi byte di dati dal pacchetto inviato alla scheda subito dopo la connessione è stabilito. Di conseguenza, se il programma in esecuzione su Arduino prevede la ricezione di eventuali impostazioni o altri dati dal computer al primo avvio, assicurarsi che il software con cui Arduino interagisce invii un secondo dopo che è stata stabilita la connessione.

Probabilmente tutti hanno sentito cos'è una drum machine digitale o una beat machine. La drum machine elettromeccanica creata dal compositore norvegese Koka Nikoladze è tutt'altra cosa. In esso, il suono si forma a causa dell'azione meccanica. La macchina è alimentata da un Arduino, che consente di programmare una melodia per le prestazioni.

Hai sentito parlare di Arduino e vuoi scoprirlo il prima possibile per creare il tuo dispositivo, robot o qualsiasi altra cosa abbiano inventato. Puoi far lampeggiare il LED la prima sera, ma ci vorrà molto più tempo per creare un gadget più complesso. Ci sono molte settimane e persino mesi di studio della programmazione C, alla ricerca di librerie e moduli compatibili, stampelle e superamento delle difficoltà future. Come accelerare il processo? Inizia con una scheda compatibile con Arduino che può essere programmata in JavaScript.

Articolo originale in inglese http://www.bunniestudios.com/blog/?p=2407

La foto mostra i circuiti stampati finiti per Leonardo

La cosa più interessante della lampada è che reagisce a un approccio con l'aiuto di un sensore capacitivo fatto in casa e in generale molto semplice. Il cui elemento principale è un foglio di pellicola. Al momento, questo assemblaggio è solo un prototipo e tutti i componenti elettronici e il sensore (lo stesso foglio di pellicola) non sono in alcun modo integrati nella lampada stessa, ma l'idea in sé è molto interessante.

Arduino, guanto fatto in casa con 5 sensori di curvatura cablati, 5 servi HITEC HS-81 e un braccio meccanico. Come funziona tutto può essere visto nel video. L'Arduino legge i dati dai sensori di curvatura e controlla i servomotori in modo che la mano meccanica segua i movimenti della mano umana. A proposito, nel primo video, l'autore utilizza un set di meccanica manuale già pronto, che può essere acquistato su ebay, sebbene senza componenti elettronici e unità. In un altro progetto, l'autore ha realizzato una mano simile con materiali di scarto.

In questo progetto, ti mostrerò come collegare una matrice LED 8x8 full color a un Arduino. La matrice stessa ha 32 ingressi: 8 anodi, 8 catodi rossi, 8 verdi e 8 blu. In questo caso, verranno utilizzate solo 3 uscite per Arduino per controllare la matrice. Non c'è magia qui, ma ci sono 4 registri a scorrimento 74HC595.

Per ulteriori informazioni sull'utilizzo del 74HC59 con un Arduino, vedere Utilizzo del registro a scorrimento 74HC595 per aumentare il numero di uscite.

Un registro ci fornisce 8 uscite, poiché la nostra matrice ha 32 ingressi, il progetto utilizza la tecnica dei registri a scorrimento in cascata. Abbiamo bisogno di 4 registri 74HC59, mentre il numero di connessioni all'Arduino non cambierà e verranno utilizzate 3 uscite all'Arduino. per la gestione. L'alimentazione è fornita tramite USB, ma puoi anche connetterti in modalità standalone.

Riprendere processi in rapido movimento, come una goccia che cade, l'esplosione di un pallone, è un compito molto difficile. È quasi impossibile indovinare il momento esatto in cui è necessario premere il pulsante di scatto senza dispositivi speciali. No, ovviamente puoi fare cento tentativi e, a un certo punto, la fortuna si rivolgerà a te. Ma puoi fare a meno di centinaia di palle. È qui che entra in gioco Arduino. Quanto segue descrive il processo di costruzione di un trigger automatico basato su Arduino che risponde all'intercettazione di suoni o laser.

A rigor di termini, Arduino non controllerà l'otturatore della fotocamera, ma il flash. Sfortunatamente, il ritardo nella reazione della telecamera al segnale è dell'ordine di 20 millisecondi, che non è evidente all'occhio umano, ma è comunque più lungo di quanto ci si possa permettere quando si spara a un palloncino che esplode. Pertanto, le riprese vengono eseguite in una stanza buia con una velocità dell'otturatore di 10 secondi, ma il flash si attiva esattamente al momento giusto. Poiché non c'è praticamente illuminazione nella stanza, l'intera esposizione della fotografia avverrà esattamente al momento dell'operazione del flash (circa 1 millisecondo).

Buona giornata!
Per un po' di tempo libero ho fatto tutti i tipi di cianfrusaglie elettroniche. Ho iniziato con la programmazione di tinek e meg in IAR, fino a quando mi sono reso conto che le cose sono molto più semplici con Arduino. E proprio di recente ho scoperto una copia dell'Arduino DUE nei vasti negozi cinesi ad un prezzo leggermente più caro del noto Mega2560.

Per chi non sa cos'è e con cosa si mangia

Arduino è un designer elettronico e una piattaforma di facile utilizzo per lo sviluppo rapido di dispositivi elettronici per principianti e professionisti. La piattaforma è molto popolare in tutto il mondo grazie alla praticità e semplicità del linguaggio di programmazione, nonché all'architettura aperta e al codice del programma. Il dispositivo è programmabile tramite USB senza l'utilizzo di programmatori.

Arduino consente al computer di andare oltre il mondo virtuale nel fisico e interagire con esso. I dispositivi basati su Arduino possono ricevere informazioni sull'ambiente attraverso vari sensori e possono anche controllare vari attuatori.

Il microcontrollore sulla scheda è programmato utilizzando il linguaggio Arduino (basato sul linguaggio Wiring) e l'ambiente di sviluppo Arduino (basato sull'ambiente Processing). I progetti di dispositivi basati su Arduino possono funzionare in modo indipendente o interagire con il software su un computer (es: Flash, Processing, MaxMSP). Le schede possono essere assemblate dall'utente stesso o acquistate assemblate. Il software è disponibile per il download gratuito. I disegni schematici originali (file CAD) sono disponibili pubblicamente e gli utenti possono applicarli come desiderano.
© arduino.ru


Ho iniziato la mia conoscenza con arduino con l'acquisto della controparte cinese Mega2560. All'inizio, ho giocato, collegato display, sensori, servomotori, fino a quando in qualche modo ho avuto bisogno di creare un dispositivo per lavoro che leggesse le tensioni da uno shunt di corrente e un termistore, convertendo il tutto in una forma normale e visualizzandolo sul display. È qui che è tornato utile l'arduin, in 5 minuti è stato scritto uno schizzo, il display è stato collegato e la scheda si è messa al lavoro. Certo, si è rivelato da un cannone a un passero, ma a quel tempo era la soluzione più veloce. Poi ho ordinato una dozzina di ProMini per 100 rubli e volevo trasferire uno schizzo a uno di loro, ma come sai, non c'è niente di più permanente del temporaneo e la mia pigrizia non me lo ha permesso. A casa, dovevo accontentarmi di schede da 100 rubli, poiché, a parte il numero di pin, la memoria e l'assenza di un convertitore USB-UART, non differivano molto da mega.

Ma le conclusioni cominciarono a mancare e un giorno, girovagando per gli spazi aperti della bangguda, mi sono imbattuto in un Arduino DUE. Il suo prezzo era leggermente superiore a quello del Mega2560 e l'ho comprato subito. La principale differenza tra questo e altri arduin è che al suo interno ha un microcontrollore ARM a 32 bit dell'architettura Cortex-M3 che opera a una frequenza di 84 MHz.

Il pacco è arrivato in 27 giorni, la tavola era avvolta in diversi strati di pluriball e confezionata in una tipica busta cinese gialla.

Vista frontale:


La saldatura è fatta in modo ordinato, ma se guardi da vicino, puoi vedere piccoli difetti nella serigrafia.
Come puoi vedere dalla foto, questa scheda ha due connettori microUSB. Uno è necessario per la programmazione e attraverso la seconda scheda può comunicare con il mondo esterno: leggere unità flash, emulare una tastiera, un mouse (non l'ho ancora testato personalmente). C'è anche un pulsante di cancellazione complicato, premendo il quale cancella il flash del microcontrollore.

Vista posteriore:

Caratteristiche tecniche del tabellone (preso da off site):
Microcontrollore: AT91SAM3X8E
Tensione di lavoro: 3,3 V
Tensione di ingresso (consigliata): 7-12V
Tensione di ingresso (limite): 6-20V
Ingressi/Uscite Digitali: 54 (12 dei quali implementano uscita PWM)
Ingressi analogici: 12
Uscite Analogiche: 2 (DAC)
Corrente di uscita DC totale su tutti gli I/O: 50 mA
Corrente CC tramite pin 3,3 V: 800 mA
Corrente CC tramite pin 5V: 800mA
Memoria flash: 512 KB totali disponibili per applicazioni personalizzate
RAM: 96KB (due banchi: 64KB e 32KB)
Frequenza di clock: 84 MHz

Sono presenti tutte le interfacce standard come SPI, 1Wire, UART.
Puoi leggere più in dettaglio

Ed ecco il MK più grande stesso:

Il 16° mega con quarzo da 16 MHz è responsabile della sua programmazione:

Ed è temporizzato da un quarzo esterno:


Come suggerito dal compagno Angrim, 84 MHz si ottengono moltiplicando per 7 l'originale 12.

Una caratteristica importante è che a differenza di altre schede Arduino, Arduino Due funziona da 3,3 V. La tensione massima che l'I/O può sopportare è 3,3 V.
In linea di principio, la maggior parte dei sensori può funzionare da 3,3 volt, ma alcuni schermi non funzioneranno.
In altre cose, puoi sempre comprare queste cose: c'è un 5V sulla scheda.

Per scrivere schizzi e riempirli, è necessario scaricare Arduino 1.5.8 BETA, con supporto DUE. Tuttavia, va notato che non tutte le librerie scritte per altre versioni di arduino funzionano bene con DUE. Ho una libreria per lavorare con un sensore BMP180 che ha funzionato bene con mega, ha fornito dati non realistici, ho dovuto scaricare una libreria da Adafruit. Ho anche notato che l'MC non avvia sempre l'esecuzione del programma dopo l'accensione, a volte è necessario premere reset. Di chi sia questo problema, la versione beta dell'IDE o la scheda cinese, non lo so.

test

Innanzitutto, per verifica, ho caricato uno schizzo che interroga il sensore BMP180 e scrive i dati da esso (pressione e temperatura) su un'unità flash USB.


Tutto ha funzionato, tuttavia, come ho scritto sopra, ho dovuto usare la libreria Adafruit.

Risultato

E, naturalmente, come non usare il DAC integrato!
Per fare ciò, compila l'esempio SimpleAudioPlayer, collega l'unità flash USB con il file test.waw compilato con waw e collega il pin DAC0 insieme alla massa all'amplificatore. Nel mio caso, l'amplificatore era un altoparlante portatile ottenuto per una promozione da Pringles. Ho semplicemente legato le conclusioni al jack con due resistori da 10 kOhm. su una linea retta, l'altoparlante era rigidamente sovraccaricato.

Goditi la musica dall'altoparlante!


Il suono è ovviamente così così, tutti gli stessi 12 bit si fanno sentire, ma per arduina non è nemmeno male!
Ora stiamo progettando di acquistare un display a colori ed eseguire video su di esso.

Bene, di conseguenza, considera i pro e i contro di questa arduina
Professionisti:
- A basso costo
- Controller 32 bit e frequenza 84 MHz.
- Disponibilità di DAC 12 bit 1Msps
- ADC a 12 bit
- USB nativo

Svantaggi:
- Tensione di esercizio 3,3V (incompatibilità con alcuni schermi/dispositivi)
- Incompatibilità con alcune librerie.
- A volte dopo aver acceso l'alimentazione, è necessario premere reset in modo che il programma si avvii

In generale mi è piaciuto, magari in futuro usciranno altri stipiti, se vi faccio sapere.

Grazie a tutti per l'attenzione!

Ho intenzione di acquistare +59 Aggiungi ai preferiti mi è piaciuta la recensione +51 +107

Avrai bisogno di un cavo USB Micro-B per collegare Arduino Due al tuo computer. È necessario un cavo USB sia per l'alimentatore che per il firmware del dispositivo.

Collega un'estremità del cavo micro-USB al connettore di programmazione Arduino Due (situato vicino al connettore di alimentazione). Per eseguire il flashing di uno sketch, nell'ambiente di programmazione Arduino IDE, selezionare la voce Arduino Due (Programming port) dal menu Tools > Board, e selezionare la porta seriale appropriata dal menu Tools > Serial Port.

Principali differenze rispetto alle schede basate su microcontrollori ATMEGA

In generale, i principi per programmare e lavorare con Arduino Due sono gli stessi degli altri modelli Arduino. Tuttavia, ci sono alcune differenze chiave tra Due e altre schede.

Il PCB Due è simile al modello Arduino Mega 2560.

Voltaggio

Il microcontrollore di Arduino Due funziona a 3,3 V, il che comporta alcune limitazioni. In particolare, anche la tensione utilizzata per alimentare i sensori collegati o comandare gli attuatori non può superare i 3,3V. Se viene applicata una tensione più alta (ad esempio 5 V, che è tipica per la maggior parte delle schede Arduino), l'Arduino Due si guasterà.

Il dispositivo può essere alimentato sia da USB che dal connettore di alimentazione. Nel secondo caso, la tensione di alimentazione dovrebbe essere compresa tra 7V e 12V.

Arduino Due ha un regolatore di tensione di commutazione ad alta efficienza che soddisfa i requisiti dei dispositivi host USB. Grazie a ciò, Arduino può fungere da fonte di alimentazione per qualsiasi gadget USB che può essere collegato a una porta USB standard, che funge da host. Arduino può funzionare come host USB solo se alimentato da una fonte esterna.

Porte seriali su Arduino Due

L'Arduino Due ha due porte USB. Porta USB nativa (contrassegnata nella figura come nativo) è collegato direttamente al processore SAM3X e supporta la comunicazione seriale CDC attraverso l'oggetto USB seriale... La seconda porta USB è la porta di programmazione (indicata in figura come Programmazione porta). È collegato al controller ATMEL 16U2, che funge da convertitore USB-UART. Per impostazione predefinita, la porta di programmazione viene utilizzata per scaricare programmi e interagire con Arduino.

Il convertitore USB-UART per la programmazione è collegato alla prima UART del controller SAM3X. Pertanto, è possibile interagire a livello di codice con questa porta tramite l'oggetto "Seriale".

La porta USB di serie è collegata direttamente ai pin del controller SAM3X, che sono responsabili della funzione host USB. La porta USB standard consente di utilizzare Arduino Due sia come periferica esterna (ad esempio mouse o tastiera USB) sia come host USB a cui collegare vari dispositivi (come mouse, tastiera o smartphone Android, Per esempio). E con l'aiuto dell'oggetto "SerialUSB", descritto nel linguaggio di programmazione Arduino, la stessa porta può essere utilizzata come porta seriale virtuale.

Ripristino automatico (software)

Il microcontrollore SAM3X differisce dai microcontrollori AVR in quanto prima di eseguire il flashing della sua memoria flash, il suo contenuto deve essere prima cancellato. Per farlo manualmente, è necessario tenere premuto il pulsante di cancellazione della memoria per circa un secondo, premere il pulsante Carica nell'ambiente Arduino, quindi premere il pulsante di ripristino.

Per non ripetere ogni volta questa procedura, è stata automatizzata e può essere eseguita a livello di programmazione sia tramite la porta standard che tramite la porta di programmazione:

Porta standard

La procedura di cancellazione software (cosiddetta "cancellazione software") si attiva automaticamente quando si chiude una porta aperta a 1200 bps. Questo cancella la memoria flash del controller, ripristina il dispositivo e avvia il bootloader. Se, per qualsiasi motivo, durante questo processo, il processore si guasta, molto probabilmente la cancellazione software non si verificherà, poiché questa procedura viene eseguita in modo programmatico dal controller stesso.

L'apertura e la chiusura della porta standard a velocità diverse da 1200 baud non riavvierà il controller SAM3X. Per utilizzare il programma Serial Monitor per monitorare i dati inviati dallo sketch, è necessario aggiungere alcune righe di codice al blocco del programma setup(). Tale frammento costringerà il controller SAM3X ad attendere l'apertura della porta SerialUSB prima di eseguire il programma principale:

Mentre (! Seriale);

Premendo il pulsante di ripristino su Arduino Due non solo si riavvia il SAM3X, ma si ripristina anche la connessione USB. Se il programma Serial Monitor è aperto, dopo l'interruzione della connessione è necessario chiuderlo e riaprirlo per ripristinare la sessione di comunicazione.

Porta di programmazione

La porta USB per la programmazione interagisce con il convertitore USB-UART Arduino, che a sua volta è collegato alla prima UART del microcontrollore SAM3X (ovvero ai pin RX0 e TX0). Inoltre, il microcircuito convertitore USB-UART controlla anche i pin Reset e Erase del microcontrollore principale. All'apertura della porta seriale, il convertitore USB-UART, prima di scambiare dati con l'UART del controller, forma un livello di segnale attivo sui pin Erase e Reset, che cancella la memoria del SAM3X. Questo metodo è più affidabile della "pulizia del software" quando si utilizza la porta USB standard e funziona anche se il processore si blocca.

Per interagire a livello di codice con questa porta nell'ambiente di sviluppo Arduino, utilizzare l'oggetto "Serial". Il lavoro con la porta USB è strutturato in modo simile su Arduino Uno, quindi tutti i programmi scritti per Uno funzioneranno anche su Due. Inoltre, la porta di programmazione Arduino Due si comporta come la porta seriale Uno, in quanto il convertitore da USB a UART come parte del dispositivo ripristina il controller host ogni volta che viene aperta la porta seriale.

Premendo il pulsante di ripristino durante l'utilizzo della porta di programmazione non si interrompe la connessione USB al computer, poiché viene ripristinato solo il controller principale SAM3X.

host USB

L'Arduino Due può fungere da host USB per le periferiche collegate alla porta SerialUSB. Per ulteriori informazioni ed esempi di codice, vedere la guida dell'host USB.

Quando il Due viene utilizzato come host, fornisce anche alimentazione al dispositivo collegato. Pertanto, in questa modalità di funzionamento, si consiglia vivamente di alimentare Arduino Due da una fonte di alimentazione esterna.

Bit ADC e PWM

L'Arduino Due ha la capacità di modificare la profondità di bit per leggere e generare valori analogici (che, per impostazione predefinita, sono rispettivamente 10 e 8 bit). La capacità massima di ADC e PWM è di 12 bit. Vedere analogWriteResolution () e analogReadResolution () per ulteriori informazioni.

Funzionalità SPI avanzate

Installazione dei driver per Arduino Due

OSX

  • Non è richiesta l'installazione di driver su OSX. A seconda della versione del sistema operativo installata, quando si collega il dispositivo al computer, dovrebbe apparire una finestra di dialogo che richiede di aprire "Preferenze di rete". Fare clic su "Preferenze di rete...", attendere che appaia la finestra e fare clic sul pulsante "Applica". Arduino Due apparirà nel sistema come "Non configurato", ma funzionerà correttamente. Ora puoi uscire dalle impostazioni di sistema.

Windows (testato su XP e 7)


Linux

  • Su Linux, non è necessaria alcuna installazione di driver.

Firmware Arduino Due

Dal punto di vista dell'utente, il processo di flashing dei programmi in Arduino Due viene eseguito allo stesso modo degli altri modelli Arduino. Sebbene qualsiasi porta USB del Due possa essere utilizzata per flashare gli schizzi, si consiglia comunque di utilizzare la porta di programmazione per questo scopo.

Per eseguire il flashing del programma tramite la porta di programmazione, procedi come segue:

  • Collega il tuo dispositivo al computer collegando il cavo USB alla porta di programmazione Arduino (questa porta si trova più vicino al connettore di alimentazione).
  • Apri l'ambiente di sviluppo Arduino.
  • Dal menu "Strumenti", selezionare "Porta seriale" e selezionare la porta seriale associata all'Arduino Due nel sistema.
  • Dal menu "Strumenti> Schede" selezionare "Arduino Due (Porta di programmazione)"

Dopo aver completato questi passaggi, puoi eseguire il flashing del programma in Arduino.

Principali articoli correlati