Kako podesiti pametne telefone i računare. Informativni portal

Pravi projekti sa arduinom. Arduino za početnike: upute korak po korak

Dobar dan, dragi čitaoci i korisnici najboljeg Threshbox portala! Nije tajna da možete dobro zaraditi na stvarima koje kreirate vlastitim rukama. Ako je ideja zaista zanimljiva, onda na njenoj osnovi možete stvoriti vlastiti posao. Korištenje Arduina u ovoj oblasti je vrlo zgodno rješenje, jer Arduino nije zabranjen za komercijalnu upotrebu. Danas ćemo govoriti o pet zanimljivih poslovnih ideja.

Kako to implementirati?

Najpogodnije je kupiti komponente za implementaciju ideje na AliExpressu. Tu se mogu naći i razne građevine. U našem slučaju, kućište je neophodno da bi se naša kreacija predstavila.

Veoma je isplativo poslovati na Arduinu, jer je potrebno samo jednom napisati skicu. U sljedećim primjercima jednostavno "popunite" već gotov. Pogledajte ispod za ideje.

Automatska kontrola kućne temperature


Redom: Arduino Nano, Arduino Uno i NRF24L01


Nisam želio da ovaj predmet nazivam "pametnim" domom, jer se ova ideja odnosi samo na kontrolu temperature. Ovu ideju bih implementirao sa nekoliko Arduino Nanosa i jednim Arduino Mega/Uno. Komunikacija između njih će se odvijati pomoću radio komunikacijskog modula NRF24L01. Ovaj modul omogućava do šest Arduina da međusobno komuniciraju.

Arduino Nano će biti smešten u malom pakovanju sa DHT22 senzorom temperature i vlažnosti, radio modulom NRF24L01 i napajanjem – baterijom, na primer. Nekoliko ovih malih kutija će biti postavljeno po cijeloj kući.


DHT2 i LCD tekstualni displej


Podatke sa Arduino Nano će primati "baza", a to je Arduino Uno ili Mega, zatvorena u veliko kućište zajedno sa NRF24L01 (kao prijemnik), tekstualnim LCD ekranom i napajanjem (baterije). Sve će se to nalaziti u blizini sistema grijanja. „Baza“ će moći da prima i obrađuje temperaturne podatke i, u zavisnosti od vrednosti tih podataka, biće poslata komanda sistemu grejanja za povećanje ili smanjenje temperature.

Pametan staklenik


Primjer gotovog rješenja.


Nije tajna da upravljanje vlastitim staklenikom zahtijeva puno pažnje: otvaranje i zatvaranje vrata na vrijeme, praćenje vlažnosti tla i praćenje rasta usjeva koji su tamo zasađeni. Sve se to može automatizirati pomoću Arduina.


Redom: Arduino Mega, DHT22 i LCD tekstualni displej.


Jedan Arduino može kontrolirati temperaturu staklenika (pomoću istog senzora DHT22), prikazivati ​​potrebne informacije na LCD displeju, dati komandu za otvaranje slavine za dovod vode, kao i kontrolirati motore za otvaranje i zatvaranje vrata.

CNC mašina


Po redu: Arduino Mega, L298N i koračni motor.


Ovo takođe uključuje 3D štampače. Na internetu postoji mnogo načina da se napravi CNC mašina zasnovana na Arduinu. Ne rade svi, ali svakako postoje dobre opcije. Što se hardvera tiče, trebat će vam Arduino, po mogućnosti Mega, kao i L298N drajver motora i, naravno, sami motori. Ostalo je okvir i programski kod. Moram priznati da je ovo jedna od najtežih ideja za implementaciju.

Roboti


Primjer gotovog rješenja.


Bez sumnje, djeca jako vole robote, posebno one koje sama mogu kontrolirati. Uz pomoć Arduina, roboti se mogu napraviti čak i od otpadnog materijala. Jednom sam razmišljao o ideji da napravim robota s tijelom usisivača koje je ličilo na droida astromeha iz Ratova zvijezda.

