Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Siguria
  • Projektet më interesante dhe sfiduese Arduino. Ide interesante biznesi të bazuara në Arduino

Projektet më interesante dhe sfiduese Arduino. Ide interesante biznesi të bazuara në Arduino

Ditën e mirë, Habr. Po filloj një seri artikujsh që do t'ju ndihmojnë të njiheni me Arduino. Por kjo nuk do të thotë që nëse nuk jeni fillestar në këtë biznes, nuk do të gjeni asgjë interesante për veten tuaj.

Prezantimi

Do të ishte mirë të fillonim duke njohur Arduino. Arduino - mjete harduerike dhe softuerike për sistemet e automatizimit të ndërtimit dhe robotikës. Avantazhi kryesor është se platforma u drejtohet përdoruesve joprofesionistë. Kjo do të thotë, çdokush mund të krijojë robotin e tij, pavarësisht nga njohuritë e programimit dhe aftësitë e tij.

Filloni

Krijimi i një projekti Arduino përbëhet nga 3 faza kryesore: kodimi, prototipizim (prototipizim) dhe firmware. Për të shkruar kodin dhe më pas ndezjen e tabelës, na duhet një mjedis zhvillimi. Në fakt, ka mjaft prej tyre, por ne do të programojmë në mjedisin origjinal - Arduino IDE. Vetë kodi do të shkruhet në C ++, i përshtatur për Arduino. Mund ta shkarkoni në faqen zyrtare të internetit. Një skicë është një program i shkruar në Arduino. Le të hedhim një vështrim në strukturën e kodit:


kryesore () (konfigurimi i zbrazët () () cikli i zbrazët () ())

Është e rëndësishme të theksohet se funksioni kryesor () i kërkuar në C ++ është krijuar nga vetë procesori Arduino. Dhe rezultati i asaj që sheh programuesi është:


konfigurimi i zbrazët () () cikli i zbrazët () ()

Le të hedhim një vështrim në dy funksionet e kërkuara. Funksioni i konfigurimit () thirret vetëm një herë në fillimin e mikrokontrolluesit. Është ajo që vendos të gjitha cilësimet themelore. Funksioni i ciklit () është rrethor. Ai thirret në një lak të pafund gjatë gjithë kohës së funksionimit të mikrokontrolluesit.

Programi i parë

Për të kuptuar më mirë se si funksionon platforma, le të shkruajmë programin e parë. Ne do ta ekzekutojmë këtë program të thjeshtë (Blink) në dy versione. Dallimi midis tyre është vetëm në asamble.


int Led = 13; // deklaroni një variabël Led në pinin 13 (dalje) konfigurimin e zbrazët () (pinMode (Led, OUTPUT); // përcaktoni një variabël) void loop () (dixhitalWrite (Led, LARTË); // vendos tension në shtyllën e pinit 13 (1000); // prisni 1 sekondë dixhitale Shkruani (Led, LOW); // mos aplikoni tension në vonesën e 13 kunjave (1000); // prisni 1 sekondë)

Parimi i funksionimit të këtij programi është mjaft i thjeshtë: LED ndizet për 1 sekondë dhe fiket për 1 sekondë. Për opsionin e parë, nuk kemi nevojë të mbledhim paraqitjen. Meqenëse në platformën Arduino, një LED i integruar është i lidhur me pinin 13.

Firmware Arduino

Për të ngarkuar një skicë në Arduino, thjesht duhet ta ruajmë atë së pari. Më tej, për të shmangur problemet gjatë shkarkimit, duhet të kontrolloni cilësimet e programuesit. Për ta bërë këtë, në panelin e sipërm, zgjidhni skedën "Vegla". Në seksionin "Tarifa", zgjidhni tarifën tuaj. Mund të jetë Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo ose të tjerë. Gjithashtu, në seksionin "Port", duhet të zgjidhni portin tuaj të lidhjes (portin në të cilin keni lidhur platformën tuaj). Pas këtyre hapave, mund të ngarkoni skicën tuaj. Për ta bërë këtë, klikoni në shigjetën ose në skedën "Sketch" zgjidhni "Shkarko" (mund të përdorni gjithashtu shkurtoren e tastierës "Ctrl + U"). Firmware-i i bordit është përfunduar me sukses.

