Arduino - Arduino

Arduino
Arduino Logo.svg Genuino Logo.svg
Arduino Uno - R3.jpg
Arduino Uno SMD R3
Dezvoltator arduino.cc
Producător Arduino
Tip Microcontroler cu o singură placă
Sistem de operare Niciunul (implicit) / Xinu
CPU Atmel AVR (8 biți),
ARM Cortex-M0 + (32 biți),
ARM Cortex-M3 (32 biți),
Intel Quark ( x86 ) (32 biți)
Memorie SRAM
Depozitare Flash , EEPROM
Site-ul web www .arduino .cc

Arduino ( / ɑː r d w í n / ) este un hardware open-source și software - ul de companie, proiect, și comunitatea de utilizatori , care proiectează și produce microcontrolere cu o plată și microcontroler kituri pentru construirea de dispozitive digitale. Produsele sale hardware sunt licențiate sub o licență CC-BY-SA , în timp ce software-ul este licențiat sub licența GNU Lesser General Public License (LGPL) sau GNU General Public License(GPL), permițând fabricarea de plăci Arduino și distribuirea de software de către oricine. Plăcile Arduino sunt disponibile comercial de pe site-ul oficial sau prin intermediul distribuitorilor autorizați.

Modelele de plăci Arduino utilizează o varietate de microprocesoare și controlere. Plăcile sunt echipate cu seturi de pini de intrare / ieșire (I / O) digitale și analogice care pot fi interfațate la diferite plăci de expansiune („scuturi”) sau panouri de verificare (pentru prototipare) și alte circuite. Plăcile au interfețe de comunicații seriale, inclusiv Universal Serial Bus (USB) pe unele modele, care sunt utilizate și pentru încărcarea programelor. Microcontrolerele pot fi programate utilizând C și C ++ limbaje de programare , folosind un API standard , care este , de asemenea , cunoscut sub numele de „limba Arduino“. Pe lângă utilizarea lanțurilor de instrumente tradiționale de compilare , proiectul Arduino oferă un mediu de dezvoltare integrat (IDE) și un instrument de linie de comandă dezvoltat în Go .

Proiectul Arduino a început în 2005 ca un instrument pentru studenții de la Interaction Design Institute Ivrea , Italia, cu scopul de a oferi o modalitate ușoară și ieftină novicilor și profesioniștilor de a crea dispozitive care interacționează cu mediul lor folosind senzori și actuatori . Exemple obișnuite de astfel de dispozitive destinate pasionaților începători includ roboți simpli , termostate și detectoare de mișcare .

Numele Arduino provine dintr-un bar din Ivrea , Italia, unde se întâlneau unii dintre fondatorii proiectului. Barul a fost numit dupa Arduin Ivrea , care a fost Margrave din martie a Ivrea și rege al Italiei 1002-1014.

Istorie

Image
Primul Arduino realizat vreodată

Proiectul Arduino a fost demarat la Interaction Design Institute Ivrea (IDII) din Ivrea , Italia. În acel moment, studenții foloseau un microcontroler BASIC Stamp la un cost de 50 USD. În 2003, Hernando Barragán a creat platforma de dezvoltare Wiring ca proiect de teză de masterat la IDII, sub supravegherea lui Massimo Banzi și Casey Reas . Casey Reas este cunoscut pentru co-crearea, împreună cu Ben Fry, platforma de dezvoltare Processing . Scopul proiectului a fost de a crea instrumente simple, cu costuri reduse, pentru a crea proiecte digitale de către non-ingineri. Platforma de cablare a constat dintr-o placă de circuite imprimate (PCB) cu un microcontroler ATmega 168, un IDE bazat pe funcții de procesare și bibliotecă pentru a programa cu ușurință microcontrolerul. În 2005, Massimo Banzi, împreună cu David Mellis, un alt student IDII, și David Cuartielles, au extins cablajul prin adăugarea de suport pentru microcontrolerul ATmega8 mai ieftin. Noul proiect, furnizat de Wiring, s-a numit Arduino .