Po redu: HC-SR04, L293D, HC-06 i NRF24L01


Ultrazvučni daljinomjer HC-SR04 može odrediti udaljenost do prepreka kako bi ih kasnije zaobilazio. L293D drajver motora, koji se koristi kao ploča za proširenje, može istovremeno pokretati četiri motora i tri servo. Što se tiče komunikacije, nismo previše ograničeni. Možete koristiti HC-06 bluetooth modul, koji će vam omogućiti da upravljate svojim djetetom sa pametnog telefona, ali se ne može pohvaliti dobrim komunikacijskim dometom, što se ne može reći za već dobro poznati radio komunikacijski modul NRF24L01. Međutim, tada više nećete moći kontrolirati sa svog pametnog telefona.


18650 baterije


Kao izvor napajanja može se koristiti 18650 baterija, povezanih paralelno kako bi se povećao ukupan kapacitet.

Ishod

Nažalost, ovo su sve ideje koje sam uspio pronaći. Siguran sam da ako vas zanima neka ideja, možete naći dosta informacija o ovoj temi na internetu.
Odmah želim reći da kvadrokoptere i druge letjelice nisam uvrstio na ovu listu, jer za njih već postoje gotove kontrolne ploče. Najvjerovatnije, Arduino jednostavno ne bi izdržao takvo opterećenje.

U svakom slučaju, nadam se da vam je bilo zanimljivo. Napišite u komentarima, jeste li naišli na slične ideje?

„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 listu potrebnih komponenti, listu programa i dijagram ožičenja. Nakon što završite ovih 10 osnovnih lekcija, možete početi sa zanimljivijim modelima i sastavljanjem robota baziranih na Arduinu. Kurs je namijenjen početnicima, da biste ga započeli, nisu vam potrebne nikakve dodatne informacije iz elektrotehnike ili robotike.

Arduino na prvi pogled

Šta je Arduino?

Arduino (Arduino) - hardverska računarska platforma, čije su glavne komponente I/O ploča i razvojno okruženje. Arduino se može koristiti i za kreiranje samostalnih interaktivnih objekata i za povezivanje sa softverom koji radi na računaru. Arduino je kao jednostruki računar.

Kako su Arduino i roboti povezani?

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

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. Uključujući se u Arduino, naći ćete podršku na bilo kojem jeziku i istomišljenike koji će odgovarati na pitanja i s kojima možete razgovarati o svom razvoju.

Lekcija 1. Trepćuće 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 emituje svetlost- poluvodički uređaj koji stvara optičko zračenje kada se kroz njega propušta električna struja u smjeru naprijed.

Lekcija 2. Povezivanje dugmeta na Arduino

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

Kada se dugme pritisne, LED će se upaliti, kada se otpusti, neće svetleti. Ovo je ujedno i osnovni model.

Lekcija 3. Povezivanje potenciometra na Arduino

U ovom vodiču ćete naučiti kako spojiti potenciometar na vaš Arduino.

Potenciometar- ovo je otpornik sa podesivim otporom.Potenciometri se koriste kao regulatori različitih parametara - jačine zvuka, snage, napona itd.Ovo je također jedna od osnovnih shema. U našem modelu okretanjem dugmeta potenciometraOsvetljenost LED će zavisiti.

Lekcija 4. Upravljanje servom na Arduinu

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

ServoTo je motor čiji se položaj osovine može kontrolisati podešavanjem ugla rotacije.

Servo uređaji se koriste za simulaciju različitih mehaničkih pokreta robota.

Lekcija 5. Trobojna LED dioda na Arduinu

U ovom vodiču ćete naučiti kako spojiti LED u 3 boje na Arduino.

Trobojna LED(rgb led) - ovo su tri LED diode različitih boja u jednom kućištu. Dolaze sa malom štampanom pločom sa otpornicima ili bez ugrađenih otpornika. Ova lekcija pokriva obje opcije.

