Kako postaviti pametne telefone i računala. Informativni portal

Pravi projekti s Arduinom. Arduino za početnike: upute korak po korak

Dobar dan, dragi čitatelji i korisnici najboljeg portala Trashbox! Nije tajna da možete dobro zaraditi na stvarima koje izradite vlastitim rukama. Ako je ideja stvarno zanimljiva, onda možete stvoriti vlastiti posao na temelju nje. Korištenje Arduina u ovom području je vrlo zgodno rješenje, jer Arduino nije zabranjen za komercijalnu upotrebu. Danas ćemo s vama razgovarati o pet zanimljivih poslovnih ideja.

Kako to implementirati?

Najprikladniji način kupnje komponenti za implementaciju ideje je na AliExpressu. Tamo također možete pronaći razne građevine. U našem slučaju, tijelo je neophodno da bi naša kreacija dobila tržišni izgled.

Poslovanje na Arduinu vrlo je isplativo, jer samo jednom trebate napisati skicu. Jednostavno “napunite” već pripremljenu u sljedeće primjerke. Pogledajte ideje u nastavku.

Automatska kontrola kućne temperature


Redom: Arduino Nano, Arduino Uno i NRF24L01


Nisam želio ovu stavku nazvati "pametnom" kućom, jer se ova ideja odnosi samo na kontrolu temperature. Ja bih implementirao ovu ideju koristeći nekoliko Arduino Nano i jedan Arduino Mega/Uno. Komunikacija između njih odvijat će se pomoću radio modula NRF24L01. Ovaj modul omogućuje spajanje do šest Arduina.

Arduino Nano bit će smješten u malom kućištu zajedno s DHT22 senzorom temperature i vlage, NRF24L01 radio komunikacijskim modulom i izvorom napajanja – baterijom, na primjer. Nekoliko ovih malih kutija bit će postavljeno po cijeloj kući.


DHT2 i tekstualni LCD zaslon


Podatke iz Arduino Nano-a prima "baza", koja je Arduino Uno ili Mega, zatvorena u velikom kućištu zajedno s NRF24L01 (kao prijemnik), tekstualnim LCD zaslonom i izvorom napajanja (baterijom). Sve će se to nalaziti u blizini sustava grijanja. “Baza” će moći primati i obrađivati ​​podatke o temperaturi i, ovisno o vrijednosti tih podataka, sustavu grijanja će biti poslana naredba za povećanje ili smanjenje temperature.

"Pametni" staklenik


Primjer gotovog rješenja.


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


Redom: Arduino Mega, DHT22 i tekstualni LCD zaslon.


Jedan Arduino može pratiti temperaturu staklenika (koristeći isti DHT22 senzor), prikazati potrebne informacije na LCD zaslonu, poslati naredbu za otvaranje slavine za dovod vode, te također kontrolirati motore za otvaranje i zatvaranje vrata .

CNC stroj


Redom: Arduino Mega, L298N i koračni motor.


Ovo također uključuje 3D pisače. Na internetu postoji mnogo načina za izradu CNC stroja temeljenog na Arduinu. Ne rade svi, ali sigurno će biti dobrih opcija. Od hardvera će vam trebati Arduino, po mogućnosti Mega, kao i L298N driver motora i, naravno, sami motori. Sve ostalo je okvir i programski kod. Moram napomenuti da je ovo jedna od najtežih ideja za provedbu.

Roboti


Primjer gotovog rješenja.


Nedvojbeno je da djeca jako vole robote, pogotovo one koje mogu sami kontrolirati. Uz pomoć Arduina, roboti se mogu napraviti čak i od otpadnog materijala. Jednom sam se poigravao idejom da napravim robota u oklopu usisavača koji bi bio vrlo sličan droidu astromehanika iz Ratova zvijezda.

Redom: HC-SR04, L293D, HC-06 i NRF24L01


