Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Sigurnost
  • Najzanimljiviji i najsloženiji projekti na arduinu. Zanimljive poslovne ideje temeljene na Arduinu

Najzanimljiviji i najsloženiji projekti na arduinu. Zanimljive poslovne ideje temeljene na Arduinu

Dobar dan, Habr. Započinjem seriju članaka koji će vam pomoći da se upoznate s Arduinom. Ali to ne znači da, ako niste novi u ovom poslu, nećete pronaći ništa zanimljivo za sebe.

Uvod

Bilo bi lijepo započeti upoznavanjem Arduina. Arduino - hardverski i softverski alati za automatizaciju zgrada i robotske sustave. Glavna prednost je što je platforma namijenjena neprofesionalnim korisnicima. Odnosno, svatko može stvoriti vlastitog robota, bez obzira na znanje programiranja i vlastite vještine.

Početak

Izrada projekta na Arduinu sastoji se od 3 glavne faze: pisanje koda, izrada prototipa (prototipa) i firmware. Da bismo napisali kod, a zatim fleširali ploču, potrebno nam je razvojno okruženje. Zapravo, ima ih dosta, ali mi ćemo programirati u originalnom okruženju - Arduino IDE. Sam kod ćemo napisati na C++, prilagođen za Arduino. Možete preuzeti na službenoj web stranici. Skica (skica) - program napisan na Arduinu. Pogledajmo strukturu koda:


main()( void setup()( ) void loop()( ) )

Važno je napomenuti da obveznu main() funkciju u C++ kreira sam Arduino. A rezultat onoga što programer vidi je:


void setup()() void loop()()

Pozabavimo se dvije obvezne funkcije. Funkcija setup() se poziva samo jednom na početku mikrokontrolera. Ona je ta koja postavlja sve osnovne postavke. Funkcija loop() je ciklička. Poziva se u beskonačnoj petlji tijekom cijelog vremena rada mikrokontrolera.

Prvi program

Kako bismo bolje razumjeli kako platforma radi, napišimo prvi program. Ovaj najjednostavniji program (Blink) ćemo izvršiti u dvije verzije. Razlika između njih je samo u montaži.


int Led = 13; // deklariraj varijablu Led na pin 13 (izlaz) void setup()( pinMode(Led, OUTPUT); // definiraj varijablu ) void loop()( digitalWrite(Led, HIGH); // primijeni napon na pin 13 delay(1000 ); // pričekajte 1 sekundu digitalWrite(Led, LOW); // nemojte primjenjivati ​​napon na pin 13 delay(1000); // pričekajte 1 sekundu)

Princip rada ovog programa je prilično jednostavan: LED svijetli 1 sekundu i gasi se 1 sekundu. Za prvu opciju, ne moramo sastavljati izgled. Budući da je u Arduino platformi ugrađeni LED spojen na pin 13.

Arduino firmver

Kako bismo prenijeli skicu na Arduino, prvo je moramo jednostavno spremiti. Zatim, kako biste izbjegli probleme pri učitavanju, morate provjeriti postavke programatora. Da biste to učinili, odaberite karticu "Alati" na gornjoj ploči. U odjeljku Naknada odaberite svoju naknadu. To može biti Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo ili drugi. Također u odjeljku "Port" morate odabrati svoj priključak za povezivanje (port na koji ste spojili svoju platformu). Nakon ovih koraka, možete prenijeti skicu. Da biste to učinili, kliknite na strelicu ili na kartici "Skica" odaberite "Preuzmi" (možete koristiti i tipkovnički prečac "Ctrl + U"). Firmware ploče je uspješno dovršen.

Izrada prototipa/prototipa

Za sastavljanje izgleda potrebni su nam sljedeći elementi: LED, otpornik, ožičenje (skakači), matična ploča (Breadboard). Kako ništa ne bi izgorjelo, a kako bi sve uspješno radilo, trebate se pozabaviti LED diodom. Ima dvije "šape". Kratko - minus, dugo - plus. "Uzemljenje" (GND) i otpornik ćemo spojiti na kratki (kako bismo smanjili struju koja ide na LED kako ne bi izgorjela), a na dugu ćemo napajati (spojiti na pin 13). Nakon povezivanja, prenesite skicu na ploču ako to već niste učinili. Šifra ostaje ista.


