Cum se configurează smartphone-uri și PC-uri. Portal informativ

Proiecte Arduino. Arduino chinezesc DUE

Informații generale

Arduino Due este un dispozitiv bazat pe microprocesorul Atmel SAM3X8E ARM Cortex-M3 (fișă de date). Aceasta este prima placă Arduino bazată pe un microcontroler ARM pe 32 de biți. Include 54 de pini digitali (dintre care 12 pot funcționa ca ieșiri PWM), 12 intrări analogice, 4 UART-uri (transceiver-uri seriale hardware), un generator de ceas de 84 MHz, USB cu suport OTG, 2 DAC ( convertor digital-analogic), 2 TWI, conector de alimentare, conector SPI, conector JTAG, buton de resetare și butonul de ștergere a memoriei.

Atentie: spre deosebire de alte placi Arduino, functioneaza Tensiune Arduino Se datorează 3,3V. În consecință, tensiunea maximă pe care o pot rezista bornele sale este de 3,3 V. Aplicarea unei tensiuni mai mari (de exemplu, 5V) la pin poate duce la defectarea plăcii.

Dispozitivul include tot ce este necesar pentru a asigura funcționarea microcontrolerului; Pentru a începe, pur și simplu furnizați energie de la un adaptor AC/DC sau baterie sau conectați-l la computer printr-un cablu USB. Arduino Due este compatibil cu toate plăcile de expansiune care funcționează la 3,3 V și îndeplinește cerințele pinout 1.0:

  • Pinii SDA și SCL (TWI) sunt localizați lângă pinul AREF.
  • Există un pin IOREF care permite plăcilor de expansiune să se ajusteze la tensiunea de operare a Arduino. Datorită acestui fapt, plăcile de expansiune pot fi compatibile atât cu Arduinos de 3,3 V (cum ar fi Due) cât și cu Arduinos de 5 V bazate pe microcontrolere AVR.
  • Este oferită o ieșire gratuită, rezervată pentru scopuri viitoare.

Beneficiile utilizării unui nucleu ARM

Datorită utilizării pe 32 de biți Miezuri ARM Arduino Due este superior plăcilor tipice de microcontroler pe 8 biți în multe feluri. Cele mai semnificative diferențe sunt următoarele:

  • Nucleul de 32 de biți vă permite să procesați date de 4 octeți într-un singur ciclu de ceas. (Pentru mai mult informatii detaliate vezi descrierea tipului int).
  • Frecvența ceasului- 84 MHz.
  • Volum memorie cu acces aleator SRAM este de 96 KB.
  • Volumul memoriei flash pentru programe este de 512 KB.
  • Prezența unui controler DMA care vă permite să descărcați CPU de la efectuarea de operațiuni de memorie cu consum mare de resurse.

Schemă, design original și pinout

Caracteristici

Microcontroler AT91SAM3X8E
Tensiunea de operare 3,3 V
Tensiune de alimentare (recomandat) 7-12V
Tensiune de alimentare (limită) 6-16V
Ieșiri digitale 54 (dintre care 12 pot funcționa ca ieșiri PWM)
Intrări analogice 12
Ieșiri analogice 2 (DAC)
Curentul total de ieșire al tuturor pinii (maximum) 130 mA
Curentul maxim de ieșire a pinului 3,3 V 800 mA
Curentul maxim de ieșire a pinului 5V 800 mA
Memorie flash 512 KB în în întregime disponibile pentru programele utilizatorului
SRAM 96 KB (două bănci de memorie: 64 KB și 32 KB)
Frecvența ceasului 84 MHz

Nutriție

Arduino Due poate fi alimentat de la USB sau sursă externă alimentare - tipul sursei este selectat automat.

Un adaptor de rețea AC/DC sau o baterie/baterie poate fi folosit ca sursă de alimentare externă (nu USB). Ștecherul adaptor (diametru - 2,1 mm, contact central - pozitiv) trebuie introdus în conectorul de alimentare corespunzător de pe placă. Dacă este alimentat de o baterie/baterie, firele acesteia trebuie conectate la pinii Gnd și Vin ai conectorului POWER.

Tensiunea sursei de alimentare externă poate fi în intervalul de la 6 la 20 V. Cu toate acestea, reducerea tensiunii de alimentare sub 7 V duce la o scădere a tensiunii la pinul de 5 V, ceea ce poate provoca muncă instabilă dispozitive. Utilizarea unei tensiuni mai mare de 12V poate duce la supraîncălzirea regulatorului de tensiune și la defecțiunea plăcii. Având în vedere acest lucru, se recomandă utilizarea unei surse de alimentare cu o tensiune cuprinsă între 7 și 12V.

