Kako podesiti pametne telefone i računare. Informativni portal

Arduino projekti. Kineski Arduino DUE

Opće informacije

Arduino Due je uređaj baziran na Atmel SAM3X8E ARM Cortex-M3 mikroprocesoru (tabela sa podacima). Ovo je prva Arduino ploča zasnovana na 32-bitnom ARM mikrokontroleru. Uključuje 54 digitalna pina (od kojih 12 mogu raditi kao PWM izlazi), 12 analognih ulaza, 4 UART-a (hardverski primopredajnik koji obavlja serijski prijenos podataka), generator taktne frekvencije od 84 MHz, USB sa podrškom za OTG tehnologiju, 2 DAC (digitalni do Analogni pretvarači), 2 TWI, konektor za napajanje, SPI konektor, JTAG konektor, dugme za resetovanje i dugme za brisanje memorije.

Napomena: Za razliku od drugih Arduino ploča, radni napon Arduino Due je 3.3V. Shodno tome, maksimalni napon koji njegovi terminali mogu izdržati je 3,3V. Primjena većeg napona (na primjer, 5V) na izlaz može oštetiti ploču.

Uređaj uključuje sve što je potrebno da osigura rad mikrokontrolera; da biste započeli, samo trebate napajati struju iz AC/DC adaptera ili baterije ili ga povezati s računalom pomoću USB kabela. Arduino Due je kompatibilan sa svim 3.3V pločama za proširenje i zadovoljava zahtjeve pinout 1.0:

  • SDA i SCL (TWI) pinovi se nalaze u blizini AREF pina.
  • Postoji IOREF pin koji omogućava da se ploče za proširenje prilagode radnom naponu Arduina. Zahvaljujući tome, ploče za proširenje mogu biti kompatibilne i sa 3.3V-Arduino (slično kao Due) i 5V-Arduino zasnovanim na AVR mikrokontrolerima.
  • Osigurano besplatno povlačenje, rezervirano za buduće svrhe.

Prednosti korištenja ARM jezgre

Koristeći 32-bitnu ARM jezgru, Arduino Due nadmašuje tipične 8-bitne mikrokontrolerske ploče na mnogo načina. Najznačajnije razlike su sljedeće:

  • 32-bitna jezgra može obraditi 4-bajtne podatke u samo jednom ciklusu takta. (Za više informacija pogledajte opis tipa int).
  • Frekvencija takta je 84 MHz.
  • SRAM je 96 KB.
  • Količina flash memorije za programe je 512 KB.
  • Prisutnost DMA kontrolera, koji omogućava rasterećenje centralnog procesora od obavljanja memorijskih operacija koje zahtijevaju velike resurse.

Šema, originalan dizajn i pinout

Specifikacije

Mikrokontroler AT91SAM3X8E
Radni napon 3.3V
Napon napajanja (preporučeno) 7-12V
Napon napajanja (ograničenje) 6-16V
Digitalni izlazi 54 (od kojih 12 može raditi kao PWM izlazi)
Analogni ulazi 12
Analogni izlazi 2 (DAC)
Ukupna izlazna struja svih izlaza (maksimalno) 130 mA
Maksimalna izlazna struja 3.3V 800 mA
Maksimalna izlazna struja izlaza je 5V 800 mA
Fleš memorija 512 KB potpuno dostupno korisničkim programima
SRAM 96 KB (dvije memorijske banke: 64 KB i 32 KB)
Frekvencija takta 84 MHz

Ishrana

Arduino Due se može napajati sa USB-a ili sa eksternog izvora napajanja - tip izvora se automatski bira.

Eksterni izvor napajanja (ne USB) može biti AC/DC adapter ili punjiva baterija/baterija. Utikač adaptera (prečnik - 2,1 mm, centralni kontakt - pozitivan) mora biti umetnut u odgovarajući konektor za napajanje na ploči. U slučaju baterije/baterijskog napajanja, njegove žice moraju biti spojene na Gnd i Vin pinove POWER konektora.

Napon eksternog napajanja može biti u rasponu od 6 do 20 V. Međutim, smanjenje napona napajanja ispod 7V dovodi do smanjenja napona na pinu od 5V, što može uzrokovati nestabilan rad uređaja. Korištenje napona većeg od 12V može dovesti do pregrijavanja regulatora napona i oštećenja ploče. Imajući to na umu, preporučuje se korištenje izvora napajanja s naponom u rasponu od 7 do 12V.

