Internet Windows Android

Facem un scut de programator pentru Arduino Uno care se află în jur. Cele mai interesante scuturi pentru Arduino Ce este scutul CNC v3

Unul dintre avantajele cheie ale platformei Arduino este popularitatea acesteia. Platforma populară este susținută activ de producătorii de dispozitive electronice, lansând versiuni speciale ale diferitelor plăci care extind funcționalitatea de bază a controlerului. Astfel de plăci, numite destul de logic plăci de expansiune (un alt nume: arduino shield, shield), servesc pentru a îndeplini o mare varietate de sarcini și pot simplifica foarte mult viața unui arduinist. În acest articol, vom afla ce este o placă de expansiune Arduino și cum poate fi utilizată pentru a lucra cu o varietate de dispozitive Arduino: motoare (protecții driver de motor), ecrane LCD (protecții LCD), carduri SD (logger de date), senzori (scut senzor) și multe altele.

Să înțelegem mai întâi termenii. Placa de expansiune Arduino este un dispozitiv complet conceput pentru a îndeplini anumite funcții și este conectată la controlerul principal folosind conectori standard. Un alt nume popular pentru o placă de expansiune este scutul Arduino în limba engleză sau pur și simplu scut. Toate componentele electronice necesare sunt instalate pe placa de expansiune, iar interacțiunea cu microcontrolerul și alte elemente ale plăcii principale are loc prin pinii standard arduino. Cel mai adesea, scutul este alimentat și de la placa principală arduino, deși în multe cazuri este posibil să-l alimenteze din alte surse. În orice scut, există câțiva pini liberi pe care îi puteți folosi la discreția dvs., conectând orice alte componente la ele.

Cuvântul englez Shield este tradus ca scut, ecran, ecran. În contextul nostru, ar trebui înțeles ca ceva care acoperă placa de control, care creează un strat suplimentar al dispozitivului, un ecran în spatele căruia se ascund diverse elemente.

De ce sunt necesare scuturi arduino?

Totul este foarte simplu: 1) astfel încât să economisim timp și 2) cineva ar putea face bani din asta. De ce să pierdeți timpul proiectând, plasând, lipind și depanând ceva pe care îl puteți lua deja asamblat și începe să îl utilizați imediat? Bine proiectate și asamblate pe hardware de înaltă calitate, plăcile de expansiune sunt de obicei mai fiabile și ocupă mai puțin spațiu în dispozitivul final. Acest lucru nu înseamnă că trebuie să abandonați complet auto-asamblarea și nu trebuie să înțelegeți principiul de funcționare a anumitor elemente. La urma urmei, un inginer adevărat încearcă întotdeauna să înțeleagă cum funcționează ceea ce folosește. Dar vom putea face dispozitive mai complexe dacă nu reinventăm de fiecare dată roata, ci ne concentrăm atenția asupra a ceea ce puțini oameni au rezolvat înaintea noastră.

Desigur, trebuie să plătiți pentru oportunități. Aproape întotdeauna, costul scutului final va fi mai mare decât prețul componentelor individuale, puteți face oricând o opțiune similară mai ieftină. Dar aici depinde de tine să decizi cât de critic este timpul sau banii cheltuiți pentru tine. Luând în considerare toată asistența posibilă din partea industriei chineze, costul plăcilor este în scădere constantă, așa că cel mai adesea alegerea se face în favoarea utilizării dispozitivelor gata făcute.

Cele mai populare exemple de scuturi sunt plăcile de expansiune pentru lucrul cu senzori, motoare, ecrane LCD, carduri SD, scuturi de rețea și GPS, scuturi cu relee încorporate pentru conectarea la sarcină.

Conectarea scuturilor Arduino

Pentru a conecta scutul, trebuie doar să-l „puneți” cu atenție pe placa principală. De obicei, pinii scutului de tip pieptene (mascul) se introduc cu ușurință în conectorii plăcii Arduino. În unele cazuri, este necesar să ajustați cu atenție pinii dacă placa în sine nu este lipită bine. Principalul lucru aici este să acționați cu atenție și să nu aplicați forță excesivă.

De regulă, scutul este proiectat pentru o versiune foarte specifică a controlerului, deși, de exemplu, multe scuturi Arduino Uno funcționează destul de bine cu plăcile Arduino Mega. Pinout-ul de pe mega este realizat în așa fel încât primele 14 contacte digitale și contactele de pe partea opusă a plăcii să coincidă cu locația contactelor de pe UNO, astfel încât scutul de la arduino să devină ușor acesta.

Programare Arduino Shield

Programarea unui circuit cu o placă de expansiune nu este diferită de programarea obișnuită a unui arduino, deoarece din punctul de vedere al controlerului, pur și simplu ne-am conectat dispozitivele la pinii săi obișnuiți. În schiță, trebuie să specificați acei pini care sunt conectați în scut la pinii corespunzători de pe placă. De regulă, producătorul indică corespondența pinilor de pe scutul în sine sau într-un manual de conectare separat. Dacă descărcați schițele recomandate de producătorul plăcii, nici nu va trebui să faceți asta.