Prototiping / prototiping

Për të montuar dërrasën e bukës, na duhen elementët e mëposhtëm: LED, rezistencë, tela (jumpers), tabelë (Breadboard). Për të mos djegur asgjë, dhe në mënyrë që gjithçka të funksionojë me sukses, duhet të merreni me LED. Ka dy këmbë. E shkurtër - minus, e gjatë - plus. Për atë të shkurtër, ne do të lidhim "tokën" (GND) dhe rezistencën (në mënyrë që të zvogëlojmë rrymën që shkon në LED, në mënyrë që të mos digjet), dhe për atë të gjatë do të furnizojmë energjinë ( lidheni me pinin 13). Pas lidhjes, ngarkoni një skicë në tabelë, nëse nuk e keni bërë më parë. Kodi mbetet i njëjtë.


Ky është fundi i pjesës së parë. Faleminderit per vemendjen.

"Prezanton tutorialin Arduino për fillestarët. Seria prezantohet me 10 mësime, si dhe material shtesë. Mësimet përfshijnë udhëzime me tekst, fotografi dhe video mësimore. Në çdo mësim do të gjeni një listë të komponentëve të kërkuar, një listë të programeve dhe një diagramë instalime elektrike. Pas përfundimit të këtyre 10 mësimeve bazë, mund të filloni me modele dhe montime më interesante të robotëve të bazuar në Arduino. Kursi ka për qëllim fillestarët, për ta nisur nuk ju nevojitet asnjë informacion shtesë nga inxhinieria elektrike apo robotika.

Arduino me një shikim

Çfarë është Arduino?

Arduino (Arduino) - platformë kompjuterike harduerike, përbërësit kryesorë të së cilës janë bordi I / O dhe mjedisi i zhvillimit. Arduino mund të përdoret si për të krijuar objekte interaktive të pavarura, ashtu edhe për t'u lidhur me softuerin që funksionon në një kompjuter. Arduino është si një kompjuter me një tabelë.

Si lidhen Arduino dhe robotët?

Përgjigja është shumë e thjeshtë - Arduino përdoret shpesh si truri i robotit.

Avantazhi i bordeve Arduino ndaj platformave të ngjashme është një çmim relativisht i ulët dhe një shpërndarje pothuajse masive midis amatorëve dhe profesionistëve në robotikë dhe inxhinieri elektrike. Duke u përfshirë me Arduino, do të gjeni mbështetje në çdo gjuhë dhe njerëz me mendje të njëjtë që do t'u përgjigjen pyetjeve dhe me të cilët mund të diskutoni zhvillimet tuaja.

Mësimi 1. LED që pulson në Arduino

Në mësimin e parë, do të mësoni se si të lidhni një LED me një Arduino dhe ta kontrolloni atë që të pulsojë. Ky është modeli më i thjeshtë dhe më themelor.

Diodë që lëshon dritë- një pajisje gjysmëpërçuese që krijon rrezatim optik kur një rrymë elektrike kalon nëpër të në drejtimin përpara.

Mësimi 2. Lidhja e një butoni me Arduino

Në këtë tutorial, do të mësoni se si të lidhni një buton dhe LED me një Arduino.

Kur shtypet butoni, LED do të ndizet, kur të lëshohet, nuk do të ndizet. Ky është gjithashtu modeli bazë.

Mësimi 3. Lidhja e potenciometrit me Arduino

Në këtë tutorial, do të mësoni se si të lidhni një potenciometër me Arduino-n tuaj.

Potenciometër- atë rezistencë me rezistencë të rregullueshme.Potenciometrat përdoren si rregullues të parametrave të ndryshëm - vëllimi i zërit, fuqia, tensioni, etj.Kjo është gjithashtu një nga skemat bazë. Në modelin tonë duke rrotulluar çelësin e potenciometritndriçimi i LED do të varet.

Mësimi 4. Kontrolli i një Servo në Arduino

Në këtë tutorial, do të mësoni se si të lidhni një servo me një Arduino.