Ovo su igle za napajanje koje se nalaze na ploči:

  • VIN. Napon koji se napaja Arduinu direktno iz vanjskog izvora napajanja (nije povezan sa 5V sa USB-a ili drugog stabiliziranog napona). Ovaj pin može i napajati eksterno napajanje i trošiti struju kada se uređaj napaja preko eksternog adaptera.
  • 5V. Izlaz prima napon od 5V sa regulatora napona na ploči, bez obzira na to kako se uređaj napaja: sa adaptera (7 - 12V), sa USB-a (5V) ili preko VIN izlaza (7 - 12V). Ne preporučuje se napajanje uređaja preko 5V ili 3V3 pinova, jer se u ovom slučaju ne koristi regulator napona, što može dovesti do kvara ploče.
  • 3V3. 3.3V, dolazi iz regulatora napona na ploči. Ovaj regulator također napaja SAM3X mikrokontroler. Maksimalna struja izvučena iz ovog pina je 800 mA.
  • GND. Prizemni nalazi.
  • IOREF. Ovaj pin daje pločama za proširenje informacije o radnom naponu Arduino mikrokontrolera. U zavisnosti od napona očitanog sa IOREF pina, ploča za proširenje se može prebaciti na odgovarajuće napajanje ili koristiti konvertore nivoa, što će joj omogućiti rad sa 5V i 3.3V uređajima.

Memorija

Količina flash memorije programa mikrokontrolera SAM3X je 512 KB (2 bloka od 256 KB). Uređaj dolazi sa fleširanim bootloaderom koji se nalazi u zasebnoj ROM memoriji. Dostupna SRAM memorija je 96 KB, što su dvije uzastopne memorijske banke od 64 KB i 32 KB respektivno. Sva raspoloživa memorija (Flash, RAM i ROM) ima zajednički linearni adresni prostor.

Dugme za brisanje, koje se nalazi na ploči, omogućava vam da obrišete fleš memoriju mikrokontrolera SAM3X i izbrišete trenutno učitani program. Da biste to učinili, morate ga pritisnuti i držati nekoliko sekundi.

Ulazi i izlazi

  • Digitalni I/O: pinovi 0 - 53
  • SPI interfejs: SPI pinovi(na Arduino pločama ICSP konektor)
  • CAN interfejs: CANRX i CANTX pinovi

Ovi pinovi podržavaju CAN komunikacioni protokol, ali trenutno nema implementacije u Arduino API-ju.

  • "L" LED: pin 13

Ugrađena LED dioda spojena na pin 13. Prilikom slanja VISOKE vrijednosti, LED se uključuje, kada šalje LOW vrijednost, isključuje se. Osim toga, svjetlina LED-a se može podesiti, jer pin 13 može raditi kao PWM izlaz.

  • TWI 1: Pinovi 20 (SDA) i 21 (SCL)
  • TWI 2: SDA1 i SCL1 pinovi

Ostale igle na ploči:

  • AREF

ADC referentni napon. Koristi analogReference ().

  • Resetovati

Formiranje niskog nivoa (LOW) na ovom pinu će uzrokovati ponovno pokretanje mikrokontrolera. Obično se ovaj pin koristi za funkciju dugmeta za resetovanje na karticama za proširenje.

Veza

Arduino Due pruža brojne mogućnosti za komunikaciju sa računarom, drugim Arduinom ili drugim mikrokontrolerima, kao i sa raznim uređajima kao što su telefoni, tableti, kamere, itd. SAM3X mikrokontroler ima jedan hardverski UART i tri hardverska USART-a za implementaciju 3.3V TTL serijskih interfejsa.

USB port za programiranje na ploči je u interakciji sa ATmega16U2 mikrokolom, koji se ponaša kao USB-UART konvertor, koji se, kada je povezan sa računarom, definiše kao virtuelni COM port. (Za ispravnu identifikaciju na Windows sistemima, potrebna je .inf datoteka; na sistemima sa OSX i LINUX, ploča se automatski prepoznaje). 16U2 mikrokolo je povezano sa hardverskim UART primopredajnikom mikrokontrolera SAM3X. Pinovi RX0 i TX0 se koriste za programiranje mikrokontrolera kroz ATmega16U2 mikrokolo. Arduino softverski paket uključuje poseban program koji vam omogućava čitanje i slanje jednostavnih tekstualnih podataka na Arduino. Prilikom prijenosa podataka kroz mikrokolo USB-UART pretvarača tokom USB veze sa računarom, RX i TX LED diode na ploči će treptati. (Kada se serijski podaci prenose preko pinova 0 i 1, bez upotrebe USB konvertera, ove LED diode se ne koriste).

SAM3X mikrokontroler takođe podržava TWI i SPI serijska sučelja. Arduino softver uključuje Wire biblioteku za pojednostavljenje rada sa I2C magistralom; pogledajte dokumentaciju za više detalja. Koristite SPI biblioteku za rad sa SPI interfejsom.

Programiranje