Lekcija 6. Piezoelektrični element na Arduinu

U ovoj lekciji ćete naučiti kako spojiti piezoelektrični element na Arduino.

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

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

Lekcija 7. Fotootpornik na Arduinu

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

Fotootpornik- otpornik, čiji otpor ovisi o svjetlini svjetlosti koja pada na njega.

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

Lekcija 8. Senzor pokreta (PIR) na Arduinu. Automatsko slanje e-pošte

U ovoj lekciji našeg kursa naučićete kako da povežete senzor pokreta (PIR) na Arduino, kao i da organizujete automatsko slanje e-pošte.

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

U našem modelu, kada se od PIR senzora primi signal o kretanju osobe, Arduino šalje naredbu kompjuteru da pošalje e-mail i pismo se šalje automatski.

Lekcija 9. Povezivanje DHT11 ili DHT22 senzora temperature i vlažnosti

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

Senzor temperature i vlage 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 ekranu računara.

Lekcija 10. Povezivanje matrične tastature

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 krugovima.

Matrična tastatura dizajniran da olakša povezivanje velikog broja dugmadi. Takvi uređaji se nalaze posvuda - u kompjuterskim tastaturama, kalkulatorima i tako dalje.

Lekcija 11. Povezivanje DS3231 modula sata realnog vremena

U poslednjoj lekciji našeg kursa naučićete kako da povežete modul sata realnog vremena iz porodice
DS na Arduino ploču, a također se upoznajte s raznim zanimljivim sklopovima.

Modul sata realnog vremena- ovo je elektronsko kolo dizajnirano za snimanje hronometrijskih podataka (trenutno vrijeme, datum, dan u sedmici, itd.), je sistem iz autonomnog izvora napajanja i obračunskog uređaja.

Aplikacija. Arduino gotovi okviri i roboti


Arduino možete početi učiti ne samo od same ploče, već i od kupovine gotovog punopravnog robota baziranog na ovoj ploči - robota pauka, robotskog automobila, robota kornjače itd. Takve način pogodan za one koji nisu posebno privučeni električnim krugovima.

Kupovinom radnog modela robota, tj. u stvari, gotova igračka visoke tehnologije, može probuditi zanimanje za samodizajn i robotiku. Otvorenost Arduino platforme omogućava izradu novih igračaka od istih komponenti.

Druga opcija je kupovina okvira ili tijela robota: platforma na kotačima ili gusjenica, humanoid, pauk itd. U tom slučaju ćete morati sami obaviti punjenje robota.

Aplikacija. Mobilni imenik


- pomoćnik za programere algoritama za Arduino platformu, čija je svrha dati krajnjem korisniku mogućnost da nosi mobilni set komandi (referenca).

Aplikacija se sastoji od 3 glavna odjeljka:

  • Operateri;
  • Podaci;
  • Funkcije.

Gdje kupiti Arduino


Arduino kompleti

Kursu će biti dodane dodatne lekcije. Pretplatite se na nas

Arduino je univerzalna platforma za DIY mikrokontrolere. Postoji mnogo štitova (kartica za proširenje) i senzora za to. Ova raznolikost vam omogućava da napravite niz zanimljivih projekata koji imaju za cilj poboljšanje vašeg života i povećanje njegove udobnosti. Polja primjene ploče su beskrajna: automatizacija, sigurnosni sistemi, sistemi za prikupljanje i analizu podataka, itd.

U ovom članku ćete saznati što možete učiniti zanimljivim na Arduinu. Koji projekti će biti spektakularni, a koji korisni.

Šta se može uraditi sa Arduinom

Robot usisivač

Čišćenje stana je rutinski i neprivlačan posao, pogotovo jer za to treba vremena. Može se sačuvati ako se dio kućnih poslova dodijeli robotu. Ovog robota sastavio je inženjer elektronike iz Sočija - Dmitrij Ivanov. Strukturno se pokazalo da je dovoljno kvalitetan i nije inferioran u efikasnosti.