Ovo je kraj prvog dijela. Hvala na pažnji.

predstavlja vodič za Arduino za početnike. Serijal predstavlja 10 lekcija, kao i dodatni materijal. Lekcije uključuju tekstualne upute, fotografije i video zapise s uputama. U svakoj lekciji naći ćete popis potrebnih komponenti, popis programa i dijagram ožičenja. Nakon što naučite ovih 10 osnovnih lekcija, moći ćete započeti zanimljivije modeliranje i izgradnju robota temeljenih na Arduinu. Tečaj je namijenjen početnicima, za početak vam nisu potrebna dodatna znanja iz elektrotehnike ili robotike.

Kratke činjenice o Arduinu

Što je Arduino?

Arduino (Arduino) je hardverska računalna platforma, čije su glavne komponente ulazno-izlazna ploča i razvojno okruženje. Arduino se može koristiti za stvaranje samostalnih interaktivnih objekata ili se može povezati sa softverom koji radi na računalu. Arduino kao što se primjenjuje na računala s jednom pločom.

Kako su Arduino i roboti povezani?

Odgovor je vrlo jednostavan - Arduino se često koristi kao robotski mozak.

Prednost Arduino ploča u odnosu na slične platforme je relativno niska cijena i gotovo masovna distribucija među amaterima i profesionalcima u robotici i elektrotehnici. Kada uđete u Arduino, naći ćete podršku na bilo kojem jeziku i istomišljenike s kojima ćete odgovarati na pitanja i razgovarati o svojim dizajnima.

Lekcija 1. Treperi LED na Arduinu

U prvoj lekciji naučit ćete kako spojiti LED na Arduino i kontrolirati ga da treperi. Ovo je najjednostavniji i najosnovniji model.

Dioda koja emitira svjetlo- poluvodički uređaj koji stvara optičko zračenje kada se kroz njega propušta električna struja u smjeru naprijed.

Lekcija 2

U ovom vodiču naučit ćete kako spojiti gumb i LED diodu na Arduino.

Kada se tipka pritisne, LED će se upaliti, kada se pritisne tipka, neće svijetliti. Ovo je također osnovni model.

3. lekcija

U ovom vodiču naučit ćete kako spojiti potenciometar na Arduino.

Potenciometar- ovo podesivi otpornik.Potenciometri se koriste kao regulatori raznih parametara - glasnoće zvuka, snage, napona itd.To je također jedna od osnovnih shema. U našem modelu okretanjem gumba potenciometraovisit će o svjetlini LED-a.

4. lekcija

U ovom vodiču naučit ćete kako spojiti servo na Arduino.

Servo- ovo je motor čiji se položaj osovine može kontrolirati podešavanjem kuta rotacije.

Servo pogoni se koriste za simulaciju raznih mehaničkih pokreta robota.

Lekcija 5

U ovom vodiču naučit ćete kako spojiti trobojni LED na Arduino.

Trobojna LED(rgb led) - ovo su tri LED diode različitih boja u jednom kućištu. Dolaze s malom tiskanom pločom na kojoj se nalaze otpornici, a bez ugrađenih otpornika. U ovoj lekciji raspravlja se o obje opcije.

Lekcija 6

U ovom vodiču naučit ćete kako spojiti piezo element na Arduino.

Piezo element- elektromehanički pretvarač koji prevodi električni napon u vibracijama membrane. Ove vibracije stvaraju zvuk.

U našem modelu frekvencija zvuka se može podesiti postavljanjem odgovarajućih parametara u programu.

Lekcija 7

U ovoj lekciji našeg tečaja naučit ćete kako spojiti fotootpornik na Arduino.

fotootpornik- otpornik čiji otpor ovisi o jačini svjetlosti koja pada na njega.

U našem modelu LED svijetli samo ako je jačina svjetla iznad fotootpornika manja od određene, ta svjetlina se može podesiti u programu.

Lekcija 8 Automatsko slanje e-pošte

U ovoj lekciji našeg tečaja naučit ćete kako spojiti senzor pokreta (PIR) na Arduino, kao i organizirati automatsko slanje e-pošte.