Proces učitavanja programa u SAM3X mikrokontroler se razlikuje od procesa firmvera za AVR mikrokontrolere koji se koriste u drugim Arduino pločama. Posebnost SAM3X-a je da da biste ga ponovo flešovali, prvo morate obrisati Flash memoriju kontrolera. To je zbog činjenice da proces učitavanja programa kontroliše bootloader u SAM3X ROM-u, koji počinje samo ako nema programa u fleš memoriji mikrokontrolera.

Dakle, bilo koji od USB portova se može koristiti za flešovanje ploče. Ipak, preporuča se korištenje USB porta za programiranje („Priključak za programiranje“ na slici) zbog nekih posebnosti procesa brisanja memorije mikrokontrolera:

  • Port za programiranje: Za korištenje ovog porta u Arduino IDE, odaberite "Arduino Due (Programming Port)" kao radnu ploču. Povežite Due sa svojim računarom tako što ćete povezati USB kabl na konektor za programiranje (bliže konektoru za napajanje). Port za programiranje je u interakciji s 16U2 mikrokolom, koji djeluje kao USB-UART pretvarač. 16U2 mikrokolo je, zauzvrat, povezano na prvi UART mikrokontrolera SAM3X (pinovi RX0 i TX0), a također kontrolira njegove pinove Reset i Erase. Kada se port otvori i zatvori brzinom od 1200 boda, formira se aktivni nivo na pinovima za brisanje i resetovanje, koji briše memoriju mikrokontrolera. Stoga se takozvana procedura "čišćenja hardvera" pokreće prije interakcije sa SAM3X UART-om. Ova metoda je pouzdanija od "softverskog čišćenja" kada se koristi standardni USB port, a radi čak i ako se procesor zamrzne. Zbog toga se preporučuje korištenje porta za programiranje za Arduino Due firmver.
  • Native USB Port: Da biste koristili ovaj port u Arduino IDE kao radnu ploču, odaberite "Arduino Due (Naive USB Port)". Standardni USB port je povezan direktno na SAM3X mikrokontroler. Povežite Due sa svojim računarom tako što ćete USB kabl povezati na OEM USB konektor (koji se nalazi bliže dugmetu za resetovanje). Otvaranje i zatvaranje porta brzinom od 1200 boda pokrenuće proceduru "softverskog čišćenja", tokom koje se briše fleš memorija, ponovo pokreće mikrokontroler i pokreće pokretač. Budući da se ovaj postupak izvodi isključivo programom samog mikrokontrolera SAM3X, ako ovaj visi, do procesa čišćenja možda neće doći. U isto vrijeme, otvaranje / zatvaranje standardnog porta pri različitim brzinama neće pomoći ponovnom pokretanju mikrokontrolera.

Za razliku od drugih Arduino ploča, koje su programirane pomoću avrdudea, Arduino Due firmware proces se obavlja pomoću programa.

Izvorni kod firmvera za ATmega16U2 mikrokontroler je dostupan u Arduino repozitorijumu. Mikrokontroler se može prebaciti preko konektora za programiranje ISP-a u krugu pomoću eksternog programatora (u ovom slučaju, DFU bootloader će biti prepisan).

USB zaštita od preopterećenja

Arduino Due ima osigurače koji se mogu resetovati za zaštitu USB porta računara od kratkih spojeva i preopterećenja. Iako većina računara ima svoju zaštitu, ovi osigurači pružaju dodatni sloj zaštite. Ako USB priključak troši više od 500 mA, osigurač će automatski prekinuti vezu dok se ne eliminiše uzrok kratkog spoja ili preopterećenja.

Fizičke specifikacije i kompatibilnost ploča za proširenje

Maksimalna dužina i širina Arduino Due PCB-a je 10,2 cm, odnosno 5,4 cm, uključujući USB i konektore za napajanje koji vire iz ploče. Tri montažne rupe vam omogućavaju da pričvrstite ploču na površinu ili kućište. Imajte na umu da razmak između digitalnih pinova 7 i 8 nije višekratnik tradicionalnih 2,54 mm i iznosi 4 mm.

Arduino Due je dizajniran da bude kompatibilan sa većinom ploča za proširenje za Uno, Diecimila ili Duemilanove. Raspored glavnih pinova ploče je potpuno jednak: digitalni pinovi 0 - 13 (kao i susjedni AREF i GND pinovi), analogni ulazi 0 - 5, konektor POWER i konektor "ICSP" (SPI) - svi pinovi nalaze se na istoj udaljenosti jedna od druge. Pored toga, linije glavnog UART primopredajnika su povezane na iste pinove (0 i 1). Imajte na umu da se brojevi I2C pinova Arduino Due (20 i 21) razlikuju od Duemilanove / Diecimila pinova (analogni pinovi 4 i 5).

Detaljna uputstva za rad sa Arduino Due (na engleskom)

Opće informacije