Următoarele sunt pinii de alimentare situati pe placă:

  • VIN Tensiune furnizată Arduino direct de la o sursă de alimentare externă (nu este legată de 5V de la USB sau altă tensiune reglată). Prin intermediul acestui pin puteți să furnizați energie externă și să consumați curent atunci când dispozitivul este alimentat de la un adaptor extern.
  • 5V. Pinul primește o tensiune de 5V de la stabilizatorul de tensiune de pe placă, indiferent de modul în care este alimentat dispozitivul: de la adaptor (7 - 12V), de la USB (5V) sau prin pinul VIN (7 - 12V). Nu este recomandat să alimentați dispozitivul prin pinii de 5V sau 3V3, deoarece în acest caz nu este utilizat un stabilizator de tensiune, ceea ce poate duce la defectarea plăcii.
  • 3V3. 3.3V provenind de la regulatorul de tensiune de pe placă. Acest stabilizator oferă și putere microcontrolerului SAM3X. Curentul maxim extras din acest pin este de 800 mA.
  • GND. Concluziile pământului.
  • IOREF. Acest pin oferă plăcilor de expansiune informații despre tensiunea de funcționare a microcontrolerului Arduino. În funcție de tensiunea citită de la pinul IOREF, placa de expansiune poate comuta la sursa de alimentare adecvată sau poate utiliza convertoare de nivel, ceea ce îi va permite să funcționeze atât cu dispozitive de 5V, cât și de 3,3V.

Memorie

Dimensiunea memoriei flash a programelor de microcontroler SAM3X este de 512 KB (2 blocuri de 256 KB). Dispozitivul este produs cu un bootloader de firmware situat într-o memorie ROM separată. Memoria SRAM disponibilă este de 96 KB, reprezentând două bănci de memorie contigue de 64 KB și, respectiv, 32 KB. Toate memorie disponibilă(Flash, RAM și ROM) are un spațiu de adrese liniar comun.

Butonul de ștergere situat pe placă vă permite să ștergeți memoria flash a microcontrolerului SAM3X și să ștergeți programul încărcat curent. Pentru a face acest lucru, trebuie să apăsați și să țineți apăsat timp de câteva secunde.

Intrări și ieșiri

  • Intrări/ieșiri digitale: pini 0 - 53
  • Interfață SPI: pini SPI(Conector ICSP pe plăcile Arduino)
  • Interfață CAN: pini CANRX și CANTX

Totuși, acești pini acceptă protocolul de comunicație CAN acest moment implementarea sa în API-ul Arduino nu este încă disponibilă.

  • LED „L”: pin 13

LED încorporat conectat la pinul 13. Când trimiteți o valoare HIGH, LED-ul se aprinde, când trimiteți o valoare LOW, LED-ul se stinge. În plus, luminozitatea LED-ului poate fi ajustată, deoarece pinul 13 poate funcționa ca ieșire PWM.

  • Interfața TWI 1: pinii 20 (SDA) și 21 (SCL)
  • Interfață TWI 2: pini SDA1 și SCL1

Alți pini de pe placă:

  • AREF

Tensiune de referință ADC. Folosit de funcția analogReference().

  • Resetați

Apăsarea unui nivel scăzut (LOW) pe acest pin va reseta microcontrolerul. În mod obișnuit, acest pin este folosit pentru a acționa butonul de resetare pe cardurile de expansiune.

Conexiune

Arduino Due oferă o serie de opțiuni pentru comunicarea cu un computer, un alt Arduino sau alte microcontrolere, precum și cu diverse dispozitive precum telefoane, tablete, camere, etc. Microcontrolerul SAM3X are un UART hardware și trei USART hardware pentru a implementa interfețe seriale cu un nivel de tensiune TTL de 3,3V.

Portul de programare USB de pe placă interacționează cu cipul ATmega16U2, care acționează ca un convertor USB-UART, care, atunci când este conectat la un computer, este definit ca un port COM virtual. (Pentru o identificare corectă pe sistemele Windows, veți avea nevoie de un fișier .inf; pe sistemele cu OSX și LINUX, placa este recunoscută automat). Cipul 16U2 este conectat la transceiver-ul hardware UART al microcontrolerului SAM3X. Pentru a programa microcontrolerul prin intermediul cipul ATmega16U2, se folosesc pinii RX0 și TX0. Pachetul software Arduino include program special, care vă permite să citiți și să trimiteți date text simple către Arduino. Când transmiteți date prin cipul convertizor USB-UART în timpul unei conexiuni USB la un computer, LED-urile RX și TX de pe placă vor clipi. (Când datele seriale sunt transmise prin pinii 0 și 1, fără a utiliza un convertor USB, aceste LED-uri nu sunt activate.)

Microcontrolerul SAM3X acceptă și interfețele seriale TWI și SPI. Software-ul Arduino include biblioteca Wire, ceea ce facilitează lucrul cu magistrala I2C; Consultați documentația pentru mai multe detalii. A lucra cu Interfață SPI utilizați biblioteca SPI.

Programare