Senzor pokreta (PIR)- infracrveni senzor za otkrivanje kretanja ili prisutnosti ljudi ili životinja.

U našem modelu, nakon primanja signala od PIR senzora o kretanju osobe, Arduino šalje naredbu računalu da pošalje e-mail i pismo se šalje automatski.

Lekcija 9

U ovoj našoj lekciji naučit ćete kako spojiti DHT11 ili DHT22 senzor temperature i vlažnosti na Arduino, kao i upoznati se s razlikama u njihovim karakteristikama.

Senzor temperature i vlage je kompozitni digitalni senzor koji se sastoji od kapacitivnog senzora vlažnosti i termistora za mjerenje temperature.

U našem modelu, Arduino čita očitanja senzora i prikazuje očitanja na zaslonu računala.

Lekcija 10

U ovoj lekciji našeg tečaja naučit ćete kako spojiti matričnu tipkovnicu na Arduino ploču, kao i upoznati se s raznim zanimljivim sklopovima.

Matrična tipkovnica dizajniran da pojednostavi spajanje velikog broja tipki. Takvi se uređaji nalaze posvuda - u računalnim tipkovnicama, kalkulatorima i tako dalje.

Lekcija 11: Povezivanje DS3231 modula sata realnog vremena

U posljednjoj lekciji našeg tečaja naučit ćete kako spojiti modul sata stvarnog vremena iz obitelji
DS na Arduino ploču, kao i upoznati se s raznim zanimljivim sklopovima.

Modul sata realnog vremena- ovo je elektronički sklop dizajniran za snimanje kronometrijskih podataka (trenutačno vrijeme, datum, dan u tjednu itd.), je sustav iz autonomnog izvora napajanja i obračunskog uređaja.

Dodatak. Gotovi okviri i Arduino roboti


Arduino možete početi učiti ne samo sa same ploče, već i kupnjom gotovog punopravnog robota koji se temelji na ovoj ploči - robota pauka, robota za automobil, robota kornjače itd. Takav put pogodno za one koje ne privlače posebno električni krugovi.

Kupnjom radnog modela robota, t.j. zapravo gotova igračka visoke tehnologije, možete probuditi zanimanje za samodizajn i robotiku. Otvorenost Arduino platforme omogućuje vam izradu novih igračaka od istih komponenti.

Druga mogućnost je kupnja okvira ili tijela robota: platforma na kotačima ili gusjenica, humanoid, pauk itd. U tom slučaju, punjenje robota morat će se obaviti samostalno.

Dodatak. Mobilni imenik


- pomoćnik za programere algoritama za Arduino platformu, čija je svrha dati krajnjem korisniku mogućnost nošenja mobilnog skupa naredbi (reference).

Aplikacija se sastoji od 3 glavna odjeljka:

  • Operateri;
  • Podaci;
  • Funkcije.

Gdje kupiti Arduino


Arduino kompleti

Tečaj će biti nadopunjen dodatnim satima. Pretplatite se na nas

Danas ćemo razgovarati o semafor upaljen na DigiSpark i adresabilne LED diode WS2812 . Ovo je druga verzija semafor. Ovdje sam govorio o prvom. Prva verzija se pokazala prilično zgodnom i sastojala se od manje dijelova. Zašto sam odlučio napraviti drugu verziju? Činjenica je da je kutija za baterije koju sam koristio u prvoj verziji semafor na Arduinu, postalo je jako skupo. Neki ga prodavači prodaju za 5 dolara po . Skuplji od sve ostale elektronike. Stoga sam odlučio promijeniti kutiju u jeftiniju. I jednom sam morao prepravljati tijelo. Odlučio sam promijeniti veličinu samog semafora i učiniti ga većim od prve verzije. Također u nozi semafor dodao metalnu šipku za povećanje krutosti.

Budilica na Arduinu. Tijelo je napravljeno od LEGO-a. Lego Arduino

Došao mi je dijete od 5 godina iz vrtića i rekao da je zamoljen da napravi projekt pametnih uređaja u kući. Kućište se može izraditi od bilo kojeg improviziranog dizajnera. Može se napraviti od lego konstruktor. Nakon malo razmišljanja, moj sin i ja odlučili smo to učiniti budilica na Digisparku I 7 segmentni indikator na TM1637 iz sat stvarnog vremena DS3231.

