Arduino Due : Konfiguracija pinov, vmesniki in njihove aplikacije

Preizkusite Naš Instrument Za Odpravo Težav





Plošča Arduino je odprtokodna platforma strojne in programske opreme, ki je zasnovana z vezjem, vključno z mikrokrmilnikom in drugimi vmesniki, ki podpirajo različne komponente, povezane z njim. To ploščo je mogoče preprosto programirati s pomočjo integriranega razvojnega okolja (IDE), ki se uporablja za pisanje in nalaganje kode na ploščo. Arduino je prilagodljiva mikrokontrolerska plošča, ki se uporablja za razvoj različnih elektronskih projektov. Obstajajo različne vrste Arduino plošč kot arduino uno , Nano, Micro, Leonardo, nano Every, MKR Zero, Uno WiFi, Due, Mega 2560 , Lilypad itd. Ta članek ponuja informacije o eni od vrst plošč Arduino, in sicer Arduino Due – delo z aplikacijami.


Kaj je Arduino Due?

Arduino Due je najmočnejša razvojna plošča Arduino v seriji Arduino. Ta plošča Arduino je plošča za začetnike, ki vključuje veliko funkcij z odlično hitrostjo obdelave, zato se uporablja v naprednih aplikacijah. Ta plošča je bila razvita na krmilniku serije ARM, medtem ko so bile druge plošče Arduino razvite na osnovi krmilnika serije ATMEGA.



Arduinova plošča temelji na 32-bitnem jedrnem mikrokrmilniku ARM. Ta plošča je na voljo s 54 digitalnimi V/I zatiči, kjer se 12 zatičev uporablja kot PWM o/ps, 12 analognih vhodov, UART -4, 84 MHz CLK, DAC -2, TWI-2, SPI glava, napajanje jack, glava JTAG, povezava USB OTG in gumb RESET & gumb za IZBRIS.

Ploščo Arduino Due lahko preprosto povežete s katerim koli računalnikom z mikro-USB kabel in napajanje prek baterije ali adapterja AC-to-DC, da začnete. Ta plošča je primerna za vse vrste Arduino ščitov, ki delujejo pri 3,3 V.



Specifikacije

The specifikacije Arduino Due vključujejo naslednje.

  • Mikrokrmilnik je SAM3X8E 32-bitni krmilnik ARM.
  • Delovna napetost je 3,3 V.
  • Največji tok skozi vsak I/O pin je 3 mA in 15 mA.
  • Največji tok, ki ga črpajo vsi V/I zatiči, je 130 mA.
  • Flash pomnilnik je 512K bajtov.
  • 16 Kbajt EEPROM.
  • 96KB notranji RAM.
  • Notranja urna frekvenca je 12 Mhz.
  • Zunanja urna frekvenca je 84 Mhz.
  • Delovna temperatura je od -40ºC do +85ºC
  • Priporočena napetost i/p je od 7V do 12V.
  • Vhodna napetost se giblje od 6 do 20V
  • Digitalni V/I zatiči – 54.
  • Analogni i/p zatiči – 12.
  • Analogni o/p zatiči – 2.

Arduino Due Pin Configuration

Konfiguracija pinov Arduino Due je prikazana spodaj.

  PCBWay   Pin konfiguracija Arduino Due
Pin konfiguracija Arduino Due

Moč

Ploščo Arduino Due je mogoče napajati preko priključka USB ali zunanjega napajanja, kot je baterija ali AC-to-DC adapter. Tako se vir energije izbere samodejno. Napajalni zatiči Arduino Due so +3,3 V, +5 V, Vin & GND.

  • Vin je pin vhodne napetosti, kjer se napetost dovaja skozi ta pin.
  • 5V pin oddaja reguliranih 5V z regulatorjem napetosti na plošči Arduino.
  • Napajalna napetost 3,3 V se ustvari preko vgrajenega regulatorja. Ta regulator preprosto zagotavlja napajanje mikrokontrolerja SAM3X.
  • Na plošči je na voljo 5 zatičev GND.
  • Zatič IOREF na plošči Arduino Due preprosto zagotavlja referenco napetosti, prek katere deluje mikrokrmilnik. Napetost zatiča IOREF je mogoče pripraviti tako, da pravilno konfigurirate ščit in izberete ustrezen vir napajanja ali omogočite pretvornike napetosti na o/ps za delovanje prek 5 V (ali) 3,3 V.