ServoËshtë një motor, pozicioni i boshtit të të cilit mund të kontrollohet duke vendosur këndin e rrotullimit.

Servot përdoren për të simuluar lëvizje të ndryshme mekanike të robotëve.

Mësimi 5. LED me tre ngjyra në Arduino

Në këtë tutorial, do të mësoni se si të lidhni një LED me 3 ngjyra me një Arduino.

LED me tre ngjyra(rgb led) - këto janë tre LED me ngjyra të ndryshme në një strehim. Ato vijnë me një tabelë të vogël qark të printuar me rezistorë ose pa rezistorë të integruar. Ky mësim mbulon të dyja opsionet.

Mësimi 6. Elementi piezoelektrik në Arduino

Në këtë mësim, do të mësoni se si të lidhni një element piezoelektrik me një Arduino.

Element piezoelektrik- një konvertues elektromekanik që përkthehet tensionit elektrik në lëkundjen e membranës. Këto dridhje krijojnë zë.

Në modelin tonë, frekuenca e zërit mund të rregullohet duke vendosur parametrat e duhur në program.

Mësimi 7. Fotorezistori në Arduino

Në këtë mësim të kursit tonë, do të mësoni se si të lidhni një fotorezistencë me një Arduino.

Fotorezistor- një rezistencë, rezistenca e së cilës varet nga shkëlqimi i dritës që bie mbi të.

Në modelin tonë, LED ndizet vetëm nëse shkëlqimi i dritës sipër fotorezistorit është më i vogël se një i caktuar, ky shkëlqim mund të rregullohet në program.

Mësimi 8. Sensori i lëvizjes (PIR) në Arduino. Dërgimi automatik i postës elektronike

Në këtë mësim të kursit tonë, do të mësoni se si të lidhni një sensor lëvizjeje (PIR) me Arduino, si dhe të organizoni dërgimin automatik të e-mail.

Sensori i lëvizjes (PIR)- Sensori infra të kuqe për të zbuluar lëvizjen ose praninë e njerëzve ose kafshëve.

Në modelin tonë, kur një sinjal për lëvizjen e një personi merret nga një sensor PIR, Arduino dërgon një komandë në kompjuter për të dërguar një E-mail dhe letra dërgohet automatikisht.

Mësimi 9. Lidhja e një sensori të temperaturës dhe lagështisë DHT11 ose DHT22

Në këtë mësim tonën, do të mësoni se si të lidhni një sensor të temperaturës dhe lagështisë DHT11 ose DHT22 me një Arduino, si dhe të mësoni për ndryshimet në karakteristikat e tyre.

Sensori i temperaturës dhe lagështisëËshtë një sensor dixhital i përbërë i përbërë nga një sensor kondensativ i lagështisë dhe një termistor për matjen e temperaturës.

Në modelin tonë, Arduino lexon leximet e sensorit dhe shfaq leximet në ekranin e kompjuterit.

Mësimi 10. Lidhja e tastierës matricë

Në këtë mësim të kursit tonë, do të mësoni se si të lidhni një tastierë matricë me një tabelë Arduino, si dhe të njiheni me qarqe të ndryshme interesante.

Tastierë matricë projektuar për ta bërë më të lehtë lidhjen e një numri të madh butonash. Pajisjet e tilla gjenden kudo - në tastierat e kompjuterit, kalkulatorët, etj.

Mësimi 11. Lidhja e modulit të orës në kohë reale DS3231

Në mësimin e fundit të kursit tonë, do të mësoni se si të lidhni një modul të orës në kohë reale nga familja
DS në bordin Arduino, dhe gjithashtu njihuni me qarqe të ndryshme interesante.

Moduli i orës në kohë reale- ky është një qark elektronik i krijuar për të regjistruar të dhënat kronometrike (koha aktuale, data, dita e javës, etj.), Është një sistem nga një burim autonom energjie dhe një pajisje kontabiliteti.

Shtojca. Korniza dhe robotë të gatshëm të Arduino


Mund të filloni të mësoni Arduino jo vetëm nga vetë bordi, por edhe nga blerja e një roboti të plotë të gatshëm të bazuar në këtë tabelë - një robot merimangë, një makinë robot, një robot breshkash, etj. Të tillë mënyrë i përshtatshëm për ata që nuk tërhiqen veçanërisht nga qarqet elektrike.