Novi Arduino projekti i CNC projekti

Ovdje je ljeto završilo. I vrijeme razvoja projekti na Arduinu postati veći. A danas ću govoriti o svom nove projektešto radim na Arduino i njegov domaći CNC stroj. Projekti još uvijek u razvoju i nemaju konačni gotov izgled. No ipak sam odlučio razgovarati o njima kako bih čuo mišljenje treće strane.

Semafor na Digisparku i adresabilne LED diode WS2812 - Arduino semafor

U prethodnom članku: » Već sam govorio o razvoju semafor te da ga nisam uspio učiniti potpuno funkcionalnim i radnim. Nakon par tjedana sam ga doradio i sada sam spreman za predstavljanje domaći semafor na Arduinu i adresabilne LED diode WS2812.

Na sebi sam ispilio sve praznine za tijelo domaći CNC stroj.

Neuspjeli projekti rasvjete i semafora Arduino

Svaki razvoj vodi do neuspješnih i srednjih modela. Koji ne zadovoljavaju sve potrebe i očekivanja.

Arduino/Genuino UNO je vodeća ploča za razvoj vlastitih projekata, izgradnju jednostavnih sustava automatizacije i robotike temeljenih na mikrokontroleru ATmega328 sa besplatnim softverom i otvorenom arhitekturom. Arduino UNO R3 danas je najpopularnija platforma za izumitelje početnike, DIY entuzijaste, studente i školarce.

Arduino UNO: pinout ploče

Što je Arduino UNO CH340 već smo rekli, pa prijeđimo na karakteristike i opis Arduino UNO ploče. Pinout i shematski dijagram platforme prikazan je na fotografiji ispod. Kao što smo već rekli, cijela linija ploča ima potpuno otvorenu arhitekturu sustava, što omogućuje bilo kojem proizvođaču treće strane da kopira i nadogradi Arduino Genuino UNO ploče.

Pinout ploče Arduino UNO na ruskom, ICSP

UNO je najbolja opcija za upoznavanje mikrokontrolera. Ploča je praktične veličine i ima sve što vam je potrebno za početak: 14 digitalnih I/O (6 portova može raditi u PWM načinu), 6 analognih ulaza za senzore, USB konektor za programiranje i Arduino UNO priključak za napajanje iz napajanje ili krunica. Ali glavna stvar je ogroman broj lekcija i uputa na Internetu.

Specifikacije Arduino UNO ploče

  • Mikrokontroler: ATmega328
  • Frekvencija takta: 16 MHz
  • Napon logičke razine: 5 V
  • Ulazni napon napajanja: 7-12V
  • I/O portovi opće namjene: 20
  • Maksimalna struja iz I/O porta: 40 mA
  • Maksimalna izlazna struja priključka 3,3 V: 50 mA
  • Maksimalna izlazna struja 5V porta: 800mA
  • PWM portovi: 6
  • Priključci spojeni na ADC: 6
  • Dubina bita ADC: 10 bita
  • Flash memorija: 32 KB
  • EEPROM memorija: 1 KB
  • RAM: 2 KB
  • Dimenzije: 69×53 mm

Arduino UNO: dijagram ožičenja


Arduino UNO: I/O portovi, napajanje

Radni napon - 5 V kada je spojen preko USB-a s bilo kojeg uređaja (računalo, prijenosno računalo, punjenje s pametnog telefona itd.). Kada je u isto vrijeme spojen vanjski adapter (baterija, krunica, napajanje), napajanje se automatski uključuje, ali se ploča i dalje može programirati putem računala. Preporučeno napajanje za Arduino Uno je 7V do 12V s baterijama ili akumulatorom.


Arduino UNO: napaja se vanjskim izvorom

5V - Arduino dovodi 5V na pin, može se koristiti za napajanje uređaja
3,3V - 3,3V napon se dovodi na pin iz unutarnjeg stabilizatora
GND - uzemljenje
VIN - pin za dovod vanjskog napona
IREF - pin za informiranje o radnom naponu ploče