Echipa de bază inițială Arduino a fost formată din Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino și David Mellis.

După finalizarea platformei, versiunile mai ușoare și mai puțin costisitoare au fost distribuite în comunitatea open-source. S-a estimat la mijlocul anului 2011 că peste 300.000 de Arduino-uri oficiale au fost produse comercial, iar în 2013 că 700.000 de plăci oficiale erau în mâinile utilizatorilor.

Disputa privind marca comercială

La începutul anului 2008, cei cinci cofondatori ai proiectului Arduino au creat o companie, Arduino LLC, pentru a deține mărcile comerciale asociate cu Arduino. Fabricarea și vânzarea plăcilor urma să fie făcută de companii externe, iar Arduino LLC va primi o redevență de la acestea. Statutul fondator al Arduino LLC a specificat că fiecare dintre cei cinci fondatori transferă proprietatea mărcii Arduino către noua companie formată.

La sfârșitul anului 2008, compania lui Gianluca Martino, Smart Projects, a înregistrat marca Arduino în Italia și a păstrat acest lucru secret de ceilalți cofondatori timp de aproximativ doi ani. Acest lucru a fost dezvăluit atunci când compania Arduino a încercat să înregistreze marca comercială în alte zone ale lumii (inițial înregistrate doar în SUA) și a descoperit că aceasta era deja înregistrată în Italia. Negocierile cu Martino și firma sa pentru a aduce marca sub controlul companiei originale Arduino au eșuat. În 2014, Smart Projects a început să refuze plata drepturilor de autor. Au numit apoi un nou CEO, Federico Musto, care a redenumit compania Arduino SRL și a creat site-ul web arduino.org , copiind grafica și aspectul arduino.cc original . Acest lucru a dus la o ruptură în echipa de dezvoltare Arduino.

În ianuarie 2015, Arduino LLC a intentat un proces împotriva Arduino SRL.

În mai 2015, Arduino LLC a creat marca globală Genuino , utilizată ca nume de marcă în afara Statelor Unite.

La World Maker Faire din New York, la 1 octombrie 2016, co-fondatorul și CEO-ul Arduino LLC Massimo Banzi și CEO-ul Arduino SRL Federico Musto au anunțat fuziunea celor două companii. În aceeași perioadă, Massimo Banzi a anunțat că, pe lângă companie, va fi lansată o nouă Fundație Arduino ca „un nou început pentru Arduino”, dar această decizie a fost retrasă mai târziu.

În aprilie 2017, Wired a raportat că Musto „și-a fabricat dosarul academic .... Pe site-ul companiei sale, conturi personale LinkedIn și chiar pe documente de afaceri italiene, Musto a fost, până de curând, listat ca deținător al doctoratului de la Massachusetts Institute of Tehnologie. În unele cazuri, biografia sa a cerut și un MBA de la Universitatea din New York. " Wired a raportat că niciuna dintre universități nu a înregistrat prezența lui Musto, iar Musto a recunoscut ulterior într-un interviu cu Wired că nu a obținut niciodată aceste diplome. Controversa din jurul lui Musto a continuat atunci când, în iulie 2017, el ar fi extras multe licențe open source , schemă și cod de pe site-ul web Arduino, determinând examinarea și strigătele.

Până în 2017, Arduino AG deținea multe mărci comerciale Arduino. În iulie 2017 BCMI, fondată de Massimo Banzi, David Cuartielles, David Mellis și Tom Igoe, a achiziționat Arduino AG și toate mărcile comerciale Arduino. Fabio Violante este noul CEO care îl înlocuiește pe Federico Musto, care nu mai lucrează pentru Arduino AG.

Post-dispută