Procesul de încărcare a programelor în microcontrolerul SAM3X este diferit de procesul de intermitere a microcontrolerelor AVR utilizate în alte plăci Arduino. Particularitatea SAM3X este că, pentru a-l flash, trebuie mai întâi să ștergeți memoria flash a controlerului. Această nevoie se datorează faptului că procesul de încărcare a programului este controlat de bootloader-ul din ROM-ul SAM3X, care este lansat doar dacă programul nu se află în memoria Flash a microcontrolerului.

Astfel, oricare dintre porturile USB poate fi folosit pentru flash-ul plăcii. Cu toate acestea, se recomandă utilizarea unui port USB pentru programare („Portul de programare” din figură) datorită unor caracteristici ale procesului de ștergere a memoriei microcontrolerului:

  • Port de programare: Pentru a utiliza acest port în mediu Dezvoltare Arduino Selectați „Arduino Due (Port de programare)” ca IDE al plăcii de lucru. Conectați Due la computer conectând cablul USB la portul de programare (situat cel mai aproape de portul de alimentare). Portul de programare interacționează cu cipul 16U2, care acționează ca un convertor USB-UART. Cipul 16U2, la rândul său, este conectat la primul UART al microcontrolerului SAM3X (pinii RX0 și TX0) și controlează, de asemenea, pinii Reset și Erase. Când portul este deschis și închis la o viteză de 1200 baud, se formează un nivel activ pe pinii Erase și Reset, ceea ce duce la ștergerea memoriei microcontrolerului. Astfel, așa-numita procedură de „curățare hardware” este declanșată înainte de a interacționa cu SAM3X UART. Această metodă este mai fiabilă decât " curățare software" atunci când utilizați un port USB standard și funcționează chiar dacă procesorul îngheață. De aceea pt Firmware-ul Arduino Datorita se recomanda folosirea portului pentru programare.
  • Port USB standard: Pentru a utiliza acest port într-un mediu de dezvoltare Arduino IDE selectați „Arduino Due (Naive)” ca placă de lucru Port USB)". Portul USB de stoc este conectat direct la microcontrolerul SAM3X. Conectați computerul Due to conectând cablul USB la conectorul USB de stoc (situat mai aproape de butonul de resetare). Deschiderea și închiderea portului la 1200 baud va declanșa procedura "software wipe" ", în timpul căreia memoria flash este șters, microcontrolerul este repornit și bootloader-ul pornește. Deoarece această procedură este efectuată exclusiv de programul microcontrolerului SAM3X însuși, în cazul înghețului ultimul proces curățarea poate să nu aibă loc. În acest caz, deschidere/închidere port standard la viteze diferite nu va ajuta la repornirea microcontrolerului.

Spre deosebire de alte plăci Arduino, care sunt programate folosind avrdude, procesul de firmware Arduino Due se realizează folosind programul.

Sursă Firmware-ul microcontrolerului ATmega16U2 este disponibil în depozitul Arduino. Puteți intermite microcontrolerul prin conectorul de programare în circuitul ISP folosind un programator extern (în acest caz, bootloader-ul DFU va fi suprascris).

Protecție la supraîncărcare USB

Arduino Due are siguranțe resetabile care protejează portul USB al computerului de scurtcircuite și suprasarcini. Deși majoritatea computerelor au propria apărare, astfel de siguranțe asigură nivel suplimentar protecţie. Dacă portul USB consumă mai mult de 500 mA de curent, siguranța va întrerupe automat conexiunea până când cauza este eliminată scurt circuit sau supraîncărcare.

Caracteristici fizice și compatibilitate cu cardurile de expansiune

Lungimea și lățimea maximă a PCB-ului Arduino Due este de 10,2 cm, respectiv 5,4 cm, inclusiv conectorii USB și de alimentare care ies din placă. Trei găuri de montare vă permit să atașați placa pe o suprafață sau carcasă. Vă rugăm să rețineți că distanța dintre pinii digitali 7 și 8 nu este un multiplu al tradiționalului 2,54 mm și este de 4 mm.

Arduino Due este conceput pentru a fi compatibil cu majoritatea plăcilor de expansiune Uno, Diecimila sau Duemilanove. Dispunerea pinilor plăcii principale este complet echivalentă: pinii digitali 0 - 13 (precum și pinii adiacenți AREF și GND), intrări analogice 0 - 5, conector POWER și conector „ICSP” (SPI) - toți pinii sunt amplasați la aceleași distanțe unul față de celălalt. În plus, liniile principale ale transceiver-ului UART sunt conectate la aceiași pini (0 și 1). Vă rugăm să rețineți că numerele de pin I2C de pe Arduino Due (20 și 21) sunt diferite de pinii Duemilanove/Diecimila (intrarile analogice 4 și 5).

Instrucțiuni detaliate pentru lucrul cu Arduino Due (în engleză)

Informații generale