Citirea sau scrierea semnalelor de scut se face și în modul obișnuit: folosind funcțiile și alte comenzi familiare oricărui arduinist. În unele cazuri, coliziunile sunt posibile atunci când sunteți obișnuit cu această schemă de conexiune, iar producătorul a ales una diferită (de exemplu, ați tras butonul la sol, iar pe scut - la putere). Aici trebuie doar să fii atent.

De regulă, această placă de expansiune vine în kituri arduino și, prin urmare, cu ea oamenii arduino se întâlnesc cel mai des. Scutul este destul de simplu - sarcina sa principală este de a oferi opțiuni mai convenabile pentru conectarea la placa Arduino. Acest lucru se realizează prin conectori suplimentari de putere și masă, aduși pe placă la fiecare dintre pinii analogici și digitali. Tot pe placă se găsesc conectori pentru conectarea unei surse de alimentare externe (trebuie să instalați jumperi pentru a comuta), un LED și un buton de repornire. Opțiunile de scut și exemple de utilizare pot fi găsite în ilustrații.




Există mai multe versiuni ale plăcii de extensie a senzorilor. Toate diferă prin numărul și tipul de conectori. Cele mai populare versiuni astăzi sunt Sensor Shield v4 și v5.

Acest scut Arduino este foarte important în proiectele de robotică. Vă permite să conectați simultan motoare obișnuite și servo la placa Arduino. Sarcina principală a scutului este de a asigura controlul dispozitivelor care consumă un curent suficient de mare pentru o placă arduino obișnuită. Caracteristicile suplimentare ale plăcii sunt funcția de control al puterii motorului (folosind PWM) și schimbarea direcției de rotație. Există multe varietăți de plăci de scut pentru motor. Comună tuturor este prezența în circuit a unui tranzistor puternic prin care este conectată o sarcină externă, elemente radiatoare (de obicei un radiator), circuite pentru conectarea alimentării externe, conectori pentru conectarea motoarelor și pini pentru conectarea la un arduino.



Organizarea muncii cu rețeaua este una dintre cele mai importante sarcini în proiectele moderne. Pentru a vă conecta la o rețea locală prin Ethernet, există o placă de extensie corespunzătoare.




Prototiparea plăcilor de expansiune

Aceste plăci sunt destul de simple - au plăcuțe de contact pentru elementele de montare, este afișat un buton de resetare și este posibil să se conecteze alimentarea externă. Scopul acestor scuturi este de a crește compactitatea dispozitivului, atunci când toate componentele necesare sunt situate imediat deasupra plăcii principale.





Scut LCD Arduino și scut tft

Acest tip de scut este folosit pentru a lucra cu ecrane LCD în arduino. După cum știți, conectarea chiar și a celui mai simplu ecran text cu 2 linii este departe de a fi o sarcină trivială: trebuie să conectați corect 6 contacte de la ecran simultan, fără a lua în calcul sursa de alimentare. Este mult mai ușor să introduceți un modul gata făcut într-o placă arduino și să încărcați pur și simplu schița corespunzătoare. În popularul LCD Keypad Shield, de la 4 la 8 butoane sunt conectate imediat la placă, ceea ce vă permite să organizați imediat o interfață externă pentru utilizatorul dispozitivului. TFT Shield ajută, de asemenea



Arduino Data Logger Shield

O altă sarcină care este destul de dificil de implementat pe cont propriu în produsele dumneavoastră este stocarea datelor primite de la senzori cu referință în timp. Scutul gata făcut permite nu numai salvarea datelor și primirea timpului de la ceasul încorporat, ci și conectarea senzorilor într-un mod convenabil prin lipire sau pe placa de circuit.




Rezumat scurt

În acest articol, am luat în considerare doar o mică parte din gama uriașă de diverse dispozitive care extind funcționalitatea arduino. Plăcile de expansiune vă permit să vă concentrați pe cel mai important lucru - logica programului dvs. Creatorii scuturilor au asigurat instalarea corectă și fiabilă, sursa de alimentare necesară. Tot ce rămâne pentru tine este să găsești placa de care ai nevoie folosind prețutul cuvânt englezesc scut, să o conectezi la arduino și să încarci schița. De obicei, orice programare a unui scut consta in efectuarea unor actiuni simple de redenumire a variabilelor interne ale unui program deja terminat. Drept urmare, obținem ușurință în utilizare și conectare, precum și viteza de asamblare a dispozitivelor sau prototipurilor finite.

Dezavantajul utilizării plăcilor de expansiune este costul acestora și posibila pierdere de eficiență din cauza versatilității scuturilor care constă în natura lor. Pentru aplicația dvs. specifică sau dispozitivul final, este posibil să nu fie necesare toate caracteristicile scutului. În acest caz, ar trebui să utilizați scutul numai în etapa de prototipare și testare, iar atunci când creați versiunea finală a dispozitivului, gândiți-vă la înlocuirea acestuia cu un design cu propriul aspect și tip de aspect. Depinde de tine, ai toate posibilitățile pentru alegerea potrivită.