Za njegovu izgradnju trebat će vam:

1. Arduino Pro-mini, ili bilo koja druga slična i prikladna veličina...

2. USB-TTL adapter ako koristite Pro mini. Ako ste odabrali Arduino Nano, onda on nije potreban. Već je instaliran na ploči.

3. L298N drajver je potreban za upravljanje i okretanje DC motora.

4. Mali motor sa zupčanikom i točkovima.

5.6 IR senzori.

6. Turbinski motor (veći).

7. Sama turbina, odnosno radno kolo iz usisivača.

8. Motor za četke (mali).

9. 2 senzora sudara.

10.4 18650 baterije.

11. 2 pretvarača konstantnog napona (pojačavajući i opadajući).

13. Kontroler za rad baterije (punjenje i pražnjenje).

Sistem upravljanja je sledeći:

A evo i elektroenergetskog sistema:

Takvi čistači se razvijaju, tvornički izrađeni modeli imaju složene inteligentne algoritme, ali možete pokušati napraviti vlastiti dizajn koji neće biti lošiji u kvaliteti od skupih kolega.

Oni su sposobni emitirati svjetlosni tok bilo koje boje, obično koriste LED diode u čijem se slučaju nalaze tri kristala, koji svijetle u različitim bojama. Za njihovu kontrolu prodaju se posebni RGB kontroleri, čija je suština regulirati struju koja se dovodi do svake od boja LED trake, stoga se regulira intenzitet luminiscencije svake od tri boje (zasebno).

RGB kontroler na Arduinu možete napraviti vlastitim rukama, a čak i više, ovaj projekt implementira kontrolu putem Bluetooth-a.

Fotografija prikazuje primjer korištenja jedne RGB LED diode. Za kontrolu trake potrebno je dodatno napajanje od 12 V, tada će se kontrolirati kapije tranzistora s efektom polja uključenih u krug. Struja punjenja gejta ograničena je otpornicima od 10 kΩ, instalirani su između Arduino pina i gejta, u seriji sa njim.

Kontrolni panel baziran na Arduinu i pametnom telefonu

Pomoću mikrokontrolera možete napraviti univerzalni daljinski upravljač kojim se upravlja s mobilnog telefona.

Za ovo će vam trebati:

    Arduino bilo kojeg modela;

    IR prijemnik TSOP1138;

    IR LED;

    Bluetooth modul HC-06.

Projekat može čitati kodove sa fabričkih daljinskih upravljača i čuvati njihove vrijednosti. Tada možete kontrolirati ovaj domaći proizvod putem Bluetooth-a.

Web kamera je postavljena na rotirajući mehanizam. Povezan je sa računarom sa instaliranim softverom. Zasnovan je na biblioteci kompjuterskog vida - OpenCV (Open Source Computer Vision Library), nakon što program detektuje lice, koordinate njegovog kretanja se prenose preko USB kabla.

Arduino daje komandu pogonu rotacionog mehanizma i pozicionira sočivo kamere. Za pomicanje kamere koristi se par servo uređaja.

Video prikazuje rad ovog uređaja.

Pazite na svoje životinje!

Ideja je da saznate gdje vaša životinja hoda, što može izazvati interes za naučna istraživanja i samo za zabavu. Da biste to učinili, trebate koristiti GPS far. Ali za pohranjivanje podataka o lokaciji na nekom uređaju za pohranu.

U ovom slučaju, dimenzije uređaja igraju odlučujuću ulogu, jer životinja ne bi trebala osjećati nelagodu od njega. Za snimanje podataka može se koristiti za rad sa Micro-SD memorijskim karticama.

Ispod je dijagram originalne verzije uređaja.

Originalna verzija projekta koristila je TinyDuino ploču i štitove za nju. Ako ga ne možete pronaći, sasvim je moguće koristiti male kopije Arduina: mini, micro, nano.