Komunikacijski vmesnik

UART: UART je 'univerzalni asinhroni sprejemni oddajnik'. Ta vmesnik se uporablja predvsem za programiranje PRO MINI.

SPI: SPI je serijski periferni vmesnik, ki se uporablja za zelo učinkovit prenos serijskih podatkov med mikrokontrolerji in eno ali več perifernimi napravami. Arduino vključuje štiri zatiče SPI SCK, SS, MOSI in MISO.

TWI: TWI je dvožilni vmesnik, ki se uporablja za povezovanje zunanjih naprav.

LAHKO: CAN je omrežni vmesnik krmilnika, ki se uporablja predvsem za zagotavljanje komunikacije med krmilniki.

SSC: SSC je sinhroni serijski komunikacijski vmesnik, ki se uporablja predvsem za avdio in telekomunikacijske aplikacije.

Spomin

SAM3X ima dva bloka po 256 KB (512 KB) bliskovnega pomnilnika za shranjevanje kode. Zagonski nalagalnik je vnaprej zapisan iz Atmela v tovarni in je preprosto shranjen v namenskem ROM-u. SRAM je na voljo s 96 KB v dveh sosednjih bankah po 32 KB in 64 KB. Do celotnega obstoječega pomnilnika je mogoče neposredno dostopati kot do ploščatega naslovnega prostora, kot so RAM, ROM in Flash.

Gumb ERASE

Vgrajeni gumb ERASE se uporablja za brisanje bliskovnega pomnilnika SAM3X. To bo torej odstranilo trenutno naložene podatke iz enote mikrokrmilnika. Za brisanje pritisnite in nekaj časa držite gumb za brisanje, ko je plošča Arduino napajana.

Analogni vhodi (A0 do A11):

Arduino Due vključuje 12 analognih vhodov in vsak pin zagotavlja 12 bitov ločljivosti. Ti analogni zatiči se preprosto uporabljajo za branje vrednosti analognega senzorja, ki je povezan s ploščo Arduino. Vsak analogni pin na plošči sem povezal z vgrajenim ADC z 12-bitno ločljivostjo.

Zatiči DAC (DAC0 do DAC1):

Ta dva zatiča zagotavljata analogni izhod z 12-bitno ločljivostjo. Ta dva zatiča se uporabljata predvsem za ustvarjanje zvočnega izhoda z zvočno knjižnico.

AREF

Ta zatič je preprosto povezan z analognim referenčnim zatičem krmilnika SAM3X skozi uporovni most. Za uporabo tega zatiča je treba upor BR1 odspajkati s tiskanega vezja.

PONASTAVITI

Ta zatič se uporablja za ponastavitev krmilnika in začetek izvajanja programa od začetka.

Zatiči PWM (2 do 13)

Zatiči PWM od 2 do 13 so iz niza digitalnih zatičev, kjer vsak zatič daje 8-bitni PWM o/p. Vrednost PWM o/p preprosto variira od 0 do 5 voltov.

Glava JTAG: Skupni vmesnik strojne opreme, ki nam pomaga neposredno komunicirati z zunanjimi čipi naše plošče. Za ta namen se uporabljajo 4 nožice, označene kot TCK, TD0, TMS in TDI.

Arduino Due Programming