Arduino Nano este un dispozitiv miniatural cu funcții complete bazat pe microcontrolerul ATmega328 (Arduino Nano 3.0) sau ATmega168 (Arduino Nano 2.x), adaptat pentru utilizare cu placi de dezvoltare. Dispozitivul este similar ca funcționalitate cu Arduino Duemilanove, dar diferă de acesta prin dimensiune, lipsa unui conector de alimentare și un tip diferit (Mini-B) de cablu USB. Arduino Nano este dezvoltat și fabricat de Gravitech.

Design schematic si original

Conexiune

Arduino Nano oferă o serie de opțiuni pentru comunicarea cu un computer, un alt Arduino sau alte microcontrolere. ATmega168 și ATmega328 au un transceiver UART care permite comunicarea prin intermediul interfețe seriale prin iesiri digitale 0 (RX) și 1 (TX). Cipul FTDI FT232RL asigură comunicarea între transceiver și portul USB al computerului, iar atunci când este conectat la un PC, permite definirea lui Arduino ca port COM virtual (driverele FTDI sunt incluse în pachetul software Arduino). Pachetul software Arduino include, de asemenea, un program special care vă permite să citiți și să trimiteți date text simple către Arduino. Când transferați date către un computer prin USB, LED-urile RX și TX de pe placă vor clipi. (Când datele seriale sunt transmise prin pinii 0 și 1, aceste LED-uri nu sunt activate.)

ATmega168 și ATmega328 de pe Arduino Nano vin cu un bootloader de firmware care vă permite să încărcați programe noi în microcontroler fără a fi nevoie de un programator extern. Interacțiunea cu acesta se realizează folosind protocolul original STK500 (,).

Resetare automată (software).

Pentru a evita nevoia de a apăsa butonul de resetare de fiecare dată înainte de a încărca un program, Arduino Nano este proiectat în așa fel încât să poată fi resetat prin software de la un computer conectat. Unul dintre pinii cipului FT232RL, implicat în controlul fluxului de date (DTR), este conectat la pinul RESET al microcontrolerului ATmega168 sau ATmega328 printr-un condensator de 100 nF. Când apare un zero pe linia DTR, pinul RESET merge și la nivel scăzut pentru un timp suficient pentru a reporni microcontrolerul. Această caracteristică folosit pentru a vă permite să flashați microcontrolerul cu un singur clic pe buton în mediul de programare Arduino. Această arhitectură vă permite să reduceți timpul de expirare a bootloader-ului, deoarece procesul de firmware este întotdeauna sincronizat cu declinul semnalului pe linia DTR. Această arhitectură vă permite să reduceți timpul de expirare a bootloader-ului, deoarece procesul de firmware este întotdeauna sincronizat cu declinul semnalului pe linia DTR.

Cu toate acestea, acest sistem poate duce la alte consecințe. Când conectați Arduino Nano la computere care rulează Mac OS X sau Linux, microcontrolerul său se va reseta de fiecare dată când software-ul se conectează la placă. După resetarea Arduino Nano, bootloader-ul este activat pentru aproximativ o jumătate de secundă. În ciuda faptului că bootloader-ul este programat să ignore datele străine (adică toate datele care nu sunt legate de procesul de firmware program nou), poate intercepta primii câțiva octeți de date din pachetul trimis pe placă imediat după stabilirea conexiunii. În consecință, dacă programul care rulează pe Arduino este proiectat să primească orice setări sau alte date de la computer la prima lansare, asigurați-vă că software-ul cu care interacționează Arduino trimite o secundă după ce conexiunea este stabilită.

Probabil că toată lumea a auzit ce este o mașină de tobe digitală sau, altfel, o mașină de beat. Aparatul de tobe electromecanic creat de compozitorul norvegian Koka Nikoladze este o chestiune complet diferită. În ea, sunetul se formează datorită acțiunii mecanice. Mașina funcționează sub Control Arduino, care vă permite să programați o melodie pentru interpretare.

Ați auzit despre Arduino și doriți să vă dați seama rapid pentru a vă crea propriul dispozitiv, robot sau orice altceva vin. Puteți clipi un LED în prima seară, dar crearea unui gadget mai complex va dura mult mai mult timp. Sunt săptămâni lungi și chiar luni înainte de a studia programarea în C, de a căuta biblioteci și module compatibile, de cârje și de a depăși dificultățile. Cum să accelerezi procesul? Începeți cu o placă compatibilă Arduino care poate fi programată în JavaScript.

Articolul original în limba engleză http://www.bunniestudios.com/blog/?p=2407

Gata in fotografie plăci de circuite imprimate pentru Leonardo

Cel mai interesant lucru despre lampă este că reacționează la abordare folosind un produs de casă și, de fapt, foarte simplu senzor capacitiv. Elementul principal, care este o foaie de folie. Momentan, acest ansamblu este doar un prototip, iar toate componentele electronice și senzorul (aceeași foaie de folie) nu sunt în niciun fel integrate în lampa în sine, dar ideea în sine este foarte interesantă.