Ultrazvučni daljinomjer HC-SR04 može odrediti udaljenost do prepreka kako bi ih kasnije izbjegao. L293D pokretački program motora, koji se koristi kao ploča za proširenje, može kontrolirati četiri motora i tri servo motora odjednom. U komunikacijskom smislu nismo jako ograničeni. Možete koristiti bluetooth modul HC-06, koji će vam omogućiti da upravljate svojim djetetom s pametnog telefona, ali se ne može pohvaliti dobrim dometom komunikacije, što se ne može reći o već poznatom radiokomunikacijskom modulu NRF24L01. Međutim, tada ćete izgubiti mogućnost upravljanja sa svog pametnog telefona.


18650 baterije


Kao izvor napajanja možete koristiti 18650 baterija spojenih paralelno kako biste povećali ukupni kapacitet.

Poanta

Nažalost, ovo su sve ideje koje sam mogao pronaći. Siguran sam da ako vas zanima neka ideja, na internetu možete pronaći puno informacija o ovoj temi.
Želim odmah reći da na ovaj popis nisam uključio kvadrokoptere i druge letjelice jer za njih već postoje gotove upravljačke ploče. Najvjerojatnije Arduino jednostavno nije mogao izdržati takvo opterećenje.

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

" predstavlja tečaj "Arduino za početnike". Serija se sastoji od 10 lekcija, kao i dodatnog materijala. Lekcije uključuju tekstualne upute, fotografije i videozapise s uputama. U svakoj lekciji pronaći ćete popis potrebnih komponenti, popis programa i dijagram povezivanja. Nakon što završite ovih 10 osnovnih lekcija, moći ćete prijeći na zanimljivije modele i izradu robota baziranih na Arduinu. Tečaj je namijenjen početnicima; za početak nisu potrebne dodatne informacije iz elektrotehnike ili robotike.

Kratke informacije 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 povezivanje sa softverom koji radi na računalu. Arduino je jednopločno računalo.

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 njihova relativno niska cijena i gotovo široka rasprostranjenost među amaterima i profesionalcima u robotici i elektrotehnici. Nakon što uđete u Arduino, pronaći ćete podršku na bilo kojem jeziku i ljude istomišljenika koji će odgovoriti na vaša pitanja i s njima razgovarati o vašem razvoju.

Lekcija 1. Treperenje LED na Arduinu

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

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

Lekcija 2. Spajanje gumba na Arduinu

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

Kada se tipka pritisne, LED će svijetliti, kada se tipka pritisne, neće svijetliti. Ovo je ujedno i osnovni model.

Lekcija 3. Spajanje potenciometra na Arduinu

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

Potenciometar- Ovo otpornik s podesivim otporom.Potenciometri se koriste kao regulatori raznih parametara - glasnoće zvuka, snage, napona itd.Ovo je također jedna od osnovnih shema. U našem modelu od okretanja gumba potenciometraSvjetlina LED-a će ovisiti.

Lekcija 4. Servo kontrola na Arduinu

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

Servoje motor čiji se položaj vratila može kontrolirati podešavanjem kuta zakreta.

Servo se koristi za simulaciju različitih mehaničkih pokreta robota.

Lekcija 5. Trobojna LED na Arduinu

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

Trobojna LED dioda(rgb led) - to su tri LED diode različitih boja u jednom kućištu. Dolaze ili s malom tiskanom pločicom na kojoj su smješteni otpornici ili bez ugrađenih otpornika. Lekcija pokriva obje opcije.

Lekcija 6. Piezoelektrični element na Arduinu

U ovoj lekciji naučit ćete kako spojiti piezo element na Arduino.

Piezo element- elektromehanički pretvarač koji prevodi električni napon u vibraciju 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 dioda svijetli samo ako je svjetlina svjetla iznad fotootpornika manja od određene; ta se svjetlina može podesiti u programu.

Lekcija 8. Senzor pokreta (PIR) na Arduinu. Automatsko slanje e-maila

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, prilikom primanja signala o ljudskom kretanju od PIR senzora, Arduino šalje naredbu računalu da pošalje E-mail i pismo se šalje automatski.

Lekcija 9. Spajanje senzora temperature i vlage DHT11 ili DHT22

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

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

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

Lekcija 10. Spajanje matrične tipkovnice

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