Na splošno se vse vrste plošč Arduino preprosto programirajo s programsko opremo IDE Arduino. To programsko opremo je zelo enostavno naučiti in uporabljati brez večjih težav. Ta programska oprema je takoj na voljo, tako da jo lahko neposredno prenesemo z uradne strani in izberemo ploščo Arduino, na kateri želite delati. Ta plošča ne potrebuje zunanjega zapisovalnika, kot je zagonski nalagalnik, da zapiše kodo na ploščo. Programska oprema Arduino odlično deluje prek običajnih operacijskih sistemov, kot so Windows, MAC ali Linux .

Plošča Arduino Due se dobro ujema s skoraj vsemi ščiti, ki so v glavnem zasnovani za druge vrste plošč Arduino. Najpomembnejši ščiti so; Motorni ščit, ethernetni ščit in WiFi ščit.

Vmesnik temperaturnega senzorja LM35 z Arduino Due

Spodaj je prikazan temperaturni senzor LM35, ki je povezan z Arduinom. Temperaturni senzor LM35 je natančen IC, katerega napetost o/p je linearno sorazmerna s temperaturo Celzija. Tako ima ta IC prednost pred linearnimi temperaturnimi senzorji, kalibriranimi v Kelvinih, ker uporabniku ni treba odšteti velike stabilne napetosti od njegovega o/p, da bi dobil priročno skaliranje po stopinjah Celzija.

Senzor LM35 ne potrebuje nobene zunanje kalibracije, sicer pa ga je treba prilagoditi, da zagotovi tipično natančnost ±1/4 °C pri sobni temperaturi in ±3/4 °C nad celotnim temperaturnim območjem +150 °C.

Senzor temperature LM35 vključuje tri nožice +5V, GND in izhod t. Povezave senzorja LM35 s ploščo Arduino so naslednje:

  Vmesnik senzorja LM35 s ploščo Arduino Due
Vmesnik senzorja LM35 s ploščo Arduino Due

The Vcc zatič temperaturnega senzorja je povezan s priključkom 3v3 na plošči Arduino.
The GND kontakt temperaturnega senzorja je povezan z zatičem GND na plošči Arduino.
The izhodni zatič temperaturnega senzorja je priključen na pin A0 plošče Arduino.

Koda

const int analogIn = A0;
int RawValue= 0;
dvojna napetost = 0;
dvojna tempC = 0;
dvojna tempF = 0;

void setup(){
Serial.begin(9600);
}
void loop()

{
RawValue = analogRead(analogIn);
Napetost = (RawValue / 1023,0) * 3300; // 5000 za pridobitev milivotov.
tempC = napetost * 0,1;
tempF = (tempC * 1,8) + 32; // pretvori v F
Serial.print(“Neobdelana vrednost = ”); // prikazuje vnaprej skalirano vrednost
Serial.print(RawValue);
Serial.print('\t milivoltov = '); // prikazuje izmerjeno napetost
Serial.print(napetost,0); //
Serial.print(“\t Temperatura v C = “);
Serial.print(tempC,1);
Serial.print(“\t Temperatura v F = “);
Serial.println(tempF,1);
zamuda (500);
}

Izhod bo prikazan na serijskem monitorju. Torej odprite serijski monitor, da preverite izhode, kot so naslednji.

Neobdelana vrednost = 69 milivoltov = 220 Temperatura v C = 22,1 Temperatura v F = 72,5
Neobdelana vrednost = 70 milivoltov = 227 Temperatura v C = 23,6 Temperatura v F = 73,6
Neobdelana vrednost = 71 milivoltov = 230 Temperatura v C = 23,9 Temperatura v F = 74,2
Neobdelana vrednost = 72 milivoltov = 234 Temperatura v C = 24,2 Temperatura v F = 74,8
Neobdelana vrednost = 73 milivoltov = 236 Temperatura v C = 24,5 Temperatura v F = 75,4
Neobdelana vrednost = 74 milivoltov = 240 Temperatura v C = 24,9 Temperatura v F = 76,0
Neobdelana vrednost = 75 milivoltov = 243 Temperatura v C = 25,2 Temperatura v F = 76,5
Neobdelana vrednost = 76 milivoltov = 246 Temperatura v C = 25,5 Temperatura v F = 77,1
Neobdelana vrednost = 77 milivoltov = 249 Temperatura v C = 54,8 Temperatura v F = 77,7