De regulă, cunoașterea platformei hardware Arduino începe cu conectarea celor mai simple periferice: LED-uri, butoane, sonerie etc. De obicei, circuitele pentru aceasta sunt asamblate pe o placă, dar este posibilă o altă opțiune. La vânzare există un scut pe care sunt deja aranjate cele mai răspândite periferice simple. Acest scut multifuncțional a fost achiziționat pe Ali pentru 2 USD.

Aparatul vine într-o pungă antistatică. Modulul are dimensiuni de 69 x 53 x 20 mm, greutate 24,4 g.

Dispozitivul este proiectat să funcționeze cu plăcile Arduino UNO, Arduino Leonardo și Arduino Mega, deși, bineînțeles, folosind fire, puteți conecta acest dispozitiv la orice placă din familia Arduino. Cu toate acestea, acesta din urmă nu pare rațional pentru autorul acestei recenzii, deoarece în acest caz se pierde principalul avantaj al acestei plăci - ușurința instalării.

Trebuie remarcat faptul că atunci când instalați această placă deasupra clasicului Arduino UNO, placa se ridică cu o ușoară înclinare, motivul pentru care aceasta este conectorul USB-BF destul de mare de pe placa Arduino UNO. Desigur, nu va exista o astfel de problemă pe placa Arduino Leonardo. Cu toate acestea, acest lucru nu a afectat în niciun fel funcționarea acestui scut.

Placa are 4 indicatoare cu șapte segmente conectate prin registrele de deplasare 74HC595, lângă care există un buton de resetare și un conector APC220 pentru conectarea modulelor Bluetooth sau a unui modul vocal.

În plus, placa are patru LED-uri roșii conectate la porturile D10, D11, D12, D13 ale plăcii Arduino. Soneria este conectată la portul D3, trebuie remarcat faptul că emițătorul de sunet este echipat cu un generator încorporat, așa că nu va funcționa pentru a reda o melodie simplă cu acesta. În partea de jos a plăcii este un trimmer conectat la portul A0.

Trei butoane conectate la porturile A1, A2, A3 (porturile digitale D15, D16, D17, respectiv). Patru conectori cu trei pini sunt conectați la porturile D5, D6, D9, A5 și sunt destinate conectării dispozitivelor externe. Lista dispozitivelor este completată de un conector pentru conectarea senzorilor de temperatură analogici LM35 sau digitali DS18B20. Senzorii sunt conectați la portul A4. Jumperul J1 conectează sau deconectează rezistența de 10 kΩ pentru funcționarea corectă a senzorilor

Controlul LED-urilor și al unui emițător de sunet nu este diferit de controlul oricărui dispozitiv digital simplu. De exemplu, puteți clipi LED-urile și puteți suna soneria folosind programul port_D.

Lucrul cu un potențiometru poate fi descris și de exemplul clasic de AnalogInput , care, folosind un rezistor variabil, controlează frecvența de clipire a LED-ului conectat la portul D13.

Puteți încerca să controlați LED-urile folosind butoanele, pentru aceasta trebuie să descărcați programul _3_LED_cu_buton

Indicatorii cu șapte segmente sunt un instrument puternic de vizualizare, trebuie avut în vedere că, dacă nu sunt utilizați, atunci sunt afișate caractere aleatorii pe ei.

Puteți verifica performanța lor folosind programul _7seg

În principiu, pe baza acestui scut, fără modificări hardware, puteți asambla o varietate de temporizatoare, de exemplu, un cronometru cu numărătoare inversă Count_Down_Timer . Cronometrul vă permite să setați intervale de timp de la 10 secunde la 60 de minute și 50 de secunde în trepte de 10 secunde. În acest cronometru, apăsați A2 pentru a seta minutele, apăsați A3 pentru a seta secundele și apăsați A1 pentru a începe numărătoarea inversă. La sfârșitul perioadei de timp stabilite, se aude un semnal sonor.

În general, scutul lasă o impresie favorabilă. Acest dispozitiv nu numai că vă permite să vă familiarizați cu Arduino de bază, dar poate deveni și baza unui proiect simplu, cum ar fi un cronometru, un contor de evenimente etc. Desigur, dezavantajul unei încercări de a pune maximum de periferice pe scut este că în fiecare proiect anume nu vor fi folosite unele dintre detaliile dispozitivului.

Poate părea că o astfel de periferie primitivă va fi relevantă doar pentru învățare în stadiul inițial. Acest lucru este parțial adevărat. Desigur, problemele legate de conectarea mai multor butoane, LED-uri, un sonerie sau un indicator cu șapte segmente la placa Arduino pot apărea numai pentru o persoană care are un Tu. Orice radioamator mai mult sau mai puțin experimentat este puțin probabil să aibă probleme cu acest lucru.

Aici întrebarea este diferită, dacă scopul este de a crea un dispozitiv prototip în timp minim, atunci operațiunile extra banale sunt exact ceea ce distrage atenția de la creativitate. De fapt, acest scut se încadrează în ideologia cumpărării de facilități și a timpului tău liber pentru bani.

Link-uri utile

  1. http://radioskot.ru/blog/raspinovka_usb_i_micro_usb/2013-09-11-97
  2. http://publicatorbar.ru/2017/12/21/arduino-multi-function-shield/
  3. http://robocraft.ru/blog/arduino/59.html
  4. https://www.youtube.com/watch?v=_z263RK31QA