Za napajanje je korištena Li-ion ćelija malog kapaciteta. Mala baterija traje oko 6 sati. Na kraju, autor je sve imao u odsečenoj tik-tok tegli. Vrijedi napomenuti da GPS antena mora biti usmjerena prema gore kako bi se dobila pouzdana očitavanja senzora.

Razbijač kombinovanih brava

Da biste razbili kombinirane brave s Arduinom, potrebni su vam servo i koračni motor. Ovaj projekat je razvio haker Samy Kamkar. Ovo je prilično složen projekat. Rad ovog uređaja prikazan je u videu, gdje autor iznosi sve detalje.

Naravno, takav uređaj teško da je pogodan za praktičnu upotrebu, ali ovo je odličan demo uređaj.

Arduino u muzici

Ovo verovatnije nije projekat, već mala demonstracija kako ovu platformu koriste muzičari.

Drum mašina na Arduinu. Važno je napomenuti da se ne radi o običnom pretraživanju snimljenih uzoraka, već, u principu, o stvaranju zvuka uz pomoć "željeznih" uređaja.

Ocene delova:

    NPN tranzistor, na primjer 2n3904 - 1 kom.

    Otpornik 1 kOhm (R2, R4, R5) - 3 kom.

    330 Ohm (R6) - 1 kom.

    10 kOhm (R1) - 1 kom.

    100 kOhm (R3) - 1 kom.

    Elektrolitički kondenzator 3,3 μF - 1 kom.

Da bi projekat radio, moraćete da povežete biblioteku za brzo Fourierovo proširenje.

Ovo je prilično jednostavan i zanimljiv projekt iz kategorije "možete se pohvaliti prijateljima".

3 projekta robota

Robotika je jedno od najzanimljivijih područja za štreberke i samo ljubitelje da urade nešto neobično svojim rukama, odlučio sam napraviti izbor nekoliko zanimljivih projekata.

BEAM robot na Arduinu

Za sastavljanje četveronožnog robota za hodanje trebat će vam:

    Za pomicanje nogu potrebni su servo motori, na primjer, Tower Hobbies TS-53;

    Komad bakrene žice srednje debljine (da izdrži težinu konstrukcije i da se ne savija, ali ne previše debeo, jer nema smisla);

    Mikrokontroler - AVR ATMega 8 ili Arduino ploča bilo kojeg modela;

    Za šasiju u projektu je naznačeno da je korišten Sintra Frame. To je vrsta plastike, savija se u bilo koji oblik kada se zagrije.

Kao rezultat, dobit ćete:

Važno je napomenuti da ovaj robot ne vozi, već hoda, može prekoračiti i ići na nadmorske visine do 1 cm.

Iz nekog razloga, ovaj me projekat podsjetio na robota iz Wall-e crtanog filma. Njegova posebnost je upotreba za punjenje baterija. Kreće se kao auto, na 4 točka.

Njegovi sastavni detalji:

    Plastična boca odgovarajuće veličine;

  • Džemperi mama-tata;

    Solarni panel sa izlaznim naponom od 6V;

    Kao donator točkova, motora i drugih delova - radio kontrolisani automobil;

    Dva servo za kontinuiranu rotaciju;

    Dva konvencionalna servo motora (180 stepeni);

    Držač za AA baterije i za "krunu";

    Senzor sudara;

    LED diode, fotootpornici, fiksni otpornici 10 kOhm - samo 4 komada;

    Diode 1n4001.

Evo osnove - Arduino ploča sa proto-štitom.

Ovako izgledaju rezervni dijelovi od - felga.

Konstrukcija je skoro gotova, senzori su ugrađeni.

Suština rada robota je da putuje do svjetlosti. Potrebno mu je obilje za navigaciju.

To je više CNC mašina nego robot, ali projekat je prilično zabavan. To je 2-osna mašina za crtanje. Evo liste glavnih komponenti od kojih se sastoji:

    (DVD) CD-drive - 2 kom;

    2 drajvera za koračne motore A498;

    servo MG90S;

    Arduino Uno;

    12V napajanje;

    Hemijska olovka i drugi elementi dizajna.

