Izrada Arduina od nule. Izrada vlastitog Arduino Uno Mini Što je Arduino vlastitim rukama

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. Prodaju se kako bi ih kontrolirali; njihova je bit regulirati struju koja se dovodi u svaku od boja LED traka, dakle, podešava se intenzitet sjaja svake od tri boje (posebno).

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.

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

Za ovo će vam trebati:

    Arduino bilo kojeg modela;

    IR prijemnik TSOP1138;

    IR LED;

    Bluetooth modul HC-05 ili 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. Spojen je na računalo s instaliranim softver. 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.

Pripazite 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 TinyDuino ploču 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 (da izdrži težinu konstrukcije i ne savija 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 A498 koračne motore;

    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, osovina i nosač se uklanjaju iz ovih blokova.

Nećete moći upravljati koračnim motorom bez dodatne opreme, stoga je bolje koristiti radijator motora na njima u trenutku pokretanja ili promjene smjera vrtnje.

Cijeli proces sastavljanja i rada prikazan je u ovom videu.

Pogledajte i 16 najboljih Arduino projekata iz AlexGyvera:

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.

Arduino je nevjerojatna elektronička platforma za stvaranje radioamaterskih projekata. Jednostavan je za korištenje i puno jeftiniji od profesionalnih razvojnih ploča.



Ali Arduino možete učiniti još jeftinijim tako da ne kupujete tvorničku ploču, već da je napravite sami. I ovaj materijal će vam reći kako napraviti Arduino vlastitim rukama, koristeći komponente iz lokalne radio trgovine.


Korak 1: Komponente



Za Arduino će nam trebati:


Mikrokontroler ATmega 168
Ploča za izradu prototipova (440 ili 840 pinova)
22 AWG žice
Regulator napona 7805
Dvije LED diode
Dva otpornika od 220 Ohma
Jedan otpornik od 10KΩ
Dva kondenzatora od 10 µF
Oscilator 16 MHz
Dva kondenzatora od 22 pF
Dugme
Pin konektor
Pretvarač sučelja RS232-USB na 3,3 V

Korak 2: organiziranje lanca napajanja


Prije svega, moramo napajati naš mikrokontroler. Da bismo to učinili, koristit ćemo regulator napona 7805 +5 V. Slika prikazuje dijagram spajanja.



Da bi regulator ispravno radio, ulazni napon mora biti veći od +5 V, na primjer, +9 V baterija je prikladna kao izvor napajanja na crveni (+) i crni (-) kvadrat. Zatim slijedi kondenzator od 10 µF. Budući da je elektrolitski, mora se paziti na polaritet. Obično je anodni vod (+) duži od katodnog voda (-). Također, većina kondenzatora je označena trakom na katodnoj strani. Zatim postoje dvije žice koje "prebacuju" snagu na drugi dio ploče. Slijedi regulator napona. Ovdje također morate paziti na polaritet. Ako gledate sprijeda, lijevi pin će biti ulaz (Vin), srednji će biti uzemljenje (GND), a desni pin će biti izlaz (Vout). Također povezujemo kondenzator od 10 µF na izlaz, promatrajući polaritet.


Za veću praktičnost korištenja strujne linije, "bacimo" je na lijevu stranu ploče:



Također je dobra ideja dodati LED indikator koji će vas obavijestiti je li napajanje trenutno priključeno ili ne. LED je spojen preko otpornika od 220 Ohma (na slici označen s dvije crvene i jednom smeđom prugom). Spajamo otpornik na anodu (obično dugi vod) LED-a. Katodu postavimo na tlo.



Korak 3: Arduino pinovi


Sada moramo uzeti mikrokontroler. U ovom slučaju koristimo Atmelov ATmega 168, ali također možete koristiti ATmega 328. ATmega 328 radi istom brzinom i ima iste dodjele pinova, ali ima dvostruko više flash memorije i EEPROM memorije.


Dodjele pinova za Arduino možete vidjeti na sljedećoj slici:



Korak 4: Spajanje komponenti


Razmotrimo vezu prvo s obzirom na jednu stranu mikrokontrolera, zatim drugu stranu. Dijagram za stranu klina 15-28:



Spojite masu na pin 22. Zatim napajajte pin 21 (analogni referentni napon za ADC) i pin 20 (napajanje za ADC). Na originalnoj Arduino ploči pin za LED je označen kao Pin 13, ali u odnosu na mikrokontroler to će biti pin 19. Dakle, anodu LED diode spojimo na 19. pin, a njenu katodu na masu preko otpornik od 220 Ohma. Prilikom programiranja, zapamtite da za svijetljenje LED-a trebate referencirati pin 13 (Pin 13).


Sada prijeđimo na suprotnu stranu (pinovi 1-14):



Spojite gumb na pin 1. Ovo će se koristiti za resetiranje mikrokontrolera. Prije snimanja nove skice u Arduino, morat ćete pritisnuti tipku za resetiranje. Otpornik od 10 KOhm mora biti spojen na napajanje od priključka gumba do pina 1. I drugi kontakt gumba mora biti uzemljen. Pin 8 (GND) također mora biti uzemljen, a pin 7 (VCC) mora biti spojen na napajanje. Oscilator od 16 MHz spojen je na pinove 9 i 10. Također dovodi do kondenzatora od 22 pF na masu.


Na lijevoj strani slike nalazi se konektor za programiranje. Funkcionalnost pinova, počevši od krajnje lijevog, je sljedeća: GND, NC, 5V, TX, RX, NC. NC znači da nigdje nije povezan. Spojimo RX pin na drugi pin kontrolera, a TX pin na treći. Sada možete programirati ovu domaću Arduino ploču.


Korak 5: Programiranje



Sada nam treba konverterska ploča USB-TTL sučelja. Pretvarač može biti npr. FT232RL. Nakon spajanja ovog adaptera na TX i RX pinove, kao i +5V strujni vod, morate pokrenuti Arduino IDE i odabrati primjer (odjeljak s datotekama primjera skice) Blink iz pododjeljka Digital. Sada trebate odabrati aktivni COM priključak USB adaptera, na primjer, COM1 ili COM9. Zatim, ovisno o korištenom mikrokontroleru, trebate odabrati ploču (odjeljak Tools/Board): Arduino Decimila, Duemilanove ili Nano w/ATmega128 ili Arduino Duemilanove w/ATmega328.

Opće informacije

Ova verzija Arduino kontrolera, ako ne najjednostavnija, svakako je najpristupačnija za samostalno napravljeno. Temelji se na već klasičnom Arduino sklopu na ATMega8 kontroleru.

Ukupno su razvijene dvije opcije:

  • Modularni
  • Jedna ploča

Modularna opcija

Ova verzija kontrolera sastoji se od tri ploče:

Opcija s jednom pločom

Sve je isto, samo na jednoj ploči:

Ploča je izrađena od jednostrane folije PCB i može se replicirati kod kuće koristeći, na primjer, LUT tehnologiju. Dimenzije ploče: 95x62

Programiranje mikrokontrolera

Nakon sastavljanja ploče, trebate "bljeskati" kontroler, učitati "bootloader" u njega. Za ovo će vam trebati programer. Uzimamo čisti kontroler tipa ATMega8, instaliramo ga u programator i povezujemo ga s računalom. Koristio sam AVR ISP mkII programator s ATMega8-48-88-168 adapterom. Programiramo pomoću Arduino IDE, on će automatski postaviti potrebne osigurače. Redoslijed je:

1. Odaberite programator (Servis > Programator > AVRISP mkII). Ako se ovaj programator koristi prvi put, morate instalirati upravljački program AVRISP-MKII-libusb-drv.zip. Ako koristite neki drugi programator osim AVRISP mkII, tada trebate odabrati onaj koji vam je potreban s popisa.

2. Odabir ploče za mikrokontroler (Alati > Ploča > Arduino NG ili stariji s ATmega8). Ako koristite neki drugi mikrokontroler osim ATmega8, tada trebate odabrati ploču koja mu odgovara.

3. Snimite bootloader (Alati > Snimite bootloader).

4. Instalirajte kontroler na ploču, i to je to, Arduino je spreman za rad.

Mikrokontroleri su odlična osnova za velika količina uređaja. U biti nalikuju računalu: trajna memorija; radna memorija; računalna jezgra; taktna frekvencija.

Među brojnim obiteljima i vrstama mikrokontrolera, početnici često biraju AVR Atmega kontrolere. No, programski jezik se može činiti kompliciranim, pa je učitelj iz Italije odlučio razviti jednostavnu i praktičnu ploču za učenje.

Rođen je Arduino ATmega8, na temelju kojeg možete sastaviti vrlo zgodan i jednostavan uređaj.

S ovim Arduino pločama dobivate brojne prednosti:

  • spreman razveden isprintana matična ploča sa svim potrebnim komponentama i priključcima;
  • Atmega mikrokontroleri;
  • mogućnost programiranja bez programatora – putem USB priključka;
  • napajanje iz bilo kojeg izvora 5-20 volti;
  • jednostavan programski jezik i mogućnost korištenja čistog C AVR-a bez izmjena na ploči ili firmveru.
  • ATmega8 frekvencija: 0-16 MHz
  • ATmega8 napon: 5V
  • ATmega8L frekvencija: 0-8 MHz
  • Frekvencija ATmega8A: 0-16 MHz

U stvarnosti, gotovo svi mikrokontroleri s radnim naponom od 5 volti rade na frekvenciji od 16 megaherca ako je uključen vanjski kvarcni rezonator. Ako uzmemo interni generator, frekvencije će biti: 8, 4, 2 i 1 MHz.

Arduino ATmega8 pinout

Ispod je pinout atmega8, koji se također može pronaći na službenoj web stranici proizvođača:

Dodavanje ATmega uređaja

Postoji jedna nijansa pri radu s ovim čipom - moramo napraviti neke promjene u jednoj datoteci kako bismo mogli dalje programirati Arduino ATmega8 mikrokontrolere.

Napravite sljedeće promjene u datoteci hardver/arduino/ploče.txt:

Atmega8o.name=ATmega8 (optiboot 16MHz ext) atmega8o.upload.protocol=arduino atmega8o.upload.maximum_size=7680 atmega8o.upload.speed=115200 atmega8o.bootloader.low_fuses=0xbf atmega8o.bootloader.high_fuses=0xdc atmega 8o.bootloader. put =optiboot50 atmega8o.bootloader.file=optiboot_atmega8.hex atmega8o.bootloader.unlock_bits=0x3F atmega8o.bootloader.lock_bits=0x0F atmega8o.build.mcu=atmega8 atmega8o.build.f_cpu=16000000L atmega8o.bu ild.core=arduino :arduino atmega8o . build.variant=arduino:standard #################################### # ################### a8_8MHz.name=ATmega8 (optiboot 8 MHz int) a8_8MHz.upload.protocol=arduino a8_8MHz.upload.maximum_size=7680 a8_8MHz.upload.speed = 115200 a8_8MHz.bootloader.low_fuses=0xa4 a8_8MHz.bootloader.high_fuses=0xdc a8_8MHz.bootloader.path=optiboot a8_8MHz.bootloader.file=a8_8MHz_a4_dc.hex a8_8MHz.build.mcu=atmega8 a8_8MHz.build. f_cpu=8000000L a8_8MHz.build. jezgra =arduino a8_8MHz.build.variant=standard ########################################## #### ##################### a8_1MHz.name=ATmega8 (optiboot 1 MHz int) a8_1MHz.upload.protocol=arduino a8_1MHz.upload.maximum_size=7680 a8_1MHz.upload. speed=9600 a8_1MHz.bootloader.low_fuses=0xa1 a8_1MHz.bootloader.high_fuses=0xdc a8_1MHz.bootloader.path=optiboot a8_1MHz.bootloader.file=a8_1MHz_a1_dc.hex a8_1MHz.build.mcu=atmega8 a8_1 MHz.build.f _cpu =1000000L a8_1MHz.build .core=arduino a8_1MHz.build.variant=standard ################################### ###### ######################### a8noboot_8MHz.name=ATmega8 (bez pokretanja 8 MHz int) a8noboot_8MHz.upload.maximum_size=8192 a8noboot_8MHz.bootloader.low_fuses=0xa4 a8noboot_8MHz .bootloader.high_fuses=0xdc a8noboot_8MHz.build.mcu=atmega8 a8noboot_8MHz.build.f_cpu=8000000L a8noboot_8MHz.build.core=arduino a8noboot_8MHz.buil d.varijanta=standard

Pa ako idemo na jelovnik Usluga → Naknada, tada ćemo vidjeti uređaje:

  • ATmega8 (optiboot 16MHz ext)
  • ATmega8 (optiboot 8 MHz int)
  • ATmega8 (optiboot 1 MHz int)
  • ATmega8 (bez pokretanja 8 MHz int)

Arduino ploče

Arduino se prodaje u mnogim varijantama; Glavna stvar koja ujedinjuje ploče je koncept gotovog proizvoda. Ne morate gravirati ploču i lemiti sve njezine komponente; dobit ćete proizvod spreman za upotrebu. Možete sastaviti bilo koji uređaj bez upotrebe lemilice. Sve veze u osnovnoj verziji izvode se pomoću matične ploče i kratkospojnika.

Srce ploče je mikrokontroler obitelji AVR. U početku je korišten mikrokontroler atmega8, ali njegove mogućnosti nisu neograničene, a ploča je bila podložna modernizaciji i promjenama. Standardna ploča koja je najčešća među hobistima je UNO verzija, ima mnogo varijanti, a veličina joj je usporediva s kreditnom karticom.

Ploča je potpuni analog svog većeg brata, ali u mnogo manjoj veličini; verzija arduino atmega168 bila je najpopularnija i najjeftinija, ali je zamijenjena drugim modelom - arduino atmega328, čija je cijena slična, ali više mogućnosti .

Sljedeći važan dio je tiskana ploča. Ožičen i zapečaćen u tvornici, izbjegava probleme s njegovim stvaranjem, jetkanjem i lemljenjem. Kvaliteta ploče ovisi o proizvođaču pojedinog primjerka, ali općenito je na visokoj razini. Ploča se napaja pomoću para linearnih stabilizatora, kao što je L7805, ili drugi LDO stabilizatori napona.

Priključni blok je izvrstan način da napravite pouzdanu utičnu vezu i brzo napravite promjene u strujnom krugu vaših prototipskih uređaja. Za one koji nemaju dovoljno standardnih konektora, tu su veće i snažnije ploče, primjerice, atmega2560 koja ima pedeset priključaka na raspolaganju za rad s periferijom.

Fotografija prikazuje ploču. Na temelju njega možete sastaviti prilično složenog robota, sustav pametne kuće ili 3D printer koristeći Arduino.

Ne treba misliti da su mlađe verzije slabe, primjerice, mikrokontroler atmega328, na kojem su izgrađeni modeli Uno, nano, mini i drugi, ima duplo više memorije u odnosu na model 168 - 2 KB RAM-a i 32 KB Flash memorije. To vam omogućuje snimanje više složeni programi u memoriju mikrokontrolera.

Projekti temeljeni na Arduino ATmega

Mikrokontroler u modernoj elektronici osnova je za bilo koji uređaj, od jednostavne LED bljeskalice do univerzalnih mjernih instrumenata, pa čak i opreme za automatizaciju proizvodnje.

Primjer 1

Možete napraviti tester s 11 funkcija na atmega32 mikrokontroleru.

Uređaj ima izuzetno jednostavan dijagram, koji koristi nešto više od desetak dijelova. Međutim, dobivate potpuno funkcionalan uređaj koji se može koristiti za mjerenje. Evo kratkog popisa njegovih mogućnosti:

  1. Test kontinuiteta strujnog kruga s mogućnošću mjerenja pada napona na diodnom spoju.
  2. Ohmmetar.
  3. Mjerač kapaciteta.
  4. Mjerenje otpora kondenzatora ili ESR.
  5. Definicija induktiviteta.
  6. Mogućnost brojanja impulsa.
  7. Mjerenje frekvencije - korisno u dijagnostici, na primjer, za provjeru PWM napajanja.
  8. Generator impulsa također je koristan u popravcima.
  9. Logički analizator omogućit će vam pregled sadržaja nizova digitalnih signala.
  10. Tester zener diode.

Primjer 2

Za radio amatere bit će korisno imati kvalitetnu opremu, ali stanica je skupa. Moguće je sastaviti stanicu za lemljenje vlastitim rukama; za to vam je potrebna Arduino ploča koja sadrži mikrokontroler atmega328.

Primjer 3

Za napredne radio amatere moguće je sastaviti više od proračunskog osciloskopa. Ovu lekciju ćemo objaviti u budućim člancima.

Da biste to učinili, trebat će vam:

  1. Arduino uno ili atmega
  2. TFT zaslon 5 inča.
  3. Mali set remena.

Ili njegov pojednostavljeni analog na Nano ploči i zaslonu iz Nokije 5110.

Takva sonda osciloskopa bit će korisna za autoelektričara i servisera elektroničke opreme.

Primjer 4

Događa se da su kontrolirani moduli udaljeni jedan od drugog ili mogućnosti jednog Arduina nisu dovoljne - tada možete sastaviti cijeli sustav mikrokontrolera. Kako bi se osigurala komunikacija između dva mikrokontrolera, vrijedi koristiti RS 485 standard.

Na fotografiji je prikazan primjer implementacije takvog sustava i unos podataka s tipkovnice.

Glazba u boji na Arduino ATmega8 mikrokontroleru

Za školski disko možete sastaviti DMU sa 6 kanala.

Tranzistore VT1-VT6 treba odabrati uzimajući u obzir snagu vaših LED dioda. To su komponente napajanja - potrebne su jer snaga mikrokontrolera nije dovoljna za pokretanje snažnih svjetiljki ili LED dioda.

Ako želite prebaciti mrežni napon i sastaviti glazbu u boji pomoću žarulja sa žarnom niti, umjesto toga morate instalirati triac i upravljački program. Dodajte svaki CMU kanal sa sljedećim dizajnom:

Uradi sam Arduino

Atmega2560 je moćan i napredan kontroler, ali lakše je i brže sastaviti prvu ploču baziranu na atmega8 ili 168.

Lijeva strana dijagrama je USB komunikacijski modul, drugim riječima, USB-UART/TTL pretvarač. On se, zajedno s kabelskim sveškom, može ukloniti iz strujnog kruga radi uštede prostora, sastaviti na zasebnoj ploči i spojiti samo za firmware. Potreban je za pretvorbu razina signala.

DA1 je L7805 regulator napona. Kao osnovu možete koristiti cijeli niz avr čipova koje ćete pronaći, na primjer, serije, arduino atmega32 ili sastaviti arduino atmega16. Da biste to učinili, morate koristiti različite bootloadere, ali za svaki od MK-ova morate pronaći svoj.

Možete to učiniti još jednostavnije i sastaviti sve na matičnoj ploči bez lemljenja, kao što je prikazano ovdje, koristeći 328. Atmega kao primjer.

Mikrokontroleri su jednostavni i zabavni - možete napraviti puno cool i zanimljivih stvari ili čak postati veliki izumitelj bez ikakvog obrazovanja ili znanja jezika niske razine. Arduino je korak u elektroniku od nule, što vam omogućuje da prijeđete na ozbiljne projekte i proučavanje složeni jezici, tip C avr i drugi.

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 i često jeftinije. Ovdje su poveznice na najbolji setovi te o pojedinačnim detaljima koje će vam svakako biti od koristi za proučavanje:

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
Set 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 ostaviti samo poveznice na Najnovija verzija programe i

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:

  • Nakon 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

booleov debounse (booleov posljednji) (

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 koju sam stvorio dodatna funkcija debounse za suzbijanje kontaktnog odbijanja. Na mojoj web stranici postoje informacije o odbijanju kontakata. Obavezno 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 svijetliti i brzo se gasiti. 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 koja 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 nestane 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 -- ) (