Kako se Arduino Due razlikuje od ostalih plošč Arduino?

Plošča Arduino Due se v primerjavi z drugimi vrstami plošč Arduino razlikuje po nivoju napetosti. Torej mikrokrmilnik znotraj plošče Arduino preprosto deluje pri 3,3 V namesto 5 V, kar je običajno pri drugih ploščah Arduino. Če uporabljate višjo napetost (>3,3 V) za nožice plošče Arduino Due, se lahko plošča poškoduje. Procesor, ki je uporabljen v plošči Arduino, je najhitrejši procesor v primerjavi z drugimi ploščami. Velikost pomnilnika je največja pri plošči Arduino v primerjavi z drugimi ploščami. Plošča Arduino nima vgrajenega EEPROM-a in je dražja plošča. Tabla Due vključuje veliko št. glav pinov za povezavo z več digitalnimi V/I in je tudi združljiv s pini prek tipičnih ščitov Arduino.

Arduino Due podpira umetno inteligenco in algoritme. Tako kot plošča Arduino Mega, ki ima podobno število vrat, le da je veliko močnejša, lahko to ploščo Arduino uporabimo v projektih za ustvarjanje umetne inteligence (AI) za mobilne robote. Torej, če želite obvladati zapletene algoritme, drugače narediti robota bolj reaktivnega, potem bi bila plošča Arduino Due prava.

Prednosti

Glavni prednosti Arduino Due vključujejo naslednje.

  • Gre za zelo zmogljiv 32-bitni procesor s frekvenco 84 MHz.
  • Hitrost obdelave znotraj navodil za vsako sekundo je visoka.
  • Arduino je v glavnem zasnovan za boljšo dostopnost krmilnika.
  • Arduino lahko proizvede 114 kilociklov vsako sekundo.
  • Njegov programski jezik je preprost.
  • Njegova cena je nižja v primerjavi z Mega.

Slabosti

Glavni slabosti Arduina zaradi vključujejo naslednje.

  • Te plošče so nekoliko obsežne.
  • Zajema več prostora.
  • Due je slabši zaradi pomanjkanja združljivosti s ščitom.
  • Velikost Arduina ni primerna za številne projekte.
  • Ta plošča nima zmožnosti Bluetooth in Wi-Fi.

Arduino zaradi aplikacij

Glavni Arduino dva uporablja vključujejo naslednje.

  • Arduino Due se večinoma uporablja za projekte, ki temeljijo na Arduinu.
  • Široko se uporablja v različnih aplikacijah, kjer je končni rezultat hitra obdelava.
  • Idealen je za projekte, ki potrebujejo visoko računalniško moč, kot so brezpilotna letala, ki jih za letenje upravljamo na daljavo in zahtevajo obdelavo veliko podatkov senzorjev vsako sekundo.
  • Avtomatizacija v industriji.
  • Varnostni sistemi.
  • Aplikacije, ki temeljijo na virtualni resničnosti.
  • Aplikacije za GSM in Android.
  • Vgrajeni sistem.
  • Sistem avtomatizacije za dom z uporabo IR.
  • Robotska roka.
  • Zasilna razsvetljava.
  • Mobilni dvigalo.
  • Sistem za avtomatizacijo doma z Bluetooth.
  • Samodejni nadzor jakosti uličnih luči.
  • Robot za izogibanje oviram.
  • Vozilo za stensko plezanje.
  • Sistem števcev za parkirišče.

Torej gre za vse pregled Arduina Due – deluje in njegove aplikacije. Ta plošča Arduino temelji na 32-bitnem mikrokontrolerju jedra ARM, zato je primerna za večje projekte Arduino. Ta mikrokrmilniška plošča Arduino Due temelji na Atmel SAM3X8E Cortex M3 procesor . Tukaj je vprašanje za vas, kaj je Arduino nano?