Duke blerë një model roboti pune, d.m.th. në fakt, një lodër e përfunduar e teknologjisë së lartë, ju mund të zgjoni interesin për vetë-dizajnimin dhe robotikën. Hapja e platformës Arduino ju lejon të bëni lodra të reja nga të njëjtët komponentë.

Një tjetër mundësi është të blini një kornizë ose një trup roboti: një platformë mbi rrota ose një vemje, një humanoid, një merimangë, etj. Në këtë rast, do të duhet të bëni vetë mbushjen e robotit.

Shtojca. Drejtoria celulare


- një asistent për zhvilluesit e algoritmeve për platformën Arduino, qëllimi i të cilit është t'i japë përdoruesit fundor mundësinë për të kryer një grup komandash celular (referencë).

Aplikacioni përbëhet nga 3 seksione kryesore:

  • Operatorët;
  • Të dhënat;
  • Funksione.

Ku të blini Arduino


Komplete Arduino

Kursit do t'i shtohen mësime shtesë. Abonohuni tek ne

Sot do të flasim për semafori ndezur në LED të adresueshëm DigiSpark dhe WS2812 ... Ky është versioni i dytë semafori... Unë fola për të parën këtu. Versioni i parë doli të ishte mjaft i përshtatshëm dhe përbëhej nga më pak pjesë. Pse vendosa të bëj versionin e dytë? Fakti është se kutia për bateritë që kam përdorur në versionin e parë semafori në arduino, është rritur shumë në çmim. Disa shitës e shesin atë për 5 dollarë në. Më e shtrenjtë se të gjitha pajisjet e tjera elektronike. Prandaj, vendosa ta ndryshoj kutinë në një më të lirë. Dhe një herë më duhej të ribëja trupin. Vendosa të ndryshoj madhësinë e vetë semaforit dhe ta bëj atë më të madh se versioni i parë. Gjithashtu në këmbë semafori shtoi një shufër metalike për të rritur ngurtësinë.

Ora me zile Arduino. Trupi është bërë nga një grup ndërtimi LEGO. LEGO Arduino

Një fëmijë 5 vjeç erdhi tek unë nga një kopsht dhe më tha se i kërkuan të bënte një projekt për pajisjet inteligjente në shtëpi. Trupi mund të bëhet nga çdo konstruktor në dispozicion. Mund të bëhet nga Lego konstruktor. Me pak mendim, unë dhe djali im vendosëm ta bënim Ora me zile në Digispark dhe Ekran me 7 segmente në TM1637 Me Ora në kohë reale DS3231.

Projekte të reja Arduino dhe projekte të bëra në një makinë CNC

Kështu që vera ka mbaruar. Dhe koha për t'u zhvilluar Projektet Arduino rritu. Dhe sot kam në plan të flas për të miat projekte të reja të cilën unë e bëj Arduino dhe e tij makinë CNC shtëpi. Projektet ende në zhvillim dhe nuk kanë një pamje përfundimtare të përfunduar. Por megjithatë, vendosa të flas për to në mënyrë që të dëgjoj një mendim të palës së tretë.

Semafor në Digispark dhe LED të adresueshëm WS2812 - Semafor Arduino

Në artikullin e mëparshëm: " » Unë kam folur tashmë për zhvillimin semafori dhe se nuk arrita ta bëja plotësisht funksionale dhe efikase. Pas disa javësh, e finalizova dhe tani jam gati të dorëzoj semafor i bërë vetë në LED të adresueshëm Arduino dhe WS2812.

I preva vetë të gjitha boshllëqet për trupin makinë CNC shtëpi.

Projekte të pasuksesshme të dritave dhe semaforëve Arduino

Çdo zhvillim çon në modele të pasuksesshme dhe të ndërmjetme. Kjo nuk i plotëson të gjitha nevojat dhe pritjet.