Matrix tipkovnica izumljen za pojednostavljenje povezivanja velikog broja gumba. Takvi se uređaji nalaze posvuda - u tipkovnicama računala, kalkulatorima i tako dalje.

Lekcija 11. Spajanje DS3231 modula sata stvarnog vremena

U posljednjoj lekciji našeg tečaja naučit ćete kako spojiti modul sata u stvarnom vremenu iz obitelji
DS na Arduino pločicu, a također se upoznajte s raznim zanimljivim sklopovima.

Modul sata realnog vremena- ovo je elektronički sklop dizajniran za bilježenje kronometrijskih podataka (trenutno vrijeme, datum, dan u tjednu itd.), a to je sustav koji se sastoji od autonomnog izvora napajanja i uređaja za snimanje.

Primjena. Gotovi okviri i Arduino roboti


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

Kupnjom modela robota koji radi, tj. zapravo, gotova visokotehnološka igračka može probuditi interes za neovisni dizajn i robotiku. Otvorenost Arduino platforme omogućuje izradu novih igračaka od istih komponenti.

Druga mogućnost je kupnja okvira ili tijela robota: platforma na kotačima ili gusjenicama, humanoid, pauk itd. U ovom slučaju, morat ćete sami napuniti robota.

Primjena. Mobilni imenik


– pomoćnik za programere algoritama za Arduino platformu, čija je svrha pružiti krajnjem korisniku mogućnost mobilnog skupa naredbi (priručnik).

Aplikacija se sastoji od 3 glavna odjeljka:

  • Operatori;
  • Podaci;
  • Funkcije.

Gdje kupiti Arduino


Arduino setovi

Tečaj će biti ažuriran dodatnim lekcijama. Prati nas

Arduino je univerzalna platforma za DIY mikrokontrolere. Za to postoji mnogo štitova (kartica za proširenje) i senzora. Ova raznolikost omogućuje vam stvaranje niza zanimljivih projekata usmjerenih na poboljšanje vašeg života i povećanje njegove udobnosti. Područja primjene ploče su neograničena: automatizacija, sigurnosni sustavi, sustavi za prikupljanje i analizu podataka itd.

Iz ovog članka saznat ćete koje zanimljive stvari možete učiniti s Arduinom. Koji će projekti biti spektakularni, a koji korisni.

Što možete učiniti s Arduinom

Robot usisavač

Čišćenje stana je rutinski zadatak i neatraktivan, pogotovo jer oduzima vrijeme. Možete ga uštedjeti ako dio kućanskih poslova prepustite robotu. Ovog robota sastavio je inženjer elektronike iz Sočija - Dmitrij Ivanov. Strukturno, pokazalo se da je dovoljno kvalitetan i nije inferioran u učinkovitosti.

Za sastavljanje trebat će vam:

1. Arduino Pro-mini, ili neki drugi sličan i odgovarajuće veličine...

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

3. L298N upravljački program je potreban za upravljanje i reverziranje istosmjernih motora.

4. Mali motori s mjenjačem i kotačima.

5. 6 IR senzora.

6. Motor za turbinu (veći).

7. Sama turbina, odnosno rotor iz usisavača.

8. Motor za četke (mali).

9. 2 senzora sudara.

10. 4 x 18650 baterije.

11. 2 DC-DC pretvarača (boost i step-down).

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

Kontrolni sustav izgleda ovako:

A ovdje je sustav napajanja:

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

Sposobni proizvesti svjetlosni tok bilo koje boje, obično koriste LED diode u čijem se kućištu nalaze tri kristala koji svijetle u različitim bojama. Za njihovu kontrolu prodaju se posebni RGB kontroleri, čija je suština reguliranje struje koja se dovodi u svaku od boja LED trake, stoga se regulira intenzitet sjaja svake od tri boje (zasebno).

Možete napraviti vlastiti RGB kontroler koristeći Arduino, čak štoviše, ovaj projekt implementira kontrolu putem Bluetootha.

Na fotografiji je prikazan primjer korištenja jedne RGB LED diode. Za kontrolu vrpce trebat će vam dodatno napajanje od 12 V, a zatim će kontrolirati vrata tranzistora s efektom polja uključenih u krug. Struja punjenja vrata je ograničena otpornicima od 10 kOhm; oni su instalirani između Arduino pina i vrata, u seriji s njim.