În octombrie 2017, Arduino și-a anunțat parteneriatul cu ARM Holdings (ARM). Anunțul spunea, în parte, „ARM a recunoscut independența ca o valoare de bază a Arduino ... fără niciun fel de blocare cu arhitectura ARM ”. Arduino intenționează să lucreze în continuare cu toți furnizorii și arhitecturile de tehnologie.

Sub îndrumarea Violante, compania a început din nou să crească și să lanseze noi modele. Marca comercială Genuino a fost respinsă și toate produsele au fost marcate din nou cu numele Arduino. În februarie 2020, comunitatea Arduino a inclus aproximativ 30 de milioane de utilizatori activi pe baza descărcărilor IDE.

În august 2018, Arduino a anunțat noul său instrument de linie de comandă open source ( arduino-cli ), care poate fi folosit ca înlocuitor al IDE pentru a programa plăcile dintr-un shell.

În februarie 2019, Arduino și-a anunțat serviciul IoT Cloud ca o extensie a mediului online Create.

Hardware

Image
Placă R3 Uno compatibilă Arduino fabricată în China fără logo Arduino, dar cu marcaje identice, inclusiv textul „ Made in Italy

Arduino este hardware open-source . Proiectele de referință hardware sunt distribuite sub o licență Creative Commons Attribution Share-Alike 2.5 și sunt disponibile pe site-ul web Arduino. Sunt disponibile și fișiere de aspect și de producție pentru unele versiuni ale hardware-ului.

Deși proiectele hardware și software sunt disponibile gratuit sub licențe copyleft , dezvoltatorii au solicitat numele Arduino să fie exclusiv pentru produsul oficial și să nu fie utilizat pentru lucrări derivate fără permisiune. Documentul oficial de politică privind utilizarea denumirii Arduino subliniază faptul că proiectul este deschis încorporării lucrărilor altor persoane în produsul oficial. Mai multe produse compatibile Arduino lansate comercial au evitat numele proiectului folosind diferite nume care se termină în -duino .

Image
O placă Arduino timpurie cu o interfață serială RS-232 (stânga sus) și un cip de microcontroler Atmel ATmega8 (negru, dreapta jos); cei 14 pini I / O digitale sunt în partea de sus, cei 6 pini de intrare analogici în dreapta jos și conectorul de alimentare în partea stângă jos.

Majoritatea plăcilor Arduino constau dintr-un microcontroler AVM de 8 biți Atmel (ATmega8, ATmega168, ATmega328 , ATmega1280 sau ATmega2560) cu cantități variabile de memorie flash, pini și caracteristici. Arduino Due pe 32 de biți , bazat pe Atmel SAM3X8E, a fost introdus în 2012. Plăcile utilizează pini cu un singur rând sau dublu rând sau anteturi de sex feminin care facilitează conexiunile pentru programare și încorporare în alte circuite. Acestea se pot conecta cu module suplimentare numite scuturi . Scuturile multiple și, eventual, stivuite pot fi adresate individual printr-o magistrală serial I²C . Majoritatea plăcilor includ un regulator liniar de 5 V și un oscilator de cristal de 16 MHz sau un rezonator ceramic . Unele modele, cum ar fi LilyPad, rulează la 8 MHz și renunță la regulatorul de tensiune de la bord din cauza restricțiilor specifice factorului de formă.

Microcontrolerele Arduino sunt pre-programate cu un încărcător de încărcare care simplifică încărcarea programelor în memoria flash on-chip . Bootloader-ul implicit al Arduino Uno este bootloader-ul Optiboot. Plăcile sunt încărcate cu cod de program printr-o conexiune serială la un alt computer. Unele plăci Arduino seriale conțin un circuit de schimbare a nivelului pentru a converti între nivelurile logice RS-232 și semnalele de nivel tranzistor – tranzistor logic (TTL). Plăcile Arduino actuale sunt programate prin Universal Serial Bus (USB), implementate folosind cipuri adaptor USB-serie, cum ar fi FTDI FT232. Unele plăci, cum ar fi plăcile Uno de model ulterior, înlocuiesc cipul FTDI cu un cip AVR separat care conține firmware USB-la-serie, care este reprogramabil prin intermediul propriului antet ICSP . Alte variante, cum ar fi Arduino Mini și Boarduino neoficial, utilizează o placă sau cablu adaptor USB-serial detașabil, Bluetooth sau alte metode. Când este utilizat cu instrumentele tradiționale de microcontroler, în loc de Arduino IDE, se utilizează programarea standard AVR în sistem (ISP).