Arduino, mănușă de casă cu 5 senzori de îndoire cu fir, 5 servo-uri HITEC HS-81 și braț mecanic. Puteți vedea cum funcționează totul în videoclip. Arduino citește datele de la senzorii de îndoire și controlează servomotoarele, astfel încât brațul mecanic să repete mișcările mâinii umane. Apropo, în primul videoclip îl folosește autorul pregătiți, stabiliți mecanică manuală, care poate fi cumpărată de pe ebay, deși fără componente electroniceși conduce. Într-un alt proiect, autorul a făcut o mână similară din materiale vechi.

În acest proiect, autorul va arăta cum puteți conecta o matrice LED 8x8 color la un Arduino. Matricea în sine are 32 de intrări: 8 anozi, 8 catozi roșii, 8 verzi și 8 albaștri. În acest caz, doar 3 ieșiri de pe Arduino vor fi folosite pentru a controla matricea. Nu există magie aici, dar există 4 registre de deplasare 74HC595.

Puteți citi mai multe despre utilizarea 74HC59 cu Arduino în instrucțiunile Utilizarea unui registru de schimbare 74HC595 pentru a crește numărul de ieșiri.

Un registru ne oferă 8 ieșiri, deoarece matricea noastră are 32 de intrări, designul folosește o tehnică de registru cu deplasare în cascadă. Vom avea nevoie de 4 registre 74HC59, în timp ce numărul de conexiuni la Arduino nu se va modifica și vor fi folosite 3 ieșiri la Arduino. Pentru condus. Alimentarea este furnizată prin USB, dar puteți conecta și unul autonom.

Filmarea proceselor care se mișcă rapid, cum ar fi o picătură care cade, o explozie balon, este o chestiune foarte dificilă. Este aproape imposibil să preziceți cu exactitate momentul în care trebuie să apăsați declanșatorul fără dispozitive speciale. Nu, poți, desigur, să faci o sută de încercări și, la un moment dat, norocul se va întoarce către tine. Dar te poți descurca fără sute de bile. Aici vine Arduino în ajutor. În cele ce urmează, se descrie procesul de construire a unui declanșator automat Bazat pe Arduino cu o reacție la sunet sau la intersecția fasciculului indicator laser.

Strict vorbind, Arduino nu va controla obturatorul camerei, ci blițul. Din păcate, întârzierea răspunsului camerei la semnal este de aproximativ 20 de milisecunde, ceea ce nu este vizibil pentru ochiul uman, dar este totuși mai mare decât vă puteți permite când fotografiați un balon explodat. Prin urmare, fotografierea se face într-o cameră întunecată cu o viteză de expunere de 10 secunde, dar blițul se declanșează exact la momentul potrivit. Deoarece practic nu există lumină în cameră, toată expunerea fotografiei va avea loc exact în momentul în care blițul este declanșat (aproximativ 1 milisecundă).

O zi buna!
De ceva vreme încoace, m-am chinuit cu tot felul de bibelouri electronice în timpul liber. Am început cu programarea adolescenților și a megurilor în IAR, până mi-am dat seama că cu Arduino lucrurile sunt mult mai simple. Și tocmai de curând am descoperit o copie a Arduino DUE în imensitatea magazinelor chinezești la un preț ceva mai scump decât cunoscutul Mega2560.

Pentru cei care nu știu ce este și cu ce se mănâncă

Arduino este un kit electronic de construcție și platformă convenabilă dezvoltare rapida dispozitive electronice pentru incepatori si profesionisti. Platforma este foarte populară în întreaga lume datorită confortului și simplității limbajului de programare, precum și arhitecturii sale deschise și codul programului. Dispozitivul este programat prin USB fără utilizarea de programatori.

Arduino permite computerului să meargă dincolo lume virtualaîn fizic și interacționează cu acesta. Dispozitivele bazate pe Arduino pot primi informații despre mediu inconjurator prin diverși senzoriși poate controla, de asemenea, diverse dispozitive de acționare.

Microcontrolerul de pe placă este programat folosind Limbajul Arduino(bazat pe limbajul Wiring) și mediul de dezvoltare Arduino (bazat pe mediul de procesare). Proiectele de dispozitive bazate pe Arduino pot rula independent sau pot interacționa cu software-ul de pe un computer (de exemplu, Flash, Processing, MaxMSP). Plăcile pot fi asamblate chiar de utilizator sau achiziționate ca set. Software Disponibil pentru descărcare gratuită. Desenele schematice originale (fișiere CAD) sunt disponibile public și utilizatorii le pot folosi după cum consideră de cuviință.
© arduino.ru