Arduino Nano je potpuno funkcionalan minijaturni uređaj baziran na ATmega328 (Arduino Nano 3.0) ili ATmega168 (Arduino Nano 2.x) mikrokontroleru, prilagođen za upotrebu sa matičnim pločama. Što se tiče funkcionalnosti, uređaj je sličan Arduino Duemilanove, a razlikuje se od njega po veličini, nedostatku konektora za napajanje i drugom tipu (Mini-B) USB kabla. Arduino Nano je dizajnirao i proizveo Gravitech.

Šematski i originalan dizajn

Veza

Arduino Nano pruža brojne mogućnosti za komunikaciju sa računarom, drugim Arduinom ili drugim mikrokontrolerima. ATmega168 i ATmega328 imaju UART primopredajnik koji omogućava serijsku komunikaciju koristeći digitalne pinove 0 (RX) i 1 (TX). FTDI FT232RL čip obezbeđuje komunikaciju između primopredajnika i USB porta računara, a kada je povezan sa računarom, omogućava da se Arduino definiše kao virtuelni COM port (FTDI drajveri su uključeni u Arduino softverski paket). Arduino softverski paket također uključuje poseban program koji vam omogućava čitanje i slanje jednostavnih tekstualnih podataka na Arduino. Kada prenosite podatke na računar preko USB-a, RX i TX LED diode na ploči će treptati. (Ove LED diode se ne koriste za serijski prijenos podataka preko pinova 0 i 1).

ATmega168 i ATmega328 u Arduino Nano dolaze sa programom za pokretanje firmvera koji omogućava učitavanje novih programa u mikrokontroler bez potrebe za eksternim programatorom. Interakcija s njim se vrši korištenjem originalnog STK500 (,) protokola.

Automatsko (softversko) resetovanje

Kako ne biste morali da pritiskate dugme za resetovanje svaki put pre učitavanja programa, Arduino Nano je dizajniran na takav način da se može resetovati softverom sa povezanog računara. Jedan od pinova FT232RL uključenih u kontrolu protoka podataka (DTR) povezan je sa RESET pinom mikrokontrolera ATmega168 ili ATmega328 preko kondenzatora od 100nF. Kada se nula pojavi na DTR liniji, pin RESET također pada na nisko vrijeme dovoljno za ponovno pokretanje mikrokontrolera. Ova funkcija se koristi tako da možete flešovati mikrokontroler sa samo jednim klikom na dugme u Arduino programskom okruženju. Ova arhitektura omogućava da se smanji vremensko ograničenje bootloadera, pošto je proces firmvera uvek sinhronizovan sa opadanjem signala na DTR liniji. Ova arhitektura omogućava da se smanji vremensko ograničenje bootloadera, pošto je proces firmvera uvek sinhronizovan sa opadanjem signala na DTR liniji.

Međutim, ovaj sistem može dovesti i do drugih posljedica. Kada povežete Arduino Nano sa računarima koji koriste Mac OS X ili Linux, njegov mikrokontroler će se resetovati svaki put kada se softver poveže na ploču. Nakon resetiranja na Arduino Nano, bootloader se aktivira na otprilike pola sekunde. Uprkos činjenici da je bootloader programiran da ignoriše vanjske podatke (tj. sve podatke koji se ne odnose na proces flešovanja novog programa), on može presresti prvih nekoliko bajtova podataka iz paketa koji se šalje na ploču odmah nakon uspostavljanja veze. . U skladu s tim, ako program koji radi na Arduinu omogućava primanje bilo kakvih postavki ili drugih podataka s računala pri prvom pokretanju, uvjerite se da softver s kojim Arduino komunicira šalje sekundu nakon uspostavljanja veze.

Vjerovatno su svi čuli šta je digitalna drum mašina ili beat mašina. Elektromehanička bubanj mašina koju je stvorio norveški kompozitor Koka Nikoladze je sasvim druga stvar. U njemu se zvuk formira mehaničkim djelovanjem. Mašinu pokreće Arduino, koji vam omogućava da programirate melodiju za performanse.

Čuli ste za Arduino i želite da ga shvatite što je prije moguće kako biste napravili svoj vlastiti uređaj, robota ili bilo što drugo što su izmislili. Možete treptati LED dioda prve večeri, ali će trebati mnogo duže da se napravi složeniji gadžet. Pred nama su mnoge sedmice, pa čak i mjeseci učenja C programiranja, traženja kompatibilnih biblioteka i modula, štaka i savladavanja poteškoća. Kako ubrzati proces? Počnite s Arduino kompatibilnom pločom koja se može programirati u JavaScript-u.

Originalni članak na engleskom http://www.bunniestudios.com/blog/?p=2407

Fotografija prikazuje gotove štampane ploče za Leonardo