Image
Un Arduino Uno R2 oficial cu descrieri ale locațiilor I / O

Placa Arduino expune majoritatea pinilor I / O ai microcontrolerului pentru a fi utilizați de alte circuite. Diecimila , Duemilanove si curent Uno furniza 14 digitale O pini I /, dintre care șase pot produce modulata puls lățime semnale și șase intrări analogice, care pot fi de asemenea utilizate ca pinii șase digitale I / O. Acești pini se află în partea superioară a plăcii, prin intermediul anteturilor femele de 0,1 inci (2,54 mm). Mai multe scuturi de aplicații plug-in sunt, de asemenea, disponibile în comerț. Arduino Nano și scândurile Bare Bones Board și Boarduino Arduino compatibile pot oferi pini antet de sex masculin de pe partea de dedesubt a plăcii care se poate conecta la sudură Breadboards .

Există multe plăci compatibile Arduino și derivate din Arduino. Unele sunt echivalente funcțional cu un Arduino și pot fi utilizate în mod interschimbabil. Mulți îmbunătățesc Arduino de bază prin adăugarea de drivere de ieșire, adesea pentru a fi utilizate în educația la nivel școlar, pentru a simplifica realizarea de buggies și roboți mici. Altele sunt echivalente electric, dar schimbă factorul de formă, păstrând uneori compatibilitatea cu scuturile, alteori nu. Unele variante folosesc procesoare diferite, de compatibilitate diferită.

Consiliile oficiale

Hardware-ul original Arduino a fost fabricat de compania italiană Smart Projects. Unele plăci marca Arduino au fost proiectate de companiile americane SparkFun Electronics și Adafruit Industries . Începând din 2016, 17 versiuni ale hardware-ului Arduino au fost produse comercial.

Scuturi

Plăcile Arduino și compatibile Arduino utilizează plăci de expansiune pentru circuite imprimate numite scuturi , care se conectează la anteturile cu pini Arduino furnizate în mod normal. Scuturile pot oferi comenzi ale motorului pentru imprimarea 3D și alte aplicații, GNSS (navigație prin satelit), Ethernet, afișaj cu cristale lichide (LCD) sau breadboarding ( prototipare ). Mai multe scuturi pot fi făcute, de asemenea, faceți-o singur (DIY).

Software

Software Arduino IDE
Arduino IDE - Blink.png
Captură de ecran a Arduino IDE care arată programul Blink
Dezvoltatori Software Arduino
Versiune stabila
1.8.16 / 6 septembrie 2021 ; Acum 34 de zile ( 06.09.2021 )
Scris in Java , C , C ++
Sistem de operare Windows , macOS , Linux
Platformă IA-32 , x86-64 , ARM
Tip Mediu de dezvoltare integrat
Licență Licență LGPL sau GPL
Site-ul web www .arduino .cc / ro / Main / Software

Un program pentru hardware Arduino poate fi scris în orice limbaj de programare cu compilatoare care produc codul binar al mașinii pentru procesorul țintă. Atmel oferă un mediu de dezvoltare pentru microcontrolerele lor pe 8 biți AVR și 32 de biți ARM Cortex-M : AVR Studio (mai vechi) și Atmel Studio (mai nou).

IDE