Mi-am început cunoștințele cu arduino odată cu achiziția echivalent chinezesc Mega2560. La început m-am jucat, conectând display-uri, senzori, servomotoare, până când într-o zi a trebuit să fac un dispozitiv de lucru care să citească tensiunile de la un șunt de curent și un termistor, transformând totul în aspect normal si afisarea acestuia. Aici a venit la îndemână arduino, în 5 minute a fost scrisă o schiță, afișajul a fost conectat și placa a trecut la lucru. Bineînțeles, a ieșit dintr-un tun în vrăbii, dar la vremea aceea a fost cel mai mult decizie rapidă. Apoi am comandat o duzină de ProMini pentru 100 de ruble fiecare și am vrut să transfer schița la unul dintre ei, dar, după cum știți, nimic nu este mai permanent decât temporar și lenea mea nu mi-a permis niciodată să fac asta. Acasă, a trebuit să ne mulțumim cu plăci de o sută de ruble, din fericire, cu excepția numărului de pini, a memoriei și a absenței unui convertor USB-UART, nu erau diferite de cele mega.

Dar nu au fost suficiente concluzii și într-o zi, rătăcind prin întinderile Banggood, am dat de Arduino DUE. Prețul lui a fost puțin mai mare decât Mega2560 și l-am cumpărat imediat. Principala diferență între acesta și alte Arduinos este că are un interior pe 32 de biți Microcontroler ARM Arhitectura Cortex-M3 care funcționează la 84 MHz.

Pachetul a ajuns în 27 de zile, placa a fost înfășurată în mai multe straturi de folie cu bule și ambalată într-un pachet tipic chinezesc galben.

Vedere din față:


Lipirea se face cu grijă, dar dacă te uiți cu atenție poți vedea câteva defecte minore în serigrafie.
După cum se vede din fotografie această taxă are doi conectori microUSB. Unul este necesar pentru programare, iar prin al doilea placa poate comunica cu lumea exterioară: citiți unități flash, emulați o tastatură, un mouse (nu am testat asta încă). Există, de asemenea, un buton de ștergere complicat, apăsarea care șterge blițul microcontrolerului.

Vedere din spate:

Caracteristicile tehnice ale plăcii (preluate de pe site-ul oficial):
Microcontroler: AT91SAM3X8E
Tensiune de operare: 3,3 V
Tensiune de intrare (recomandată): 7-12V
Tensiune de intrare (limită): 6-20 V
Intrări/ieșiri digitale: 54 (dintre care 12 oferă ieșire PWM)
Intrări analogice: 12
Ieșiri analogice: 2 (DAC)
Zi liberă generală DC. pe toate intrările/ieșirile: 50 mA
Curent DC prin pin de 3,3 V: 800 mA
Curent DC prin pin de 5 V: 800 mA
Memorie flash: 512 KB total disponibil pentru aplicațiile utilizator
RAM: 96 KB (două bănci: 64 KB și 32 KB)
Frecvența ceasului: 84 MHz

Toate interfețe standard, cum ar fi SPI, 1Wire, UART sunt prezente.
Puteți citi mai multe detalii

Și aici este MK-ul mai mare în sine:

Al 16-lea mega cu quartz la 16 MHz este responsabil pentru programarea sa:

Și este tactat de un cuarț extern:


După cum a sugerat tovarășul Angrim, 84 MHz se obține prin înmulțirea celor 12 inițiali cu 7.

O caracteristică importantă este că, spre deosebire de altele Placi Arduino,Arduino Due funcționează la 3,3V. Tensiune maxima, pe care o pot rezista intrările/ieșirile este de 3,3 V.
În principiu, majoritatea senzorilor pot funcționa la 3,3 volți, dar unele scuturi nu vor funcționa.
În alte chestiuni, puteți cumpăra oricând lucruri suplimentare de genul acesta: din fericire există 5V pe placă.

Pentru a scrie schițe și a le încărca, trebuie să descărcați Arduino 1.5.8 BETA, cu suport DUE. Cu toate acestea, merită remarcat faptul că nu toate bibliotecile scrise pentru alte versiuni de Arduino funcționează în mod normal cu DUE. Aveam o bibliotecă pentru lucrul cu senzorul BMP180, care mergea bine cu mega, dar producea date nerealiste, așa că a trebuit să descarc biblioteca de pe Adafruit. De asemenea, am observat că după ce este aplicată alimentarea, MK nu începe întotdeauna să execute programul, uneori trebuie să apăsați pe resetare. Nu știu a cui este această eroare, versiunea beta a IDE-ului sau placa chineză.

Teste

Mai întâi, pentru a verifica, am încărcat o schiță care interoghează senzorul BMP180 și scrie date din acesta (presiune și temperatură) pe o unitate flash.


Totul a funcționat, însă, așa cum am scris mai sus, a trebuit să folosesc biblioteca Adafruit.

Rezultat

Și, desigur, de ce să nu folosiți DAC-ul încorporat!
Pentru a face acest lucru, încărcați exemplul SimpleAudioPlayer, conectați o unitate flash cu fișierul waw încărcat test.waw și conectați ieșirea DAC0 împreună cu masă la amplificator. În cazul meu, amplificatorul a fost o boxă portabilă primită ca promoție de la Pringles. Pur și simplu am legat cablurile la mufă cu două rezistențe de 10 kOhm. difuzorul a fost grav supraîncărcat direct.