Najzanimljivije kod lampe je to što na pristup reaguje uz pomoć domaćeg, i uopšte, vrlo jednostavnog kapacitivnog senzora. Glavni element je list folije. Trenutno je ovaj sklop samo prototip, a sve elektronske komponente i senzor (isti list folije) ni na koji način nisu integrisani u samu lampu, ali je sama ideja veoma interesantna.

Arduino, domaća rukavica sa 5 žičanih senzora savijanja, 5 HITEC HS-81 servo i mehaničkom rukom. Kako to sve funkcioniše možete pogledati u videu. Arduino čita podatke sa senzora savijanja i kontrolira servo motore tako da mehanička ruka prati pokrete ljudske ruke. Inače, u prvom videu autor koristi gotov set ručne mehanike, koji se može kupiti na ebayu, ali bez elektronskih komponenti i pogona. U drugom projektu, autor je napravio sličnu ruku od otpadnog materijala.

U ovom projektu pokazat ću vam kako možete spojiti LED matricu 8x8 pune boje na Arduino. Sama matrica ima 32 ulaza: 8 anoda, 8 crvenih katoda, 8 zelenih i 8 plavih. U ovom slučaju, samo 3 izlaza na Arduino će se koristiti za kontrolu matrice. Ovdje nema magije, ali postoje 4 registra pomaka 74HC595.

Za više informacija o korištenju 74HC59 s Arduinom, pogledajte Korištenje registra pomaka 74HC595 za povećanje broja izlaza.

Jedan registar nam daje 8 izlaza, pošto naša matrica ima 32 ulaza, projekat koristi tehniku ​​kaskadnog pomeranja registara. Potrebna su nam 4 registra 74HC59, dok se broj konekcija na Arduino neće mijenjati i koristit će se 3 izlaza na Arduino. za menadžment. Napajanje se vrši preko USB-a, ali ga možete povezati i samostalno.

Snimanje procesa koji se brzo kreću, kao što je pad kapljice, eksplozija balona, ​​vrlo je težak zadatak. Gotovo je nemoguće pogoditi tačan trenutak kada trebate pritisnuti okidač bez posebnih uređaja. Ne, možete, naravno, napraviti stotinu pokušaja, a u jednom trenutku sreća će vam se okrenuti. Ali možete i bez stotina loptica. Ovdje dolazi Arduino. U nastavku je opisan proces konstruiranja automatskog okidača baziranog na Arduinu koji reagira na presretanje zvuka ili lasera.

Strogo govoreći, Arduino neće kontrolirati zatvarač kamere, već blic. Nažalost, kašnjenje u reakciji kamere na signal je oko 20 milisekundi, što ljudskom oku nije uočljivo, ali je ipak duže nego što se može priuštiti prilikom snimanja balona koji puca. Dakle, snimanje se vrši u mračnoj prostoriji sa brzinom zatvarača od 10 sekundi, ali blic se aktivira tačno u pravom trenutku. Budući da u prostoriji praktički nema osvjetljenja, cjelokupna ekspozicija fotografije odvijat će se tačno u trenutku rada blica (oko 1 milisekunde).

Dobar dan!
Već neko vrijeme u slobodno vrijeme radim sve vrste elektronskih sitnica. Počeo sam sa programiranjem tineka i meg-a u IAR-u, dok nisam shvatio da su stvari mnogo lakše sa Arduinom. A tek nedavno sam u ogromnim kineskim trgovinama otkrio primjerak Arduino DUE po cijeni nešto skupljoj od dobro poznatog Mega2560.

Za one koji ne znaju šta je i sa čime se jede

Arduino je elektronski dizajner i platforma laka za korištenje za brzi razvoj elektroničkih uređaja za početnike i profesionalce. Platforma je veoma popularna širom sveta zbog pogodnosti i jednostavnosti programskog jezika, kao i otvorene arhitekture i programskog koda. Uređaj se može programirati preko USB-a bez upotrebe programatora.

Arduino omogućava kompjuteru da ode izvan virtuelnog svijeta u fizički i stupi u interakciju s njim. Uređaji bazirani na Arduinu mogu primati informacije o okolini putem različitih senzora, a mogu i kontrolirati različite aktuatore.

Mikrokontroler na ploči je programiran korištenjem Arduino jezika (zasnovanog na jeziku Wiring) i Arduino razvojnog okruženja (baziranog na okruženju Processing). Dizajni uređaja zasnovani na Arduinu mogu raditi nezavisno ili komunicirati sa softverom na računaru (npr.: Flash, Processing, MaxMSP). Ploče može sastaviti sam korisnik ili kupiti sastavljene. Softver je dostupan za besplatno preuzimanje. Originalni šematski crteži (CAD fajlovi) su javno dostupni i korisnici ih mogu primijeniti kako žele.
© arduino.ru