Mediul de dezvoltare integrată Arduino (IDE) este o aplicație multi-platformă (pentru Windows , macOS și Linux ) care este scrisă în limbajul de programare Java . Acesta provine din IDE pentru limbile de procesare și cablare . Acesta include un editor de cod cu funcții precum tăierea și lipirea textului, căutarea și înlocuirea textului, indentarea automată, potrivirea contravântuirii și evidențierea sintaxei și oferă mecanisme simple cu un singur clic pentru a compila și încărca programe pe o placă Arduino. De asemenea, conține o zonă de mesaje, o consolă de text, o bară de instrumente cu butoane pentru funcții comune și o ierarhie a meniurilor de funcționare. Codul sursă pentru IDE este eliberat sub licența publică generală GNU , versiunea 2.

Arduino IDE acceptă limbile C și C ++ folosind reguli speciale de structurare a codului. Arduino IDE furnizează o bibliotecă software din proiectul Wiring , care oferă multe proceduri comune de intrare și ieșire. Codul scris de utilizator necesită doar două funcții de bază, pentru a începe schița și bucla principală a programului, care sunt compilate și legate cu un program principal stub () într-un program executiv ciclic executabil cu lanțul de instrumente GNU , inclus și cu distribuția IDE. Arduino IDE folosește programul avrdude pentru a converti codul executabil într-un fișier text în codificare hexazecimală care este încărcat pe placa Arduino de un program de încărcare în firmware-ul plăcii.

IDE 2.0

Pe 18 octombrie 2019, Arduino Pro IDE (alpha preview) a fost lansat. Mai târziu, la 1 martie 2021, a fost lansată previzualizarea beta, redenumită IDE 2.0. Sistemul încă folosește Arduino CLI (Command Line Interface), dar îmbunătățirile includ un mediu de dezvoltare mai profesional, suport pentru completarea automată și integrarea Git. Frontend-ul aplicației se bazează pe IDE-ul Eclipse Theia Open Source. Principalele caracteristici disponibile în noua versiune sunt:

  • Mediu de dezvoltare modern, complet dotat
  • Mod dual, mod clasic (identic cu IDE Classic Arduino) și mod Pro (vizualizare sistem de fișiere)
  • Noul director al consiliului
  • Manager bibliotecă nouă
  • Lista consiliului
  • Completare automată de bază (doar armarea țintelor)
  • Integrarea Git
  • Monitor serial
  • Mod întunecat

Schiță

O schiță este un program scris cu IDE Arduino. Schițele sunt salvate pe computerul de dezvoltare ca fișiere text cu extensia de fișier .ino . Arduino Software (IDE) schițe pre-1.0 salvate cu extensia .pde .

Un program minim Arduino C / C ++ conține doar două funcții:

  • setup(): Această funcție este apelată o dată când o schiță începe după pornire sau resetare. Se utilizează pentru a inițializa variabilele, modurile de intrare și ieșire ale pinilor și alte biblioteci necesare în schiță. Este analog funcției main().
  • loop(): După ce setup()funcția iese (se termină), loop()funcția este executată în mod repetat în programul principal. Controlează placa până când placa este oprită sau resetată. Este analog funcției while(1).
Blink exemplu
LED de alimentare și LED integrat pe placa compatibilă Arduino
LED de alimentare (roșu) și LED utilizator (verde) atașat pinului 13 de pe o placă compatibilă Arduino

Majoritatea plăcilor Arduino conțin o diodă emițătoare de lumină (LED) și un rezistor de limitare a curentului conectat între pinul 13 și masă, care este o caracteristică convenabilă pentru multe teste și funcții de program. Un program tipic folosit de începători, asemănător cu Hello, World! , este „clipire”, care clipeste în mod repetat LED-ul integrat în placa Arduino. Acest program folosește funcțiile pinMode(), digitalWrite()și delay(), care sunt furnizate de bibliotecile interne incluse în mediul IDE. Acest program este de obicei încărcat pe o nouă placă Arduino de către producător.

# define LED_PIN 13                  // Pin number attached to LED.

void setup() {
    pinMode(LED_PIN, OUTPUT);       // Configure pin 13 to be a digital output.
}