Upravljačka ploča temeljena 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.

Projekt može čitati kodove s tvorničkih daljinskih upravljača i spremati njihove vrijednosti. Nakon toga možete kontrolirati ovaj domaći proizvod putem Bluetootha.

Web kamera je instalirana na rotirajući mehanizam. Povezan je s računalom s instaliranim softverom. Temelji se na biblioteci računalnog vida - OpenCV (Open Source Computer Vision Library), nakon što program detektira lice, USB kabelom se prenose koordinate njegovog kretanja.

Arduino upravlja pogonom rotirajućeg mehanizma i postavlja leću kamere. Za pomicanje kamere koristi se par servo motora.

Video pokazuje kako ovaj uređaj radi.

Pazite na svoje životinje!

Ideja je saznati gdje vaša životinja luta, što može biti zanimljivo za znanstveno istraživanje ili samo za zabavu. Da biste to učinili, morate koristiti GPS tracker. Ali za pohranu podataka o lokaciji na neku vrstu uređaja za pohranu.

U ovom slučaju, dimenzije uređaja ovdje igraju odlučujuću ulogu, budući da životinja ne bi trebala osjećati nelagodu od toga. Za snimanje podataka možete ga koristiti za rad s Micro-SD memorijskim karticama.

Ispod je dijagram izvorne verzije uređaja.

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

Za napajanje je korišten Li-ion element malog kapaciteta. Mala baterija drži oko 6 sati. Autor je na kraju sve smjestio u odrezanu Tic-Tac staklenku. Važno je napomenuti da GPS antena mora biti usmjerena prema gore kako bi se dobila pouzdana očitanja senzora.

Šifra brava provalnik

Za razbijanje kombiniranih brava pomoću Arduina trebat će vam servo i koračni motor. Ovaj projekt razvio je haker Samy Kamkar. Ovo je prilično složen projekt. Rad ovog uređaja prikazan je u videu, gdje autor objašnjava sve detalje.

Naravno, takav uređaj vjerojatno neće biti prikladan za praktičnu upotrebu, ali je izvrstan pokazni uređaj.

Arduino u glazbi

Ovo najvjerojatnije nije projekt, već mala demonstracija kako su ovu platformu koristili glazbenici.

Bubnjarski stroj na Arduinu. Značajno je da se ne radi o običnoj pretrazi snimljenih uzoraka, već, u principu, o generiranju zvuka pomoću “hardverskih” uređaja.

Ocjene dijelova:

    Tranzistor tipa NPN, 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 uF - 1 kom.

Da bi projekt funkcionirao, morat ćete povezati biblioteku za brzo proširenje Fourierovog niza.

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

3 projekta robota

Robotika je jedno od najzanimljivijih područja za geekove i samo one koji vole raditi nešto neobično vlastitim 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 vam servomotori, na primjer, Tower Hobbies TS-53;

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

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

    Za šasiju, dizajn navodi da je korišten Sintra okvir. To je vrsta plastike koja se zagrijavanjem savija u bilo koji oblik.

Kao rezultat dobit ćete:

Zanimljivo je da ovaj robot ne vozi, već hoda, može gaziti i penjati se na visine do 1 cm.

Iz nekog razloga me ovaj projekt podsjetio na robota iz crtića Wall-e. Njegova posebnost je korištenje za punjenje baterija. Kreće se kao auto, na 4 kotača.

Njegovi sastavni dijelovi:

    Plastična boca odgovarajuće veličine;

  • Džemperi mama-tata;

    Solarni panel s izlaznim naponom od 6V;

    Kao donator kotača, motora i ostalih dijelova - auto na radio upravljanje;

    Dva kontinuirana rotacijska servo motora;

    Dva konvencionalna servo motora (180 stupnjeva);

    Držač za AA baterije i za “krunu”;

    Senzor sudara;

    LED, fotootpornici, fiksni otpornici 10 kOhm - ukupno 4 komada;

    Dioda 1n4001.