Svoje upoznavanje sa arduinom započeo sam kupovinom kineskog kolege Mega2560. U početku sam se igrao, povezivao displeje, senzore, servomotore, dok nekako nisam trebao napraviti uređaj za rad koji očitava napone sa strujnog šanta i termistora, pretvarajući cijelu stvar u normalan oblik i prikazuje na displeju. Ovdje je dobro došao arduin, za 5 minuta je napisana skica, spojen displej i ploča je stavljena na posao. Naravno, ispalo je iz topa u vrapca, ali u to vrijeme to je bilo najbrže rješenje. Tada sam naručio desetak ProMini za 100 rubalja i htio sam prenijeti skicu na jedan od njih, ali kao što znate, nema ništa trajnije od privremenog i moja lijenost mi to nije dopustila. Kod kuće sam se, međutim, morao zadovoljiti pločama od 100 rubalja, jer se osim broja pinova, memorije i nepostojanja USB-UART konvertera nisu mnogo razlikovale od mega.

Ali zaključci su počeli da izostaju i jednog dana, lutajući otvorenim prostorima bangguda, naišao sam na Arduino DUE. Cijena mu je bila nešto viša nego za Mega2560 i odmah sam ga kupio. Glavna razlika između njega i ostalih arduina je u tome što se unutar njega nalazi 32-bitni ARM mikrokontroler Cortex-M3 arhitekture koji radi na frekvenciji od 84 MHz.

Paket je stigao za 27 dana, ploča je bila umotana u nekoliko slojeva folije i upakovana u tipičnu žutu kinesku vrećicu.

Pogled sprijeda:


Lemljenje je uredno urađeno, ali ako bolje pogledate, možete uočiti male nedostatke na sitotisku.
Kao što možete vidjeti sa fotografije, ova ploča ima dva microUSB konektora. Jedna je neophodna za programiranje, a preko druge ploče može komunicirati sa vanjskim svijetom: čitati fleš diskove, emulirati tastaturu, miš (ovo još nisam testirao). Tu je i škakljivo dugme za brisanje, pritiskom na koje se briše blic mikrokontrolera.

Pogled pozadi:

Tehničke karakteristike ploče (preuzeto sa sajta):
Mikrokontroler: AT91SAM3X8E
Radni napon: 3.3V
Ulazni napon (preporučeno): 7-12V
Ulazni napon (ograničenje): 6-20V
Digitalni ulazi/izlazi: 54 (od kojih 12 implementira PWM izlaz)
Analogni ulazi: 12
Analogni izlazi: 2 (DAC)
Ukupna DC izlazna struja na svim I/O: 50 mA
DC struja preko 3.3V Pin: 800mA
DC struja preko 5V Pin: 800mA
Flash memorija: 512KB ukupno dostupno za prilagođene aplikacije
RAM: 96KB (dve banke: 64KB i 32KB)
Frekvencija takta: 84 MHz

Prisutni su svi standardni interfejsi kao što su SPI, 1Wire, UART.
Možete pročitati detaljnije

A evo i samog većeg MK-a:

Za njegovo programiranje zaslužna je 16. mega sa 16 MHz kvarca:

A radi ga vanjski kvarc:


Kao što je drug Angrim predložio, 84 MHz se dobija množenjem sa 7 originalnih 12.

Važna karakteristika je da za razliku od ostalih Arduino ploča, Arduino Due radi od 3,3 V. Maksimalni napon koji I/O može izdržati je 3,3 V.
U principu, većina senzora može raditi od 3,3 volta, ali neki štitovi neće raditi.
U ostalom, uvijek možete kupiti takve stvari: na ploči je 5V.

Da biste napisali skice i ispunili ih, potrebno je da preuzmete Arduino 1.5.8 BETA, sa DUE podrškom. Međutim, treba napomenuti da sve biblioteke napisane za druge verzije arduina ne rade dobro sa DUE. Imam biblioteku za rad sa BMP180 senzorom koji je dobro radio sa mega, davao je nerealne podatke, morao sam da skinem biblioteku sa Adafruita. Također sam primijetio da MC ne počinje uvijek izvršavati program nakon što se uključi, ponekad morate pritisnuti reset. Čiji je ovo kvar, beta verzija IDE ili kineska ploča, ne znam.

Testovi

Prvo, radi verifikacije, postavio sam skicu koja ispituje BMP180 senzor i zapisuje podatke sa njega (pritisak i temperatura) na USB fleš disk.


Sve je funkcioniralo, međutim, kao što sam gore napisao, morao sam koristiti Adafruit biblioteku.

Rezultat

I naravno, kako ne koristiti ugrađeni DAC!
Da biste to uradili, popunite primer SimpleAudioPlayer-a, povežite USB fleš disk sa test.waw fajlom popunjenim sa waw i povežite DAC0 pin zajedno sa zemljom na pojačalo. U mom slučaju, pojačalo je bio prijenosni zvučnik nabavljen za promociju od Pringlesa. Jednostavno sam spojio zaključke na priključak sa dva otpornika od 10 kOhm. na pravoj liniji, zvučnik je bio kruto preopterećen.