void loop() {
    digitalWrite(LED_PIN, HIGH);    // Turn on the LED.
    delay(1000);                    // Wait 1 second (1000 milliseconds).
    digitalWrite(LED_PIN, LOW);     // Turn off the LED.
    delay(1000);                    // Wait 1 second.
}

Biblioteci

Natura open-source a proiectului Arduino a facilitat publicarea multor biblioteci de software gratuit pe care alți dezvoltatori le folosesc pentru a-și mări proiectele.

Sisteme de operare / Threading

Există un port Xinu OS pentru atmega328p (Arduino Uno și altele cu același cip), care include majoritatea caracteristicilor de bază. Codul sursă al acestei versiuni este disponibil gratuit.

Există, de asemenea, un instrument de filetare, denumit Protothreads. Protothread-urile sunt descrise ca „... thread-uri extrem de ușoare, fără stive, concepute pentru sisteme cu restricții de memorie severe, cum ar fi sisteme încorporate mici sau noduri de rețea fără fir de senzori. fără un sistem de operare subiacent. "

Protothreading folosește declarația C switch () într-un mod non-evident, similar cu dispozitivul lui Duff . Următorul este codul scheletului pentru firele prototice:

#include "pt.h"
 
struct pt pt;
struct timer timer;
 
PT_THREAD(example(struct pt *pt))
{
  PT_BEGIN(pt);
 
  while(1) {
    if(initiate_io()) {
      timer_start(&timer;);
      PT_WAIT_UNTIL(pt,
         io_completed() ||
         timer_expired(&timer;));
      read_data();
    }
  }
  PT_END(pt);
}

Aplicații

Recunoașteri

Proiectul Arduino a primit o mențiune de onoare la categoria Comunități digitale la Prix ​​Ars Electronica din 2006 .

Kitul de inginerie Arduino a câștigat premiul Bett pentru „Servicii digitale de învățământ superior sau educație ulterioară” în 2020.

Vezi si

Note

Referințe

Lecturi suplimentare

  • Explorarea Arduino: Instrumente și tehnici pentru vrăjitorie de inginerie ; Al 2-lea Ed; Jeremy Blum; Wiley; 512 pagini; 2019; ISBN  978-1119405375 .
  • Arduino pentru manechine ; Al 2-lea Ed; John Nussey; John Wiley & Sons; 400 de pagini; 2018; ISBN  978-1119489542 .
  • Programarea Arduino Pașii următori: Mergând mai departe cu schițe ; Al 2-lea Ed; Simon Monk; McGraw-Hill Education; 320 pagini; 2018; ISBN  978-1260143249 .
  • Programarea Arduino: Noțiuni introductive despre schițe ; Al 2-lea Ed; Simon Monk; McGraw-Hill Education; 192 pagini; 2016; ISBN  978-1259641633 .
  • Începutul C pentru Arduino: Aflați programarea C pentru Arduino ; Al 2-lea Ed; Jack Purdum; Apress; 388 pagini; 2015; ISBN  978-1484209417 .
  • Arduino: Un ghid de pornire rapidă ; Al 2-lea Ed; Maik Schmidt; Pragmatic Bookshelf; Pragmatic Bookshelf; 323 pagini; 2015; ISBN  978-1941222249 .
  • Make: Noțiuni introductive despre Arduino ; Ed. 3; Massimo Banzi, Michael Shiloh; Faceți comunitate; 262 pagini; 2014; ISBN  978-1449363338 .
  • Marcă: senzori ; Primul Ed; Tero Karvinen, Kimmo Karvinen, Ville Valtokari; Faceți comunitate; 400 de pagini; 2014; ISBN  978-1449368104 .
  • Atelierul Arduino: o introducere practică cu 65 de proiecte ; Primul Ed; John Boxall; Fără presă de amidon; 392 pagini; 2013; ISBN  978-1593274481 .

linkuri externe

Software
Istoric