Recenzia a fost pregătită de Denev.

Arduino este o placă minusculă, cu multă putere, un reprezentant tipic al Open Hardware-ului și unul dintre primele dispozitive care a câștigat o mare popularitate în rândul hackerilor de hardware. Nu e de mirare: un designer electronic convenabil permite chiar și începătorilor să-și dea seama rapid și să înceapă să-și dezvolte propriile dispozitive de la zero.

Cum să începi rapid?

Pentru un început rapid, cel mai simplu mod pentru un începător este să cumpere o placă gata făcută - costă aproximativ 30 USD. Pe placă vor fi doar două cipuri - un microcontroler ATMEL și un cip de interfață USB la care este conectat. Toate celelalte elemente sunt adăugate independent după cum este necesar.

Programele Arduino (numite „schițe” în argou) sunt scrise în limbajul Wiring. De fapt, acesta este C++ obișnuit, extins cu proceduri speciale precum „digitalWrite” (scrieți o valoare într-un port) sau „analogRead” (citiți o valoare dintr-un ADC). Toate acestea sunt stăpânite în una sau două ședințe, mai ales dacă aveți deja experiență de programare C++. Schițele scrise sunt compilate și încărcate în Arduino prin USB folosind ArduinoIDE (arduino.cc/en/Main/Software). Este nevoie de aproximativ treizeci de minute pentru a asambla cel mai simplu proiect, fără a fi nevoie de o scufundare profundă în foile de date ATMEL și constructele de asamblare. Limbajul este intuitiv și un ajutor online bun vă va ajuta să faceți față nuanțelor. Și lipirea, apropo, este, de asemenea, opțională dacă există o placă fără lipire și un set de fire.

Toți pinii microcontrolerului sunt direcționați către două rânduri ordonate de plăcuțe, la care puteți conecta senzori, butoane, afișaje și altele asemenea. Cu toate acestea, cu cât hamul este mai complex, cu atât mai mulți hemoroizi pot fi cu el. Dacă vorbim despre o pereche de LED-uri și butoane, atunci nu există dificultăți. Dar dacă doriți să controlați motoarele sau să faceți schimb de date prin interfața radio, apar o serie de dificultăți. Pentru a combate acest defect, au venit cu plăci de scut - plăci gata făcute pentru extinderea funcționalității.

Ce este un Shield Board?

Placa scut este o soluție la cheie pentru implementarea sarcinilor comune cu care se confruntă dezvoltatorii hardware. Exemple de astfel de sarcini pot fi transmisia de date prin interfața radio și lucrul cu Ethernet și controlul motoarelor electronice. Plăcile de expansiune sunt ușor de instalat pe Arduino, se andocează cu blocuri de pin și formează o structură tip sandwich foarte rigidă.

Puteți instala mai multe plăci în același timp, principalul lucru este că dispozitivele nu intră în conflict pentru aceiași pini Arduino. Cu puțină săpătură pe net, puteți găsi tabele cu o listă de scuturi populare și ace pe care le ocupă (shieldlist.org).

Apoi, tot ce rămâne este să conectați biblioteca corespunzătoare la schița principală și să încercați funcționarea circuitului folosind schița eșantion atașată bibliotecii. Cu această abordare, se economisește timp de două ori: mai întâi pentru dezvoltarea și depanarea hardware-ului și apoi pentru software. Cu toate acestea, există doar câteva zeci de plăci de scut cu adevărat de succes și populare. Cum diferă un scut bun de unul rău?

În primul rând, trebuie să aibă un buton de resetare. Oricine a depanat Arduino cu un scut pus poate aprecia acest lucru - butonul obișnuit de resetare devine inaccesibil și exercițiile de apăsare cu ajutorul obiectelor alungite la îndemână sunt enervante. Un scut bun ar trebui să fie compatibil și cu Arduino Mega - dacă aveți o versiune extinsă a Arduino pe un ATmega1280 sau ATmega2560, nu este sigur că un scut făcut pentru familiarul Uno sau Duemilanova va funcționa cu el. Și totul datorită faptului că în Mega pinii responsabili pentru SPI-ul hardware au fost mutați în alt loc! Deci, dacă scutul comunică cu Arduino prin magistrala SPI, asigurați-vă că îi studiați „burta” - puteți spera la compatibilitate cu Mega dacă vedeți nu numai pini acolo, ci și un conector femel pătrat negru 2x3. Mai jos am pregătit o prezentare generală a celor mai bune plăci Shield disponibile pentru sarcini comune.

Controlul motorului

Dacă aveți nevoie să controlați motoarele, nu ezitați să utilizați scutul Motorshield, creat de talentatul inginer american Limor Freed, alias ladyada (ladyada.net/make/mshield/).

Principalul beneficiu al scutului este versatilitatea sa, deoarece acceptă până la patru motoare de curent continuu, până la două motoare pas cu pas și două servomotoare. Poate fi combinat: de exemplu, un motor pas cu pas și două motoare DC. Baza scutului este asigurată de două microcircuite L293D quad H-bridge, capabile să furnizeze curent de până la 600 mA pe canal și tensiuni de funcționare de la 4,5 la 36 V. Prin paralelizarea intrărilor unui microcircuit, puteți muta limita de curent la 1.2 A.