Arduino / Genuino UNO është një bord kryesor për zhvillimin e projekteve tuaja, ndërtimin e sistemeve të thjeshta të automatizimit dhe robotikës bazuar në mikrokontrolluesin ATmega328 me softuer të lirë dhe një arkitekturë të hapur. Arduino UNO R3 është sot platforma më e njohur për shpikësit fillestarë, entuziastët e DIY, studentët dhe nxënësit e shkollës.

Arduino UNO: pika e bordit

Ne ju kemi thënë tashmë se çfarë është Arduino UNO CH340, kështu që le të kalojmë drejtpërdrejt te karakteristikat dhe përshkrimi i bordit Arduino UNO. Pika dhe diagrami skematik i platformës janë paraqitur në foton më poshtë. Siç thamë, e gjithë linja e bordeve ka një arkitekturë plotësisht të hapur të sistemit, duke lejuar çdo prodhues palë të tretë të kopjojë dhe modifikojë bordet Arduino Genuino UNO.

Pika e tabelës Arduino UNO në Rusisht, ICSP

UNO është alternativa më e mirë për të filluar me mikrokontrolluesit. Pllaka ka një madhësi të përshtatshme dhe gjithçka që ju nevojitet për të filluar: 14 hyrje / dalje dixhitale (6 porte mund të funksionojnë në modalitetin PWM), 6 hyrje analoge për sensorë, një lidhës USB për programim dhe një lidhës energjie Arduino UNO nga një furnizim me energji elektrike ose kurorë. Por gjëja kryesore është një larmi e madhe mësimesh dhe udhëzimesh në internet.

Specifikimet e bordit të Arduino UNO

  • Mikrokontrolluesi: ATmega328
  • Frekuenca e orës: 16 MHz
  • Tensioni logjik: 5 V
  • Tensioni i furnizimit në hyrje: 7-12 V
  • Portet I/O me qëllim të përgjithshëm: 20
  • Rryma maksimale nga porti I/O: 40 mA
  • Rryma maksimale e daljes së portit 3.3 V: 50 mA
  • Rryma maksimale e daljes së portit 5V: 800 mA
  • Portet PWM: 6
  • Portet e lidhura me ADC: 6
  • Kapaciteti ADC: 10 bit
  • Memorie flash: 32 KB
  • Kujtesa EEPROM: 1 KB
  • RAM: 2 KB
  • Përmasat: 69 × 53 mm

Arduino UNO: qark elektrik


Arduino UNO: Portet I/O, fuqia

Tensioni i funksionimit - 5 V kur lidhet me USB nga çdo pajisje (kompjuter, laptop, karikim nga një smartphone, etj.). Kur një përshtatës i jashtëm (bateria, kurora, furnizimi me energji elektrike) lidhet në të njëjtën kohë, rryma ndërrohet automatikisht, por bordi mund të programohet ende përmes kompjuterit. Furnizimi me energji i rekomanduar për Arduino Uno nga bateritë ose akumulatori nga 7 në 12 V.


Arduino UNO: mundësohet nga një burim i jashtëm

5V - furnizon 5 V në pinin Arduino, mund të përdoret për të fuqizuar pajisjet
3.3 V - kunja furnizohet me tension 3.3 V nga stabilizuesi i brendshëm
GND - pin tokë
VIN - pin për furnizim me tension të jashtëm
IREF - një kunj për të informuar në lidhje me tensionin e funksionimit të tabelës

Mund të furnizoni me energji mikrokontrolluesin përmes portës VIN duke përdorur tela. Pozitiv nga një burim i jashtëm futet në portin VIN dhe Minus në GND (tokë). Aplikimi i një tensioni të jashtëm prej 5 volt në kutinë 5V nuk është i lejueshëm, pasi furnizimi me energji i Genuino Arduino Uno anashkalon stabilizuesin, i cili mund të çojë në dëmtim. Të gjitha portat dixhitale në tabelë sigurojnë një tension të stabilizuar prej 5 volt.

Arduino UNO: firmware, memorie



Bordi është programuar në Arduino IDE falas në Rusisht, i cili mund të shkarkohet nga faqja zyrtare e internetit. Për të lidhur pajisjet dhe modulet, përdoren lidhësit ("baba-babi" dhe "babi-mami"), të cilët janë të lidhur me portet e Arduino. Për të filluar me platformën, shkoni te seksioni Arduino uno r3 Tutorials për fillestarët për udhëzime të hollësishme me shembuj.