Mikrokontroler možete napajati kroz VIN priključak pomoću žica. "Plus" iz vanjskog izvora se dovodi na VIN port, a "Minus" na GND (uzemljenje). Napajanje vanjskog napona od 5 volti na pin 5V nije dopušteno, jer napajanje Genuino Arduino Uno zaobilazi regulator, što može dovesti do oštećenja. Svi digitalni priključci na ploči izlaze stabiliziranim naponom od 5 volti.

Arduino UNO: firmver, memorija



Ploča je programirana u besplatnom Arduino IDE na ruskom jeziku, koji se može preuzeti sa službene web stranice. Za spajanje uređaja i modula koriste se konektori (“otac-otac” i “otac-majka”) koji se spajaju na Arduino portove. Da biste započeli s platformom, idite na odjeljak Vodiči za početnike Arduino uno r3 za detaljne upute s primjerima.

Ploča podržava tri vrste memorije:

Brza memorija 32 kB, koristi se za pohranjivanje programa. Kada se kontroler flešuje sa skicom putem USB-a, ona se zapisuje u Flash memoriju. Za brisanje Arduino UNO memorije, prenesite praznu skicu.

SRAM memorija- Ovo je Arduino RAM s volumenom od 2 kB. Ovdje se pohranjuju varijable i objekti stvoreni u skici. SRAM memorija je nestabilna, kada se napajanje isključi iz ploče, svi podaci će biti izbrisani.

EEPROM To je trajna memorija kapaciteta 1 kB. Ovdje možete snimiti podatke koji se neće izgubiti kada se napajanje isključi. Minus EEPROM u ograničavanju ciklusa prepisivanja - 100.000 puta prema proizvođaču.

Opis Arduino UNO na ruskom

Preporučujemo da se upoznate s drugim pločama iz linije Arduino-Genuino, na primjer, analogom najpopularnije UNO ploče - RobotDyn UNO R3 kineskog proizvođača. Prema svojim karakteristikama, ploča ni na koji način nije inferiorna od službenog proizvođača, ali istodobno ima demokratičniju cijenu i niz prednosti. Kao što je praktičniji USB konektor i više analognih ulaza.

Strast prema Arduino platformi dovela me do uređaja koji rade na I2C sabirnici (skraćeno od engleske riječi Inter-Integrated Circuit) koji se nazivaju i "Two-Wire" uređajima. Proizveden je veliki broj mikro krugova koji hardverski podržavaju I2C sabirnicu. To su sve vrste senzora, satova u stvarnom vremenu, memorije, proširenja portova i još mnogo toga. Članak u nastavku predstavlja nadogradnju projekta skenera I2C uređaja temeljenog na Arduinu, koji je opisan na stranici http://playground.arduino.cc/Main/I2cScanner i primjer praktičnog rada s prototipom uređaja autonomnog od računala.

Upravljački program, metode daljinskog upravljanja (bluetooth ili APC220), sve ostaje isto.

U članak su dodane sheme i programski kodovi za prijenos projekta u uobičajene upravljačke komore motora ( i )

Čitati

Automatsko zalijevanje biljaka

Prije par godina zainteresirao sam se za uzgoj raznih egzotičnih biljaka. Srećom, prozorske klupice (gotovo pola metra i pol) omogućuju vam da stavite dosta lonaca. No prošle godine, kako se Moskovljani sjećaju, vrućina nije bila slaba. Budući da radim u uredu, uspjela sam zalijevati samo ujutro i navečer. A ovo očito nije bilo dovoljno.

Plus, odlasci na vikend za vikend ... A samo pola metra grm eukaliptusa sposoban je ispariti 2-3 litre vode u dva dana i noći i imati vremena uvenuti.

Nije mi se svidio sustav fitilja jer je nereguliran i jede prostor na prozoru. Što je tako malo. Kante za zalijevanje biljaka tipa genie nisu se uklapale zbog činjenice da sam čak i poznavao Tao zabijanja u lonac (nisam ga tako zalijepio - ili ne kaplje ili ne istječe za par sati) , potrebno im je ili toliko da nema dovoljno površine lonca ili je lonac mali i samo se prevrne. Pa, za deklarirana dva tjedna, ovih 0,22 litre također nije dovoljno.

Vrhunski povezani članci