Ovdje je osnova - Arduino ploča s proto-štitom.

Ovako izgledaju rezervni dijelovi iz - kotača.

Struktura je gotovo sastavljena, senzori su instalirani.

Suština rada robota je da on ide prema svjetlu. Za plovidbu mu treba obilje.

Ovo je više CNC stroj nego robot, ali projekt je vrlo zabavan. To je dvoosni stroj za crtanje. Evo popisa glavnih komponenti od kojih se sastoji:

    (DVD)CD pogoni - 2 kom;

    2 drajvera za koračne motore A498;

    servo pogon MG90S;

    Arduino Uno;

    Napajanje 12V;

    Kemijska olovka i drugi elementi dizajna.

Pogon optičkog diska koristi blokove s koračnim motorom i vodilicom koji postavljaju optičku glavu. Motor, vratilo i nosač se uklanjaju iz ovih blokova.

Nećete moći upravljati koračnim motorom bez dodatne opreme, pa se koriste posebne upravljačke ploče, bolje je ako se na njih instalira hladnjak motora u trenutku pokretanja ili promjene smjera vrtnje.

Cijeli proces sastavljanja i rada prikazan je u ovom videu.

Zaključak

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

U ovom sam članku odlučio sastaviti potpuni vodič korak po korak za Arduino početnike. Pogledat ćemo što je Arduino, što vam je potrebno za početak učenja, gdje preuzeti i kako instalirati i konfigurirati programsko okruženje, kako radi i kako koristiti programski jezik i još mnogo toga što je potrebno za stvaranje punopravnog složeni uređaji temeljeni na obitelji ovih mikrokontrolera.

Ovdje ću pokušati dati sažeti minimum kako biste razumjeli principe rada s Arduinom. Za potpunije uranjanje u svijet programabilnih mikrokontrolera, obratite pozornost na druge odjeljke i članke ove stranice. Ostavit ću poveznice na druge materijale na ovoj stranici za detaljnije proučavanje nekih aspekata.

Što je Arduino i čemu služi?

Arduino je elektronički konstrukcijski komplet koji svakome omogućuje stvaranje raznih elektromehaničkih uređaja. Arduino se sastoji od softvera i hardvera. Softverski dio uključuje razvojno okruženje (program za pisanje i uklanjanje pogrešaka firmvera), mnogo gotovih i praktičnih biblioteka i pojednostavljeni programski jezik. Hardver uključuje veliku liniju mikrokontrolera i gotovih modula za njih. Zahvaljujući tome, rad s Arduinom je vrlo jednostavan!

Uz pomoć Arduina možete učiti programiranje, elektrotehniku ​​i mehaniku. Ali ovo nije samo obrazovni konstruktor. Na temelju toga možete napraviti stvarno korisne uređaje.
Počevši od jednostavnih trepćućih svjetala, meteoroloških stanica, sustava automatizacije pa sve do sustava pametne kuće, CNC strojeva i bespilotnih letjelica. Mogućnosti nisu čak ni ograničene vašom maštom, jer postoji ogroman broj uputa i ideja za provedbu.

Arduino početni komplet

Kako biste počeli učiti Arduino, morate nabaviti samu ploču mikrokontrolera i dodatne dijelove. Najbolje je kupiti Arduino starter kit, ali sve što vam treba možete izabrati sami. Preporučam odabrati set jer je jednostavnije, a često i jeftinije. Ovdje su poveznice na najbolje setove i pojedinačne dijelove koje ćete svakako morati proučiti:

Osnovni Arduino komplet za početnike:Kupiti
Veliki set za obuku i prve projekte:Kupiti
Set dodatnih senzora i modula:Kupiti
Arduino Uno je najosnovniji i najprikladniji model iz linije:Kupiti
Mrežna ploča bez lemljenja za jednostavno učenje i izradu prototipova:Kupiti
Set žica s praktičnim konektorima:Kupiti
LED set:Kupiti
Komplet otpornika:Kupiti
Gumbi:Kupiti
Potenciometri:Kupiti

Arduino IDE razvojno okruženje