Cu acest scut, puteți controla, de exemplu, simultan motoarele și tija de direcție ale unui model de mașină de curse, motoarele pas cu pas ale unui tabel de coordonate. Pentru încărcări mai puternice, puteți folosi Ardumoto cu un cip L298 de la Sparkfun (două canale cu curenți de sarcină de până la 2 A) sau versiunea sa mai avansată de Monster Moto Shield (sparkfun.com/products/10182) pe două cipuri VNH2SP30, capabile de livrare până la 30 Și cu o tensiune maximă de 41 V. Dacă vine vorba de ultima opțiune, nu uitați să vă consultați cu specialiști cunoscători: la urma urmei, sarcinile sunt destul de decente, poate fi necesar să obțineți un calorifer suplimentar, astfel încât să nu se ardă.

Lucrul cu Ethernet

Există două opțiuni principale pentru scuturi Ethernet - bazate pe vechiul chip ENC28J60 de la Microchip și pe cel mai avansat W5100 de la Wiznet. Ambele soluții folosesc magistrala SPI pentru comunicare, luând doar patru pini Arduino. Dar ENC28J60 a apărut mult mai devreme și pierde clar în fața avansatului W5100: doar 10 Mbps, fără suport hardware pentru IP, UDP, TCP. În plus, W5100 vă permite să lucrați cu patru prize (ceea ce înseamnă suport pentru până la patru conexiuni simultane).

În general, recomand cu tărie utilizarea W5100, deoarece economisește semnificativ resursa cheie a microcontrolerului - RAM (SRAM), care trebuie salvată (Atmega328 are doar un kilobyte). Ei bine, toate celelalte avantaje ale preprocesării sunt evidente: în timp ce W5100 însuși solicită pachete prin protocolul TCP și calculează sumele de control antet, Atmega poate face în siguranță lucruri mai importante.

Un alt exemplu exemplar este Arduino Ethernet Shield (arduino.cc/en/Main/ArduinoEthernetShield) de la echipa Arduino. Cu el, puteți crea o schiță care va putea:

  • obțineți o adresă IP dinamică prin DHCP;
  • setați ora folosind protocolul NTP;
  • rezolvarea numelor prin DNS;
  • trece autorizația prin RADIUS;
  • acționează ca un simplu server Web sau acționează ca un client Web, făcând cereri și analizând răspunsurile.

Dintre plăcile similare, se poate remarca dezvoltarea Freetronics - EthernetShield cu PoE (freetronics.com/products/ethernet-shieldwithpoe). Ideea de a alimenta un dispozitiv Ethernet de pe aceeași linie Ethernet la care este conectat a luat naștere în 2001, iar doi ani mai târziu a devenit standardul industrial oficial IEEE 802.3af. Din propria mea experiență, constat că nu există nimic mai convenabil pentru alimentarea cutiilor autonome care comunică prin Ethernet și sunt împrăștiate în jurul clădirii pe o rază de 100 de metri de la un comutator special de alimentare. Un astfel de scut costă puțin mai mult, necesită achiziționarea unui microcard suplimentar pentru modul PoE și are un câmp pentru placa de breadboard în locul unui conector SD.

Utilizarea unui astfel de scut este exclusiv în structurile fixe care necesită interacțiune printr-o rețea TCP/IP. De exemplu, afișarea stării senzorilor conectați în browser sau controlul de la distanță a unor mecanisme.

Îmi amintesc imediat de proiectul „twitter-flower”, în care pachetul Arduino + Ethernet, folosind un senzor de umiditate înfipt în pământ, s-a plâns prin Twitter de uscăciune și a necesitat udare imediată. Cu toată varietatea de aplicații EthernetShield, vreau să vă avertizez că fiecare bibliotecă, desigur, economisește timp, totuși, ocupă și câțiva kilobytes din memoria flash a microcontrolerului. Prin urmare, dacă mai devreme sau mai târziu ajungeți în limita de dimensiune de 30 KB a Arduino Duemilanova - gândiți-vă să îl înlocuiți cu un Mega 2560, va exista de opt ori și jumătate mai multă memorie pentru schițe.

Folosind carduri SD

În proiectele legate de acumularea unor informații (de exemplu, coordonatele GPS), este adesea necesară creșterea cantității de memorie nevolatilă disponibilă. Cel mai simplu mod de a face acest lucru este conectarea unui card SD standard. Există mai multe scuturi gata făcute pentru aceasta. Cea mai frumoasă opțiune pe care o cunosc este modulul microSD, dezvoltat de firma spaniolă de monitorizare a mediului Libellium (goo.gl/iHCy4).

Scutul ocupă un singur bloc de pin Arduino și vă permite să lucrați cu carduri SD și SDHC preformatate în FAT16 (de preferat) sau FAT32. Puteți lucra doar cu un fișier odată, numele lungi nu sunt acceptate.

Scuturi wireless