Uživajte u muzici sa zvučnika!


Zvuk je naravno tako-tako, svejedno se 12 bita osjeti, ali za arduinu to nije ni loše!
Sada planiramo kupiti displej u boji i pustiti video na njemu.

Pa, kao rezultat, razmotrite prednosti i nedostatke ove arduine
Pros:
- Jeftino
- 32-bitni kontroler i frekvencija 84 MHz.
- Dostupnost DAC 12 bit 1Msps
- 12-bitni ADC
- Izvorni USB

minusi:
- 3.3V radni napon (nekompatibilnost sa nekim štitovima/uređajima)
- Nekompatibilnost sa nekim bibliotekama.
- Ponekad nakon uključivanja potrebno je pritisnuti reset kako bi se program pokrenuo

Općenito, svidjelo mi se, možda će u budućnosti izaći još koji jamb, ako ti javim.

Hvala svima na pažnji!

Planiram kupiti +59 Dodaj u favorite Svidjela mi se recenzija +51 +107

Trebat će vam Micro-B USB kabel da povežete Arduino Due sa vašim računarom. USB kabl je potreban i za napajanje i za firmver uređaja.

Uključite jedan kraj mikro-USB kabla u Arduino Due konektor za programiranje (koji se nalazi u blizini konektora za napajanje). Da biste flešovali skicu, u Arduino IDE programskom okruženju, izaberite stavku Arduino Due (programski port) iz menija Alati> Ploča i izaberite odgovarajući serijski port iz menija Alati> Serijski port.

Glavne razlike u odnosu na ploče bazirane na ATMEGA mikrokontrolerima

Generalno, principi za programiranje i rad sa Arduino Due su isti kao i kod drugih Arduino modela. Međutim, postoji nekoliko ključnih razlika između Due i drugih ploča.

Due PCB je sličan modelu Arduino Mega 2560.

voltaža

Mikrokontroler u Arduino Due radi od 3.3V, što podrazumijeva neka ograničenja. Konkretno, napon koji se koristi za napajanje povezanih senzora ili upravljanje aktuatorima također ne smije preći 3,3 V. Ako se primijeni viši napon (na primjer, 5V, što je tipično za većinu Arduino ploča), Arduino Due neće uspjeti.

Uređaj se može napajati preko USB-a ili preko konektora za napajanje. U drugom slučaju, napon napajanja bi trebao biti u rasponu od 7V do 12V.

Arduino Due ima visoko efikasan prekidački regulator napona koji ispunjava zahtjeve USB host uređaja. Zahvaljujući tome, Arduino može poslužiti kao izvor napajanja za bilo koji USB gadget koji se može spojiti na standardni USB port, koji djeluje kao domaćin. Arduino može funkcionirati samo kao USB host kada se napaja iz vanjskog izvora.

Serijski portovi na Arduino Due

Arduino Due ima dva USB porta. Izvorni USB port (označen na slici kao Native) je direktno povezan na SAM3X procesor i podržava serijsku CDC komunikaciju preko objekta SerialUSB... Drugi USB port je port za programiranje (označen na slici kao Programiranje luka). Povezuje se na ATMEL 16U2 kontroler, koji djeluje kao USB-UART pretvarač. Podrazumevano, port za programiranje se koristi za preuzimanje programa i interakciju sa Arduinom.

USB-UART pretvarač za programiranje je povezan na prvi UART SAM3X kontrolera. Stoga, možete programski komunicirati s ovim portom preko "Serial" objekta.

Standardni USB port je povezan direktno na pinove SAM3X kontrolera, koji su odgovorni za funkciju USB hosta. Standardni USB port vam omogućava da koristite Arduino Due i kao vanjski periferni uređaj vašeg računala (na primjer, USB miš ili tastatura), i kao USB host na koji možete povezati različite uređaje (kao što su miš, tastatura ili Android pametni telefon, na primjer). A uz pomoć "SerialUSB" objekta, opisanog u Arduino programskom jeziku, isti port se može koristiti kao virtuelni serijski port.

Automatsko (softversko) resetovanje

SAM3X mikrokontroler se razlikuje od AVR mikrokontrolera po tome što prije flešovanja njegove fleš memorije, prvo mora biti obrisan njegov sadržaj. Da biste to uradili ručno, morate pritisnuti dugme za brisanje memorije oko sekundu, pritisnuti dugme Upload u Arduino okruženju, a zatim pritisnuti dugme za resetovanje.

Kako se ovaj postupak ne bi ponavljao svaki put, automatiziran je i može se programski izvesti i preko standardnog porta i preko porta za programiranje:

Standardni port