Za pisanje, otklanjanje pogrešaka i preuzimanje firmvera, trebate preuzeti i instalirati Arduino IDE. Ovo je vrlo jednostavan i praktičan program. Na svojoj web stranici već sam opisao proces preuzimanja, instaliranja i konfiguriranja razvojnog okruženja. Stoga ću ovdje jednostavno ostaviti poveznice na najnoviju verziju programa i na

Verzija Windows Mac OS X Linux
1.8.2

Arduino programski jezik

Kada u rukama imate mikrokontrolersku ploču i na računalu instalirano razvojno okruženje, možete početi pisati svoje prve skice (firmware). Da biste to učinili, morate se upoznati s programskim jezikom.

Arduino programiranje koristi pojednostavljenu verziju jezika C++ s unaprijed definiranim funkcijama. Kao iu drugim programskim jezicima sličnim C-u, postoji niz pravila za pisanje koda. Evo najosnovnijih:

  • Iza svake upute mora stajati točka-zarez (;)
  • Prije deklariranja funkcije, morate navesti tip podataka koji vraća funkcija ili void ako funkcija ne vraća vrijednost.
  • Prije deklariranja varijable također je potrebno navesti tip podataka.
  • Komentari su označeni: // Inline i /* block */

Možete saznati više o tipovima podataka, funkcijama, varijablama, operatorima i jezičnim konstrukcijama na stranici Ne morate pamtiti i pamtiti sve ove informacije. Uvijek možete otići u referentnu knjigu i pogledati sintaksu određene funkcije.

Sav Arduino firmware mora sadržavati najmanje 2 funkcije. To su setup() i loop().

funkcija postavljanja

Da bi sve funkcioniralo, moramo napisati skicu. Učinimo da LED dioda zasvijetli nakon pritiska na tipku, a ugasi se nakon sljedećeg pritiska. Evo naše prve skice:

// varijable s 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 uklanjanje boolean debounse(boolean last) ( boolean current = digitalRead(switchPin); if(last != current) ( delay ( 5); current = digitalRead(switchPin); ) return current; ) void loop() ( currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == HIGH) ( ledOn = !ledOn; ) lastButton = currentButton ; digitalWrite(ledPin, ledOn); )

// varijable s pinovima povezanih uređaja

int switchPin = 8;

int ledPin = 11;

// varijable za pohranjivanje stanja gumba i LED-a

boolean lastButton = LOW;

boolean currentButton = LOW;

boolean ledOn = lažno;