Cele mai simple module RF modulate în amplitudine (ASK), care funcționează în banda de 433 și 313 MHz fără licență, deși pot fi folosite cu Arduino prin biblioteca VirtualWire, încă mi se par o opțiune destul de proastă.

Sunt prea sensibili la interferențe, funcționează stabil doar la viteze mici, nu au separare hardware în canale - mai multe transmițătoare care funcționează simultan vor interfera între ele. Poate de aceea nu am văzut încă plăci de scut pentru ele.

Opusul este familia de plăci Xbee bazată pe protocoale Zigbee, ideală pentru organizarea rețelelor de senzori distribuiți auto-alimentați. Fiecare astfel de placă este în sine un dispozitiv cu un microcontroler la bord și foarte puțin este necesar de la scut - pentru a asigura coordonarea cu Arduino. Astfel de scuturi sunt de obicei numite „Xbee Shield”, dar nu întotdeauna - de exemplu, Libellium a dezvoltat Communication Shield (goo.gl/OZDxl). Scutul conține neapărat două rânduri de pad-uri, la care este andocat modulul în format Xbee.

Singurul dezavantaj, probabil, este prețul modulului Xbee în sine. În schimb, obținem viteze de până la 250 Kbps, rază de vizibilitate de până la 90 de metri (modificarea Xbee PRO poate ajunge până la 1,2 km), criptare, consum economic de energie și capacitatea de a transmite date (două module comunică transparent cu unul pe altul prin al treilea).

S-a remarcat de mult faptul că atunci când o companie vorbește despre rețelele wireless, primul lucru pe care și-l amintește dintr-un anumit motiv este WiFi-ul, mult mai rar despre Bluetooth. Exemple sunt WiFly Shield de la SparkFun (sparkfun.com/products/9954) și modulul Bluetooth de la Libellium (cooking-hacks.com/index.php/arduinobluetoothmodule-89.html). Acesta din urmă este realizat în format Xbee și va funcționa cu orice shield adaptor Xbee, iar configurația software de la Arduino seamănă cu un dialog cu un modem - prin portul serial și comenzile AT. Apropo, la un moment dat a fost lansată placa originală Arduino BT (arduino.cc/en/Main/ArduinoBoardBluetooth), care nu avea interfață USB, dar era programată și conectată la computer prin Bluetooth. Nu a primit o distribuție largă - poate din cauza creșterii prețului.

Pentru a face schimb de date prin GSM, se folosește de obicei un telefon mobil care poate funcționa pe un port serial la niveluri TTL.
Dar acum sunt din ce în ce mai puține dintre ele - sunt înlocuite cu USB, ceea ce necesită să fii o gazdă (și nu un dispozitiv, care este Arduino) pentru a lucra. Dar, din fericire, producătorii produc de multă vreme module GSM finite, la care rămâne să răsuciți o antenă externă și un conector pentru cartela SIM. Nu trebuie să căutați departe un exemplu - modulul GPRS Quadband de la Libellium pentru Arduino (goo.gl/KueFH), care se bazează pe un modem GPRS SAGEM.
O caracteristică a acestui model special este că modulul GRPS este detașabil și puteți transfera nu numai date - ieșirea către un difuzor extern este conectată.

Diverse scuturi

Rezumând, putem spune cu încredere că soluțiile la aproape toate problemele tipice există de mult timp sub formă de scuturi. Dar să nu credeți că aici se termină totul. Iată câteva exemple: Placa senzorului de radiații Libellium (contor Geiger).

Scut de făcut-o singur

De exemplu, să ne creăm propriul scut LCD. Schema de conectare a popularului LCD alfanumeric 1602 de pe controlerul HD44780 este disponibilă în două versiuni - o magistrală pe opt biți sau una pe patru biți. Este timpul să descoperim strategia de construire a scutului Arduino: nu există niciodată prea mulți pini! Încercăm să le folosim la minimum și de aceea alegem o schemă pe patru biți (pentru fericirea noastră, suportul pentru o astfel de schemă este inclus în kitul de distribuție ArduinoIDE, sub forma bibliotecii LiquidCrystal).

Folosim un semifabricat special pentru a ne construi scutul - un protoshield, care este o placă cu câteva bibelouri. Cea mai importantă valoare este găurile corect distanțate pentru o andocare perfectă cu Arduino. S-a întâmplat că toate blocurile de pini sunt amplasate pe o rețea cu pas de 2,54 mm, cu excepția unuia (dacă nu este acest fapt enervant, s-ar putea lua orice bucată din „placa perforată” și s-ar putea lipi mufele de andocare PLS în aceasta). Acest lucru a fost făcut intenționat pentru ca destinatarul, din distracție, să nu introducă scutul invers și să ardă viitoarea capodopera din muguri.
Rețineți că circuitul include un rezistor variabil pentru a regla contrastul. Este important! Dacă uiți de asta, cu restul schemei și schiței corecte, nimic nu va fi vizibil. Orice 10-20 kOhm va face, și în special pe acest protoshield este deja prevăzut - deși este conectat la intrarea analog0, așa că trebuie să lipiți fire suplimentare.