Od pogona optičkog diska, koračni motor i jedinice vodilice se koriste za pozicioniranje optičke glave. Motor, vratilo i nosač su uklonjeni iz ovih blokova.

Koračnim motorom nećete moći upravljati bez dodatne opreme, stoga se koriste posebne upravljačke ploče, bolje je da se na njih ugradi radijator motora u trenutku pokretanja ili promjene smjera rotacije.

Kompletan proces montaže i rada prikazan je u ovom videu.

Zaključak

Ovaj članak pokriva samo mali dio svega što možete učiniti na ovoj popularnoj platformi. Zapravo, sve ovisi o vašoj mašti i zadatku koji ste sebi postavili.

U ovom članku odlučio sam sastaviti kompletan vodič za početnike za Arduino korak po korak. Analizirat ćemo šta je arduino, šta vam je potrebno da počnete učiti, gdje preuzeti i kako instalirati i konfigurirati programsko okruženje, kako funkcionira i kako koristiti programski jezik i još mnogo toga što je potrebno za stvaranje punopravnog složeni uređaji bazirani na familiji ovih mikrokontrolera.

Ovdje ću pokušati dati sažeti minimum kako biste razumjeli principe rada sa Arduinom. Za potpunije uranjanje u svijet programabilnih mikrokontrolera, obratite pažnju na druge odjeljke i članke na ovoj stranici. Ostaviću linkove na druge materijale na ovoj stranici radi detaljnijeg proučavanja nekih aspekata.

Šta je Arduino i čemu služi?

Arduino je elektronski dizajner koji omogućava svakome da kreira razne elektro-mehaničke uređaje. Arduino se sastoji od softvera i hardvera. Softverski dio uključuje razvojno okruženje (program za pisanje i otklanjanje grešaka firmvera), mnoge gotove i pogodne biblioteke, pojednostavljeni programski jezik. Hardverski dio uključuje veliku liniju mikrokontrolera i gotovih modula za njih. Ovo čini rad sa Arduinom veoma lakim!

Uz pomoć arduina možete naučiti programiranje, elektrotehniku ​​i mehaniku. Ali ovo nije samo konstruktor nastave. Na osnovu toga možete napraviti zaista korisne uređaje.
Počevši od jednostavnih trepćućih svjetala, meteoroloških stanica, sistema za automatizaciju i završavajući sa sistemom pametne kuće, CNC mašinama i bespilotnim letjelicama. Mogućnosti nisu ograničene ni vašom maštom, jer postoji ogroman broj uputstava i ideja za implementaciju.

Arduino Starter Kit

Da biste počeli učiti Arduino, morate nabaviti samu ploču mikrokontrolera i dodatne detalje. Najbolje je kupiti Arduino starter kit, ali možete i sami odabrati sve što vam je potrebno. Savjetujem odabir kompleta jer je lakši i često jeftiniji. Evo linkova do najboljih kompleta i pojedinačnih dijelova koji će vam svakako dobro doći za istraživanje:

Osnovni arduino set za početnike:Kupi
Veliki set za obuku i prve projekte:Kupi
Set dodatnih senzora i modula:Kupi
Arduino Uno je najosnovniji i najprikladniji model iz linije:Kupi
Matična ploča bez lemljenja za lako učenje i izradu prototipa:Kupi
Set žica sa praktičnim konektorima:Kupi
LED set:Kupi
Komplet otpornika:Kupi
Dugmad:Kupi
Potenciometri:Kupi

Arduino IDE

Za pisanje, otklanjanje grešaka i prijenos firmvera, trebate preuzeti i instalirati Arduino IDE. To je vrlo jednostavan i praktičan program. Na svom sajtu sam već opisao proces preuzimanja, instaliranja i podešavanja razvojnog okruženja. Stoga ću ovdje samo ostaviti linkove do najnovije verzije programa i do