void setup() (

pinMode(switchPin, INPUT);

pinMode(ledPin, IZLAZ);

// funkcija za odbijanje

boolean debounse (booleov zadnji) (

boolean struja = digitalRead(switchPin);

if (posljednje != trenutno ) (

kašnjenje(5);

trenutno = digitalRead(switchPin);

povratna struja ;

void petlja() (

currentButton = debounse(lastButton);

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

ledOn = ! ledOn;

zadnji gumb = trenutni gumb;

digitalWrite(ledPin, ledOn);

U ovoj skici stvorio sam dodatnu funkciju debounse za suzbijanje odbijanja kontakta. Na mojoj web stranici postoje informacije o odbijanju kontakata. Svakako pogledajte ovaj materijal.

PWM Arduino

Modulacija širine impulsa (PWM) je proces upravljanja naponom pomoću radnog ciklusa signala. Odnosno, pomoću PWM-a 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 na LED diodu primijenimo PWM, ona počinje brzo svijetliti i gasiti se. Ljudsko oko to ne može vidjeti jer je frekvencija previsoka. Ali kada snimate video, najvjerojatnije ćete vidjeti trenutke kada LED ne svijetli. To će se dogoditi pod uvjetom da broj sličica u sekundi kamere nije višekratnik frekvencije PWM.

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

Za korištenje PWM-a u Arduinu postoji funkcija. Kao argumente uzima broj pina i vrijednost PWM-a od 0 do 255. 0 je 0% ispunjenja s visokim signalom, a 255 je 100%. Napišimo jednostavnu skicu kao primjer. Učinimo da LED svijetli glatko, pričekamo jednu sekundu i ugasimo 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() ( for (int i = 0; i< 255; i++) { analogWrite(ledPin, i); delay(5); } delay(1000); for (int i = 255; i >0; i--) ( analogWrite(ledPin, i); kašnjenje(5); ) )

// LED spojen na pin 11

int ledPin = 11;

void setup() (

pinMode(ledPin, IZLAZ);

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. Pokrećem 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 dobro započeti s upoznavanjem s Arduinom. Arduino – hardver i softver za automatizaciju zgrada i robotske sustave. Glavna prednost je što je platforma namijenjena neprofesionalnim korisnicima. Odnosno, svatko može kreirati vlastitog robota, bez obzira na znanje programiranja i vlastite vještine.

Početak

Stvaranje projekta na Arduinu sastoji se od 3 glavne faze: pisanje koda, izrada prototipova (breadboarding) i firmware. Kako bismo napisali kod i zatim flashali ploču, potrebno nam je razvojno okruženje. Zapravo, ima ih podosta, ali mi ćemo programirati u originalnom okruženju - Arduino IDE. Sam kod ćemo napisati u C++, prilagođenom za Arduino. Možete ga preuzeti na službenoj stranici. Skica je program napisan na Arduinu. Pogledajmo strukturu koda:


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

Važno je napomenuti da Arduino procesor stvara funkciju main(), koja je potrebna u C++. A rezultat onoga što programer vidi je:


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

Pogledajmo dvije potrebne funkcije. Funkcija setup() poziva se samo jednom prilikom pokretanja mikrokontrolera. Ona je ta koja postavlja sve osnovne postavke. Funkcija loop() je ciklička. Poziva se u beskonačnoj petlji kroz cijelo vrijeme rada mikrokontrolera.

Prvi program

Kako bismo bolje razumjeli princip rada platforme, napišimo prvi program. Ovaj najjednostavniji program (Blink) izvršit ćemo u dvije verzije. Jedina razlika između njih je sklop.


int Led = 13; // deklariramo varijablu Led na pinu 13 (izlaz) void setup() ( pinMode(Led, OUTPUT); // definiramo varijablu ) void loop() ( digitalWrite(Led, HIGH); // primijenimo napon na odgodu pina 13 (1000 ); // pričekajte 1 sekundu digitalWrite(Led, LOW); // nemojte primijeniti napon na pin 13 delay(1000); // pričekajte 1 sekundu)

Princip rada ovog programa je vrlo jednostavan: LED svijetli 1 sekundu i gasi se 1 sekundu. Za prvu opciju ne moramo sastavljati izgled. Budući da Arduino platforma ima ugrađenu LED diodu spojenu na pin 13.

Arduino firmware

Kako bismo uploadali skicu na Arduino, prvo je moramo jednostavno spremiti. Zatim, kako biste izbjegli probleme prilikom učitavanja, morate provjeriti postavke programatora. Da biste to učinili, odaberite karticu "Alati" na gornjoj ploči. U odjeljku "Plaćanje" odaberite svoje plaćanje. To može biti Arduino Uno, Arduino Nano, Arduino Mega, Arduino Leonardo ili drugi. Također u odjeljku “Port” trebate odabrati svoj konekcioni port (port na koji ste spojili svoju platformu). Nakon ovih koraka možete učitati skicu. Da biste to učinili, kliknite na strelicu ili odaberite "Preuzmi" u kartici "Skica" (također možete koristiti tipkovni prečac "Ctrl + U"). Firmware ploče je uspješno dovršen.

Izrada prototipa/izgled

Za sastavljanje matične ploče potrebni su nam sljedeći elementi: LED, otpornik, ožičenje (skakači), matična ploča. Kako ništa ne bi spalili i kako bi sve uspješno radilo, morate se pozabaviti LED-om. Ima dvije "noge". Kratko je minus, dugo je plus. Spojit ćemo masu (GND) i otpornik na kratki (kako bismo smanjili struju koja se dovodi na LED diodu da je ne spali), a na dugi ćemo napajati (spojiti na pin 13). Nakon povezivanja prenesite skicu na ploču ako to niste učinili prije. Šifra ostaje ista.


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

Najbolji članci na temu