Să luăm o bucată de pieptene cu pini PLS și să o lipim mai întâi la contactele afișajului și apoi la scut. După aceea, trebuie să luați firul de montare și cu grijă, la rândul său, să dezlipiți și să lipiți firele de pe afișaj la pinii Arduino conform diagramei - din fericire, este simplu. Am reușit intuitiv să ascund cea mai mare parte sub afișaj.

Să punem rezultatul pe Arduino și să încărcăm prima schiță de testare din directorul LiquidCrystal. Nimic pe ecran? Sau o grămadă de pătrate negre? Nu contează, este timpul să strângem rezistența variabilă - sunt sigur că va apărea ceva cu siguranță! În acest caz, poți răsufla ușurat - acum ai primul scut creat de tine. Ei bine, din moment ce a câștigat - îl puteți rusifica în același timp. La un moment dat, am schimbat biblioteca standard, astfel încât caracterele chirilice să fie traduse corect din UTF-8 în generatorul de caractere de afișare. Căutați cea mai recentă versiune a bibliotecii la github.com/mk90.

Și programare. Este conceput pentru a înlocui dispozitivele analogice voluminoase sau microcircuite și este ideal ca un cadou pentru toți radioamatorii.

Arduino: constructor high-tech

„Arduino” este o placă de microcontroler cu mulți pini și procesor propriu. Placa este baza la care puteți conecta un număr destul de mare de așa-numitele scuturi (de la scutul englezesc - scut), extinzând funcționalitatea plăcii. Este folosit în sistemele de automatizare a proceselor, dar poate fi folosit cu ușurință și în robotică. Există o mulțime de domenii de activitate pentru placa Arduino. Dar ea a câștigat popularitate printre amatorii de radio tocmai ca un designer ieftin, dar simplu și foarte multifuncțional.

Puteți face ca Arduino să funcționeze așa cum ar trebui cu ajutorul programării. Acest proces este ușor și chiar și un începător se poate descurca. Și dacă utilizatorul are abilitățile limbajului C ++, atunci programarea plăcii se va dovedi foarte simplă și rapidă.

Principalul avantaj al plăcii este capacitatea de a conecta la ea un număr nelimitat de dispozitive periferice, obținând astfel automatizarea maximă a muncii. În plus, dacă ceva nu funcționează pentru un începător, nu contează. Există un număr mare de comunități în rețea cu multe informații și instrucțiuni pentru programare și conectare. radioamatori este o alegere minunată.

Trebuie remarcat faptul că constructorul funcționează pe software gratuit (de exemplu, o distribuție specială Linux), astfel încât nu va trebui să plătiți suplimentar pentru OS și software.

Lucrul cu plăci de scut (scuturi)

După cum am menționat mai sus, funcționalitatea dispozitivului este îmbunătățită cu ajutorul plăcilor speciale - scuturi. Acestea sunt panouri gata făcute pentru gestionarea unui anumit proces. Scuturile sunt conectate folosind conectori - pini. Gama de procese care pot fi controlate folosind scuturi este foarte mare: de la transmisia de date prin Ethernet la controlul motoarelor electrice. Puteți asambla un sistem de control al procesului folosind scuturi cu propriile mâini. „Arduino” distribuie doar rolul unuia sau altuia dispozitiv extern prescris în program, iar plăcile de expansiune funcționează direct.

Există momente când trebuie să scrieți anumite date în memorie (de exemplu, puncte GPS). Arduino în sine nu poate face acest lucru, deoarece nu are o unitate de memorie. Acesta este locul în care scutul este util, adăugând posibilitatea de a utiliza carduri micro-SD de până la 64 GB.

Destul de ciudat, poți chiar să creezi singur scuturi. De exemplu, un simplu scut LCD. Luați un ecran de la un calculator sau un pager vechi și atașați-l la știfturile plăcii. Desigur, mai trebuie să scrieți un program pentru ca Arduino să afișeze imaginea pe ecran. Și gata, scutul de casă este gata.

Programare „Arduino”

Programele Arduino sunt scrise în limbajul Wired. Acest limbaj este similar cu C++ în multe privințe. Cu toate acestea, chiar dacă nu aveți abilități de programare, tot nu este dificil să vă ocupați de Wired. Pe forumurile dedicate „Arduino”, programele pentru acesta se numesc „schițe”. Chiar dacă ești prea leneș sau nu te poți programa, poți găsi un număr mare de schițe gata făcute.

Fiecare schiță necesită propriul set de biblioteci. Ele pot fi căutate și pe forumurile Arduino. Pentru începători, există un ghid de referință foarte bun cu instrucțiuni pas cu pas pentru scrierea schițelor pentru un anumit proces.

Crearea de scuturi pentru Arduino cu propriile mâini

Cumpărarea de scuturi pentru Arduino nu este deloc necesară. Să presupunem că nu ai 30 USD în plus, dar există o mulțime de detalii inutile și o mare dorință de a automatiza ceva. Nici o problemă. Principalul lucru este că aveți deja o placă principală cu un sistem de operare flash și abilitatea de a scrie schițe.