Ne bucurăm de muzica din difuzor!


Sunetul este, desigur, așa-așa, până la urmă, 12 biți se fac simțiți, dar pentru un Arduino nu este nici măcar rău!
Acum planul este să cumpărați un afișaj color și să redați videoclipuri pe el.

Ei bine, ca urmare, să ne uităm la avantajele și dezavantajele acestui arduino
Pro:
- Cost scăzut
- Controler pe 32 de biți și frecvență 84 MHz.
- Disponibilitatea DAC 12 biți 1Msps
- ADC-uri pe 12 biți
- USB propriu

Minusuri:
- Tensiune de funcționare 3,3 V (incompatibilă cu unele scuturi/dispozitive)
- Incompatibilitate cu unele biblioteci.
- Uneori, după ce porniți alimentarea, trebuie să apăsați pe resetare pentru ca programul să pornească

În general, mi-a plăcut, poate că în viitor vor mai ieși niște stâlpi, dacă ceva, vă voi anunța.

Vă mulțumim tuturor pentru atenție!

Plănuiesc să cumpăr +59 Adauga la favorite Mi-a placut recenzia +51 +107

Pentru Conexiuni Arduino Datorită computerului veți avea nevoie de un cablu USB Micro-B. Este necesar un cablu USB atât pentru alimentarea cu energie, cât și pentru firmware-ul dispozitivului.

Introduceți un capăt al cablului micro-USB în conectorul de programare Arduino Due (situat lângă conectorul de alimentare). Pentru a afișa schița, trebuie să selectați elementul Arduino Due (port de programare) în mediul de programare Arduino IDE din meniul Instrumente > Placă și, de asemenea, selectați portul serial corespunzător din meniul Instrumente > Port serial.

Principalele diferențe față de plăcile bazate pe microcontrolere ATMEGA

În general, programarea și lucrul cu Arduino Due utilizează aceleași principii ca și în cazul altor modele Arduino. Cu toate acestea, există câteva diferențe cheie între Due și alte plăci.

PCB-ul Due este similar cu modelul Arduino Mega 2560.

Voltaj

Microcontrolerul inclus în Arduino Due funcționează la 3,3V, ceea ce implică unele limitări. În special, tensiunea utilizată pentru alimentarea senzorilor conectați sau a actuatoarelor de control nu poate depăși 3,3 V. Dacă este furnizată o tensiune mai mare (de exemplu, 5V, tipic pentru majoritatea plăcilor Arduino), Arduino Due va eșua.

Dispozitivul poate fi alimentat fie de la USB, fie de la conectorul de alimentare. În al doilea caz, tensiunea de alimentare ar trebui să fie în intervalul de la 7V la 12V.

Arduino Due are un regulator de tensiune de comutare cu Eficiență ridicată, îndeplinind cerințele pentru dispozitivele gazdă USB. Datorită acestui fapt, Arduino poate servi ca sursă de alimentare pentru orice gadget USB conectat la un port USB standard care acționează ca o gazdă. Arduino poate funcționa ca gazdă USB numai atunci când este alimentat de la o sursă externă.

Porturi seriale pe Arduino Due

Arduino Due are două porturi USB. Port USB standard (indicat în figură ca Nativ) este conectat direct la procesorul SAM3X și acceptă comunicarea serială CDC prin obiect SerialUSB. Al doilea port USB este portul de programare (etichetat în figură ca Programare port). Este conectat la controlerul ATMEL 16U2, care acționează ca un convertor USB-UART. În mod implicit, portul de programare este folosit pentru a descărca programe și a interacționa cu Arduino.

Convertorul portului USB-UART pentru programare este conectat la primul UART al controlerului SAM3X. Prin urmare, puteți interacționa programatic cu acest port prin intermediul obiectului „Serial”.

Portul USB standard este conectat direct la pinii controlerului SAM3X, care sunt responsabili pentru funcția de gazdă USB. Portul USB standard vă permite să utilizați Arduino Due atât ca dispozitiv periferic extern de computer (de exemplu, un mouse sau tastatură USB), cât și ca gazdă USB la care vă puteți conecta diverse dispozitive(cum ar fi un mouse, tastatură sau smartphone Android, de exemplu). Și folosind obiectul „SerialUSB”, descris în limbajul de programare Arduino, același port poate fi folosit ca port serial virtual.

Resetare automată (software).

Microcontrolerul SAM3X diferă de microcontrolerele AVR prin faptul că, înainte de a-și deschide memoria flash, conținutul său trebuie mai întâi șters. Pentru a face acest lucru manual, trebuie să țineți apăsat butonul de ștergere a memoriei timp de aproximativ o secundă, să apăsați butonul Încărcare în mediul Arduino și apoi să apăsați butonul de resetare.

Pentru a nu repeta de fiecare data aceasta procedura, a fost automatizata si poate fi efectuata programatic atat prin portul standard cat si prin portul de programare:

Port obișnuit