Verzija Windows Mac OS X Linux
1.8.2

Arduino programski jezik

Kada imate mikrokontrolersku ploču u rukama i razvojno okruženje je instalirano na vašem računaru, možete započeti pisanje svojih prvih skica (firmvera). Da biste to učinili, morate se upoznati s programskim jezikom.

Za Arduino programiranje koristi se pojednostavljena verzija jezika C++ s unaprijed definiranim funkcijama. Kao iu drugim programskim jezicima sličnim C, postoji niz pravila za pisanje koda. Evo najosnovnijih:

  • Svaka instrukcija mora biti praćena tačkom i zarezom (;)
  • Prije deklariranja funkcije, morate specificirati tip podataka koji vraća funkcija ili void ako funkcija ne vraća vrijednost.
  • Također je potrebno specificirati tip podataka prije deklariranja varijable.
  • Komentari su označeni: // Inline i / * Block * /

Više o tipovima podataka, funkcijama, varijablama, operatorima i jezičkim konstrukcijama možete saznati na stranici do Ne morate pamtiti i pamtiti sve ove informacije. Uvijek možete otići do priručnika i vidjeti sintaksu ove ili one funkcije.

Sav firmver za Arduino mora sadržavati najmanje 2 funkcije. To su setup () i petlja ().

Funkcija podešavanja

Da bi sve funkcionisalo potrebno je da napišemo skicu. Napravimo tako da LED dioda svijetli nakon pritiska na dugme, a nakon sljedećeg pritiska se gasi. Evo naše prve skice:

// varijable sa pinovima povezanih uređaja int switchPin = 8; int ledPin = 11; // varijable za pohranjivanje stanja gumba i LED boolean lastButton = LOW; boolean currentButton = LOW; boolean ledOn = lažno; void setup () (pinMode (switchPin, INPUT); pinMode (ledPin, OUTPUT);) // funkcija za suzbijanje odbijanja boolean debounse (boolean last) (boolean current = digitalRead (switchPin); if (last! = current) (kašnjenje (5); struja = digitalRead (switchPin);) povratna struja;) void loop () (currentButton = debounse (lastButton); if (lastButton == LOW && currentButton == HIGH) (ledOn =! LedOn;) lastButton = currentButton ; digitalWrite (ledPin, ledOn);)

// varijable sa pinovima povezanih uređaja

int switchPin = 8;

int ledPin = 11;

// varijable za pohranjivanje stanja tipke i LED-a

boolean lastButton = LOW;

boolean currentButton = LOW;

boolean ledOn = lažno;