Procedura softverskog brisanja (tzv. "soft-erase") se automatski aktivira kada zatvorite port koji je otvoren na 1200 bps. Ovo briše fleš memoriju kontrolera, resetuje uređaj i pokreće bootloader. Ako, iz bilo kog razloga, tokom ovog procesa procesor otkaže, onda najvjerovatnije neće doći do mekog brisanja, jer ovu proceduru programski izvodi sam kontroler.

Otvaranje i zatvaranje standardnog porta pri brzinama različitim od 1200 boda neće ponovo pokrenuti SAM3X kontroler. Da biste koristili program Serial Monitor za praćenje podataka koje šalje vaša skica, morate dodati nekoliko linija koda u programski blok za podešavanje (). Takav fragment će prisiliti SAM3X kontroler da sačeka da se SerialUSB port otvori prije izvršavanja glavnog programa:

Dok (! Serijski);

Pritiskom na dugme za resetovanje na Arduino Due ne samo da se ponovo pokreće SAM3X, već se resetuje i USB veza. Ako je program Serial Monitor otvoren, nakon prekida veze, morate ga zatvoriti i ponovo otvoriti da biste obnovili komunikacijsku sesiju.

Port za programiranje

USB port za programiranje je u interakciji sa Arduino USB-UART konvertorom, koji je zauzvrat povezan na prvi UART mikrokontrolera SAM3X (naime, na pinove RX0 i TX0). Štaviše, mikrokolo USB-UART pretvarača takođe kontroliše pinove za resetovanje i brisanje glavnog mikrokontrolera. Kada se serijski port otvori, USB-UART konvertor, pre razmene podataka sa UART kontrolera, formira aktivni nivo signala na pinovima za brisanje i resetovanje, čime se briše SAM3X memorija. Ova metoda je pouzdanija od "softverskog čišćenja" kada se koristi standardni USB port, a radi čak i ako se procesor zamrzne.

Za programsku interakciju s ovim portom u razvojnom okruženju Arduino, koristite objekt "Serial". Rad sa USB portom je slično strukturiran i na Arduino Uno, tako da će svi programi napisani za Uno raditi i na Dueu. Osim toga, Arduino Due port za programiranje ponaša se isto kao i Uno serijski port, u smislu da USB-to-UART konvertor kao dio uređaja resetuje host kontroler svaki put kada se serijski port otvori.

Pritiskom na dugme za resetovanje dok koristite port za programiranje ne prekida se USB veza sa računarom, jer se resetuje samo glavni kontroler SAM3X.

USB host

Arduino Due može djelovati kao USB host za periferne uređaje spojene na SerialUSB port. Za više informacija i primjere koda, pogledajte pomoć za USB host.

Kada se Due koristi kao host, on također napaja povezani uređaj. Stoga se u ovom načinu rada preporučuje napajanje Arduino Due iz vanjskog izvora napajanja.

ADC i PWM bitovi

Arduino Due ima mogućnost promjene dubine bita za čitanje i generiranje analognih vrijednosti (koje su po defaultu 10 i 8 bita, respektivno). Maksimalni ADC i PWM kapacitet je 12 bita. Pogledajte analogWriteResolution () i analogReadResolution () za više informacija.

Napredne SPI mogućnosti

Instaliranje drajvera za Arduino Due

OSX

  • Na OSX-u nije potrebna instalacija drajvera. U zavisnosti od instalirane verzije OS-a, kada povežete uređaj sa računarom, trebalo bi da se pojavi dijaloški okvir u kome će se tražiti da otvorite „Network Preferences“. Kliknite na "Network Preferences...", sačekajte da se pojavi prozor i kliknite na dugme "Apply". Arduino Due će se pojaviti u sistemu kao "Nije konfigurisan", ali će raditi dobro. Sada možete izaći iz sistemskih postavki.

Windows (testirano na XP i 7)


Linux

  • Na Linuxu nije potrebna nikakva instalacija drajvera.

Firmware Arduino Due

Sa korisničke tačke gledišta, proces flešovanja programa u Arduino Due se odvija na isti način kao i kod drugih Arduino modela. Iako se bilo koji USB port na Due-u može koristiti za fleš skice, ipak se preporučuje korištenje porta za programiranje u tu svrhu.

Za flešovanje vašeg programa kroz port za programiranje, uradite sljedeće:

  • Povežite svoj uređaj sa računarom tako što ćete USB kabl priključiti u Arduino port za programiranje (ovaj port se nalazi bliže konektoru za napajanje).
  • Otvorite Arduino razvojno okruženje.
  • U meniju "Alati" odaberite "Serial Port" i odaberite serijski port povezan sa Arduino Due u sistemu.
  • Iz menija "Alati> Ploče" odaberite "Arduino Due (port za programiranje)"

Nakon što završite ove korake, možete flešovati svoj program u Arduinu.

Top srodni članci