Din piese improvizate se poate obține un circuit Arduino. Cu propriile mâini, rămâne doar să lipiți componentele. Deși, dacă se presupune că structura este nemișcată, atunci nimic nu trebuie lipit. Pur și simplu conectați componentele cu fire. Trebuie remarcat faptul că un astfel de scut de casă pentru Arduino la preț se va dovedi a fi de multe ori mai ieftin decât cel din fabrică. De exemplu, un kit Arduino pentru automatizarea funcționării motoarelor electrice va costa 80-90 USD. Dar dacă faci singur asamblarea, poți reduce costul la 30 USD.

Există și multe alte kituri create pentru anumite zone și includ, pe lângă placa principală, toate piesele necesare. De exemplu, un kit pentru crearea unei case inteligente, supraveghere video, climatizare sau sisteme stereo.

Desigur, nu toate scuturile pot fi făcute singur. În unele cazuri, pur și simplu nu puteți găsi detaliile potrivite. De exemplu, va trebui cumpărat un scut cu extensie pentru un card de memorie.

Pentru ce poți folosi Arduino?

Există o mulțime de aplicații pentru acest dispozitiv, vom lua în considerare doar câteva exemple de utilizare.

De exemplu, ai o mașină. Și trebuie să afișați informații despre viteză pe ecranul LCD al radioului. Cum se face un vitezometru din Arduino? Foarte simplu. Cumpărăm taxe. De exemplu, Arduino Mega 2560, modul GPS GPS Ublox NEO 6m. După aceea, căutăm în rețea schițe gata făcute pentru control, prescriem toate acestea în Arduino, le atașăm unul la celălalt și gata.

Puteți crea la fel de ușor un întreg sistem de control cu ​​propriile mâini. Arduino face acest lucru posibil. Principalul lucru este să vă aprovizionați cu schițele și detaliile necesare.

Utilizarea „Arduino” în robotică

Arduino este utilizat pe scară largă în robotică. Datorită faptului că un număr mare de servo-uri, motoare, senzori sunt conectați la placă, puteți obține un întreg robot făcut de dvs. „Arduino” vă permite, de asemenea, să îl programați așa cum doriți. Dacă sunteți interesat să vă târați, să conduceți și să săriți bucăți de fier, atunci „Arduino” este cu siguranță pentru dvs.

În plus, dacă atașați dispozitivul, împreună cu niște senzori, la un quadrocopter, puteți obține un robot observator bun. Și aceasta este deja o dezvoltare destul de utilă.

În robotică se poate arăta o imaginație remarcabilă și, cu ajutorul lui „Arduino” - să o pună în practică. Unii meșteri chiar fac prototipuri din Futurama folosind doar acest constructor.

În loc de o concluzie

Plăcile de control Arduino sunt ideale pentru automatizarea oricărui proces datorită flexibilității lor în personalizare. În plus, nimeni nu va avea probleme cu programarea plăcii datorită manualului bogat de referință pe acest subiect. Dacă ceva se rupe în timpul lucrului, nu va fi dificil să îl reparați singur. „Arduino” permite unei persoane să arate o imaginație nemărginită. Cu această placă, puteți crea aproape orice, de la un sistem de control al încălzirii prin pardoseală prin intermediul unui smartphone până la un robot.

Aprinderea intermitentă a unui LED și altele asemenea este grozavă, desigur, dar am vrut să fac ceva mai mult sau mai puțin util, care să poată fi aplicat în viața de zi cu zi. Probabil cel mai simplu lucru este să porniți și să opriți consumatorii de curent puternici - becuri, ve Ventilatoare, pompe, casetofone etc. Pentru aceasta, Relay-Shield ne va ajuta. Există soluții gata făcute, o mulțime de scheme pe internet. Dar este mai distractiv să o faci singur.

Aici. Acum puteți începe să lipiți componentele. În primul rând, jumperi și elemente mici (rezistoare, ansamblu de diode, tranzistoare).

Cel mai deranjant lucru este etanșarea pinilor conectorului.... Dar cumva am reușit :) Deci poți și tu. Principalul lucru este că nu ar exista „snot”, „shorty” și „non-solder” :)
Iată câteva fotografii cu produsul finit. Să spunem că nu este o opțiune de expoziție, dar totuși...
Apropo, diodele SMD sunt vizibile de jos, stând paralele cu înfășurările releului. Transformatorul este fixat cu două fire.

Și încărcați schița de test:

/*
Testează Scutul de ștafetă făcut în casă (Ghost D. 2012)
Folosind pinii digitali #7 și #8
*/

void setup()(
//
pinMode(7, OUTPUT);
pinMode(8, IEȘIRE);
}

void loop() (
digitalWrite(7, HIGH); // Porniți primul releu
întârziere (2000); // așteptăm
digitalWrite(8, HIGH); // Porniți al doilea releu
întârziere (2000);
digitalWrite(8, LOW); // Opriți al doilea releu
întârziere (2000);
digitalWrite(7, LOW); // opriți primul releu
întârziere (2000); //
}

Noul nostru scut face clic pe relee. Voila!!!

P.S. În versiunea mea, în timpul testării, transformatorul se încălzește destul de puternic. Fie informațiile au fost indicate incorect pe PSU (de unde am ales-o) (cum ar fi 300 mA), fie a existat un fel de probleme cu ea...