Bordi mbështet tre lloje memorie:

Flash - memorie vëllimi prej 32 kB, i përdorur për të ruajtur programin. Kur kontrolluesi ndizet me një skicë përmes USB, ai shkruhet në memorien Flash. Për të pastruar kujtesën e Arduino UNO, ngarkoni një skicë bosh.

Kujtesa SRAM- Ky është RAM 2 kB i Arduino. Këtu ruhen variablat dhe objektet e krijuara në skicë. Kujtesa SRAM varet nga energjia, kur furnizimi me energji shkëputet nga pllaka, të gjitha të dhënat do të fshihen.

EEPROMËshtë një memorie e paqëndrueshme 1 kB. Këtu mund të regjistrohen të dhëna që nuk do të zhduken kur të fiket rryma. Disavantazhi i EEPROM në kufizimin e cikleve të rishkrimit është 100,000 herë sipas prodhuesit.

Përshkrimi i Arduino UNO në Rusisht

Ne ju rekomandojmë që të njiheni me bordet e tjera nga linja Arduino-Genuino, për shembull, një analog i bordit më të njohur UNO - RobotDyn UNO R3 nga një prodhues kinez. Bordi në karakteristikat e tij nuk është aspak inferior ndaj prodhuesit zyrtar, por në të njëjtën kohë ka një çmim më demokratik dhe një numër avantazhesh. Të tilla si një lidhës USB më i përshtatshëm dhe më shumë hyrje analoge.

Magjepsja ime me platformën Arduino më çoi te pajisjet që funksionojnë në autobusin I2C (shkurt për Inter-Integrated Circuit) të referuara gjithashtu si pajisje "Two-Wire". Prodhohen një numër i madh mikroqarqesh që mbështesin autobusin I2C në harduer. Këto janë të gjitha llojet e sensorëve, orë në kohë reale, memorie, zgjerues portash dhe shumë më tepër. Artikulli më poshtë paraqet modernizimin e projektit të skanerit të pajisjes I2C me bazë Arduino, i cili përshkruhet në faqen http://playground.arduino.cc/Main/I2cScanner, dhe një shembull i punës praktike me një prototip pajisjeje të pavarur nga një kompjuter .

Programi i kontrollit, metodat e telekomandës (bluetooth ose APC220), gjithçka mbetet e njëjtë.

Skemat dhe kodet e programit janë shtuar në artikull për transferimin e projektit në dhomat e zakonshme të kontrollit të motorit

Lexoni

Lotim automatik i bimëve

Nja dy vjet më parë u mora me kultivimin e bimëve të ndryshme ekzotike. Për fat të mirë, pragjet e dritareve (pothuajse gjysmë metër e gjysmë) ju lejojnë të vendosni mjaft tenxhere. Por vitin e kaluar, siç mund të kujtojnë moskovitët, vapa nuk ishte e dobët. Meqenëse punoj në zyrë, kam arritur të ujit vetëm në mëngjes dhe në mbrëmje. Dhe kjo qartësisht nuk ishte e mjaftueshme.

Plus, udhëtimet e fundjavës në shtëpinë e vendit ... Dhe vetëm një tufë gjysmë metri eukalipt mund të avullojë 2-3 litra ujë në dy ditë dhe një natë dhe të ketë kohë të thahet.

Sistemi i fitilit nuk i pëlqeu fakti që është i parregulluar dhe ha hapësirë ​​në dritare. Që është kaq pak. Bimët për ujitje të tipit xhind nuk përshtateshin sepse edhe pasi mësuan Tao-n e ngjitjes së tyre në një tenxhere (jo aq të ngulur - ose nuk pikon ose nuk rrjedh brenda disa orësh), atyre u duhen ose aq shumë sa nuk ka tenxhere të mjaftueshme. hapësirë ​​ose një tenxhere të vogël dhe thjesht rrokulliset. Epo, për dy javët e deklaruara, këto 0,22 litra gjithashtu nuk janë shumë të mjaftueshme.

Artikujt kryesorë të lidhur