Procedura de ștergere soft (așa-numita „ștergere moale”) este activată automat când un port deschis la o viteză de 1200 bps este închis. Aceasta șterge memoria flash a controlerului, resetează dispozitivul și pornește bootloader-ul. Dacă, dintr-un motiv oarecare, procesorul eșuează în acest timp, atunci cel mai probabil nu va avea loc ștergerea soft, deoarece această procedură este efectuată în software de controlerul însuși.

Deschiderea și închiderea portului de stoc la alte viteze decât 1200 baud nu va reseta controlerul SAM3X. Pentru a utiliza programul Serial Monitor pentru a monitoriza datele trimise de schița dvs., trebuie să adăugați câteva linii de cod la bloc de programînființat(). Acest fragment va forța controlerul SAM3X să aștepte deschiderea portului SerialUSB înainte de a executa programul principal:

În timp ce (!Serial) ;

Apăsarea butonului de resetare de pe Arduino Due nu numai că repornește SAM3X, ci și resetează conexiunea USB. Dacă programul Serial Monitor este deschis, atunci după ce conexiunea este deconectată, trebuie să îl închideți și să îl redeschideți pentru a restabili sesiunea de comunicare.

Port de programare

Portul de programare USB interacționează cu convertorul Arduino USB-UART, care la rândul său este conectat la primul UART al microcontrolerului SAM3X (și anume, pinii RX0 și TX0). Mai mult, cipul convertizor USB-UART controlează și pinii Reset și Erase ai microcontrolerului principal. Când portul serial este deschis, convertorul USB-UART, înainte de a schimba date cu UART al controlerului, generează un nivel de semnal activ la pinii Erase și Reset, ceea ce duce la ștergerea memoriei SAM3X. Această metodă este mai fiabilă decât „curățarea software-ului” atunci când utilizați un port USB standard și funcționează chiar dacă procesorul îngheață.

Pentru a interacționa programatic cu acest port în mediul de dezvoltare Arduino, utilizați obiectul „Serial”. Lucrul cu portul USB și pornit Arduino Uno, așa că toate programele scrise pentru Uno vor funcționa și pe Due. În plus, portul de programare al lui Arduino Due se comportă la fel ca portul serial al lui Uno, prin aceea că convertorul USB-la-UART inclus în dispozitiv resetează controlerul gazdă ori de câte ori portul serial este deschis.

Apăsarea butonului de resetare în timp ce utilizați portul de programare nu întrerupe conexiunea USB la computer, deoarece numai controlerul gazdă SAM3X este resetat.

gazdă USB

Arduino Due poate acționa ca o gazdă USB pentru dispozitiv periferic conectat la portul SerialUSB. Pentru obtinerea Informații suplimentareși exemple de cod, consultați ajutorul USB Host.

Când Due este folosit ca gazdă, servește și ca sursă de alimentare pentru dispozitivul conectat. Prin urmare, în acest mod de funcționare, este recomandat să alimentați Arduino Due de la o sursă de alimentare externă.

Capacitate ADC și PWM

Arduino Due are capacitatea de a modifica lățimea de biți pentru citirea și generarea de valori analogice (care, implicit, sunt de 10, respectiv 8 biți). Lățimea maximă a ADC și PWM este de 12 biți. Pentru mai multe informații, consultați funcțiile analogWriteResolution() și analogReadResolution().

Capabilitati SPI avansate

Instalarea driverelor pentru Arduino Due

OSX

  • ÎN sistem de operare OSX nu este necesară instalarea driverului. Depinzând de versiunea instalată OS, atunci când conectați dispozitivul la computer, ar trebui să apară o casetă de dialog care vă va solicita să deschideți Setari de retea(„Preferințe de rețea”). Faceți clic pe „Preferințe de rețea...”, așteptați să apară fereastra și faceți clic pe butonul „Aplicați”. Arduino Due va apărea în sistem în starea „Neconfigurat”, dar va funcționa bine. Acum puteți ieși din setările de sistem.

Windows (testat pe XP și 7)


Linux

Firmware pentru Arduino Due

Din punctul de vedere al utilizatorului, procesul de flashing a programelor în Arduino Due se desfășoară exact în același mod ca și în alte modele Arduino. Deși puteți folosi orice port USB Due pentru a flash-o schițe, este totuși recomandat să utilizați portul de programare în acest scop.

Pentru a vă flash-ul programului prin portul de programare, faceți următoarele:

  • Conectați dispozitivul la computer conectând cablul USB la portul de programare Arduino (acest port este situat mai aproape de conectorul de alimentare).
  • Deschideți mediul de dezvoltare Arduino.
  • În meniul „Tools”, selectați „Serial Port” și specificați portul serial asociat cu Arduino Due în sistem
  • Din meniul „Instrumente > Plăci” selectați „Arduino Due (port de programare)”

După execuție actiuni specificate Puteți să flashați programul în Arduino.

Cele mai bune articole pe această temă