void setup () (

pinMode (switchPin, INPUT);

pinMode (ledPin, OUTPUT);

// funkcija za suzbijanje odbijanja

boolean debounse (boolean last) (

boolean struja = digitalRead (switchPin);

if (zadnji! = trenutni) (

kašnjenje (5);

struja = digitalRead (switchPin);

povratna struja;

void petlja () (

currentButton = debounse (lastButton);

if (lastButton == LOW && currentButton == HIGH) (

ledOn =! ledOn;

lastButton = CurrentButton;

digitalWrite (ledPin, ledOn);

U ovoj skici, kreirao sam dodatnu funkciju debounse za suzbijanje odbijanja kontakta. Postoji odskakanje kontakata na mojoj web stranici. Obavezno pročitajte ovaj materijal.

PWM Arduino

Modulacija širine impulsa (PWM) je proces upravljanja naponom korištenjem radnog ciklusa signala. Odnosno, koristeći PWM, možemo glatko kontrolirati opterećenje. Na primjer, možete glatko promijeniti svjetlinu LED-a, ali ova promjena svjetline se ne postiže smanjenjem napona, već povećanjem intervala niskog signala. Princip rada PWM-a prikazan je na ovom dijagramu:

Kada primenimo PWM na LED, tada počinje brzo da svetli i gasi se. Ljudsko oko to ne može vidjeti jer je frekvencija previsoka. Ali kada snimate na videu, najvjerovatnije ćete vidjeti trenutke kada je LED dioda isključena. Ovo će se dogoditi pod uslovom da brzina kadrova kamere nije višestruka od PWM frekvencije.

Arduino ima ugrađen modulator širine impulsa. PWM možete koristiti samo na onim pinovima koje podržava mikrokontroler. Na primjer, Arduino Uno i Nano imaju po 6 PWM pinova: to su pinovi D3, D5, D6, D9, D10 i D11. Druge ploče mogu imati različite igle. Možete pronaći opis ploče koja vas zanima

Za korištenje PWM-a u Arduinu postoji funkcija koja uzima kao argumente pin broj i PWM vrijednost od 0 do 255.0 je 0% punjenja visokim signalom, a 255 je 100%. Napišimo jednostavnu skicu kao primjer. Napravimo tako da LED svijetli glatko, sačeka jednu sekundu i ugasi se jednako glatko, i tako u nedogled. Evo primjera korištenja ove funkcije:

// LED je spojen na pin 11 int ledPin = 11; void setup () (pinMode (ledPin, OUTPUT);) void loop () (za (int i = 0; i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) (analogni Write (ledPin, i); kašnjenje (5);))

// LED je spojen na pin 11

int ledPin = 11;

void setup () (

pinMode (ledPin, OUTPUT);

void petlja () (

za (int i = 0; i< 255 ; i ++ ) {

analogWrite (ledPin, i);

kašnjenje (5);

kašnjenje (1000);

za (int i = 255; i> 0; i -) (

Dobar dan, Habr. Započinjem seriju članaka koji će vam pomoći da se upoznate sa Arduinom. Ali to ne znači da ako niste početnik 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 sisteme. Glavna prednost je što je platforma namijenjena neprofesionalnim korisnicima. Odnosno, svako može kreirati svog robota, bez obzira na znanje programiranja i sopstvene veštine.

Počni

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


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

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


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

Pogledajmo dvije potrebne funkcije. Funkcija setup () se poziva samo jednom na početku mikrokontrolera. Ona je ta koja postavlja sve osnovne postavke. Funkcija petlje () je kružna. Poziva se u beskonačnoj petlji kroz cijelo vrijeme rada mikrokontrolera.

Prvi program

Da bismo bolje razumjeli kako platforma radi, napišimo prvi program. Ovaj jednostavan 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 kašnjenje (1000 ); // pričekajte 1 sekundu digitalWrite (Led, LOW); // ne primjenjujte napon na kašnjenje od 13 pinova (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

Da bismo učitali skicu na Arduino, samo je prvo moramo sačuvati. Nadalje, kako biste izbjegli probleme tokom preuzimanja, morate provjeriti postavke programatora. Da biste to učinili, na gornjoj ploči odaberite karticu "Alati". 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 port za povezivanje (port na koji ste povezali svoju platformu). Nakon ovih koraka, možete otpremiti skicu. Da biste to učinili, kliknite na strelicu ili na kartici "Sketch" odaberite "Preuzmi" (možete koristiti i prečicu na tipkovnici "Ctrl + U"). Firmware ploče je uspješno završen.

Izrada prototipa / prototipa

Za sastavljanje matične ploče potrebni su nam sljedeći elementi: LED, otpornik, žice (skakači), matična ploča (Breadboard). Da ništa ne bi izgorjelo, i kako bi sve uspješno funkcionisalo, morate se pozabaviti LED diodom. Ima dvije noge. Kratko - minus, dugo - plus. Za kratku ćemo spojiti "uzemljenje" (GND) i otpornik (kako bismo smanjili struju koja ide na LED, da je ne bi spalila), a za dugu ćemo napajanje ( spojite na pin 13). Nakon povezivanja, otpremite skicu na ploču, ako to ranije niste učinili. Šifra ostaje ista.


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

Top srodni članci