Bërja e Arduino nga e para. Të bëni vetë Arduino Uno Mini Çfarë është një Arduino me duart tuaja

Arduino është një platformë universale për mikrokontrolluesit DIY. Ka shumë mburoja (kartat e zgjerimit) dhe sensorë për të. Ky diversitet ju lejon të krijoni një sërë projektesh interesante që synojnë përmirësimin e jetës tuaj dhe rritjen e rehatisë së saj. Fushat e aplikimit të bordit janë të pakufishme: automatizimi, sistemet e sigurisë, sistemet për mbledhjen dhe analizën e të dhënave, etj.

Nga ky artikull do të mësoni se çfarë gjërash interesante mund të bëni me Arduino. Cilat projekte do të jenë spektakolare dhe cilat do të jenë të dobishme.

Çfarë mund të bëni me Arduino

Fshesë me korrent robotik

Pastrimi i një apartamenti është një detyrë rutinë dhe jo tërheqëse, veçanërisht pasi kërkon kohë. Mund ta ruani nëse i delegoni një pjesë të punëve të shtëpisë një roboti. Ky robot u mblodh nga një inxhinier elektronik nga Soçi - Dmitry Ivanov. Strukturisht, doli të jetë me cilësi të mjaftueshme dhe nuk është inferior në efikasitet.

Për ta montuar do t'ju duhet:

1. Arduino Pro-mini, apo ndonjë tjetër i ngjashëm dhe i përshtatshëm në përmasa...

2. Përshtatës USB-TTL nëse jeni duke përdorur Pro mini. Nëse keni zgjedhur Arduino Nano, atëherë nuk është i nevojshëm. Është instaluar tashmë në tabelë.

3. Drejtuesi L298N nevojitet për të kontrolluar dhe kthyer motorët DC.

4. Motorë të vegjël me kambio dhe rrota.

5. 6 sensorë IR.

6. Motor për turbinë (më e madhe).

7. Vetë turbina, ose më saktë shtytësi nga një fshesë me korrent.

8. Motor për furça (të vogla).

9. 2 sensorë përplasjeje.

10. 4 x 18650 bateri.

11. 2 konvertues DC-DC (ngritje dhe ulje).

13. Kontrollues për funksionimin (karikimin dhe shkarkimin) e baterive.

Sistemi i kontrollit duket si ky:

Dhe këtu është sistemi i energjisë:

Pastrues të tillë po evoluojnë, modelet e prodhuara në fabrikë kanë algoritme komplekse inteligjente, por mund të përpiqeni të bëni modelin tuaj që nuk do të jetë inferior në cilësi ndaj analogëve të shtrenjtë.

Të aftë për të prodhuar një fluks ndriçues të çdo ngjyre, ata zakonisht përdorin LED në kutinë e të cilave ka tre kristale që shkëlqejnë me ngjyra të ndryshme. Ato shiten për t'i kontrolluar ato; Shirit LED, prandaj, intensiteti i shkëlqimit të secilës prej tre ngjyrave rregullohet (veçmas).

Ju mund të bëni kontrolluesin tuaj RGB duke përdorur Arduino, për më tepër, ky projekt zbaton kontrollin përmes Bluetooth.

Fotografia tregon një shembull të përdorimit të një LED RGB. Për të kontrolluar shiritin, do t'ju duhet një furnizim shtesë me energji 12 V, më pas ata do të kontrollojnë portat e transistorëve me efekt në terren të përfshirë në qark. Rryma e karikimit të portës është e kufizuar nga rezistorët 10 kOhm, ato janë instaluar midis pinit Arduino dhe portës, në seri me të.

Duke përdorur një mikrokontrollues, mund të bëni një telekomandë universale telekomandë kontrollohet nga një telefon celular.

Për këtë do t'ju duhet:

    Arduino i çdo modeli;

    marrës IR TSOP1138;

    IR LED;

    Moduli Bluetooth HC-05 ose HC-06.

Projekti mund të lexojë kodet nga telekomandat e fabrikës dhe të ruajë vlerat e tyre. Pas së cilës mund ta kontrolloni këtë produkt të bërë në shtëpi nëpërmjet Bluetooth.

Kamera në internet është instaluar në një mekanizëm rrotullues. Është i lidhur me një kompjuter me të instaluar software. Ai bazohet në bibliotekën e vizionit kompjuterik - OpenCV (Open Source Computer Vision Library), pasi programi zbulon një fytyrë, koordinatat e lëvizjes së saj transmetohen përmes një kabllo USB.

Arduino komandon makinën e mekanizmit rrotullues dhe pozicionon lentet e kamerës. Një palë servo përdoren për të lëvizur kamerën.

Videoja tregon se si funksionon kjo pajisje.

Mbani një sy në kafshët tuaja!

Ideja është të zbuloni se ku bredh kafsha juaj, gjë që mund të jetë me interes për kërkime shkencore ose thjesht për argëtim. Për ta bërë këtë, duhet të përdorni një gjurmues GPS. Por për të ruajtur të dhënat e vendndodhjes në një lloj pajisje ruajtëse.

Në këtë rast, dimensionet e pajisjes luajnë një rol vendimtar këtu, pasi kafsha nuk duhet të ndjejë siklet prej saj. Për të regjistruar të dhëna, mund t'i përdorni për të punuar me kartat e kujtesës Micro-SD.

Më poshtë është një diagram i versionit origjinal të pajisjes.

Versioni origjinal i projektit përdori një tabelë TinyDuino dhe mburoja për të. Nëse nuk mund ta gjeni një, është mjaft e mundur të përdorni kopje të vogla Arduino: mini, mikro, nano.

Për furnizimin me energji u përdor një element Li-jon me kapacitet të ulët. Bateria e vogël zgjat rreth 6 orë. Autori përfundoi duke vendosur gjithçka në një kavanoz të prerë Tic-Tac. Vlen të përmendet se antena GPS duhet të drejtohet lart për të marrë lexime të besueshme të sensorëve.

Hajdut i bravave me kod

Për të thyer bravat e kombinuara duke përdorur Arduino, do t'ju duhet një motor servo dhe stepper. Ky projekt u zhvillua nga hakeri Samy Kamkar. Ky është një projekt mjaft kompleks. Funksionimi i kësaj pajisjeje tregohet në video, ku autori shpjegon të gjitha detajet.

Sigurisht, një pajisje e tillë nuk ka gjasa të jetë e përshtatshme për përdorim praktik, por është një pajisje e shkëlqyer demonstruese.

Arduino në muzikë

Më shumë gjasa, ky nuk është një projekt, por një demonstrim i vogël se si kjo platformë është përdorur nga muzikantët.

Makinë daulle në Arduino. Është e dukshme për faktin se ky nuk është një kërkim i zakonshëm i mostrave të regjistruara, por, në parim, gjenerimi i zërit duke përdorur pajisje "hardware".

Vlerësimet e pjesëve:

    Transistor i tipit NPN, për shembull 2n3904 - 1 pc.

    Rezistenca 1 kOhm (R2, R4, R5) - 3 copë.

    330 Ohm (R6) - 1 copë.

    10 kOhm (R1) - 1 copë.

    100 kOhm (R3) - 1 copë.

    Kondensator elektrolitik 3.3 uF - 1 pc.

Që projekti të funksionojë, do t'ju duhet të lidhni bibliotekën për zgjerimin e shpejtë të serisë Fourier.

Ky është një projekt mjaft i thjeshtë dhe interesant "ju mund t'u tregoni miqve tuaj".

3 projekte robotësh

Robotika është një nga fushat më interesante për geeks dhe vetëm ata që duan të bëjnë diçka të pazakontë me duart e tyre, vendosa të bëj një përzgjedhje të disa projekteve interesante.

Roboti BEAM në Arduino

Për të montuar një robot në këmbë me katër këmbë do t'ju duhet:

    Për të lëvizur këmbët ju nevojiten servomotorë, për shembull, Tower Hobbies TS-53;

    Një copë teli bakri me trashësi mesatare (në mënyrë që të përballojë peshën e strukturës dhe të mos përkulet, por jo shumë e trashë, sepse nuk ka kuptim);

    Mikrokontrollues - Pllaka AVR ATMega 8 ose Arduino e çdo modeli;

    Për shasinë, dizajni thotë se është përdorur një kornizë Sintra. Është një lloj plastika që përkulet në çdo formë kur nxehet.

Si rezultat do të merrni:

Vlen të përmendet se ky robot nuk drejton makinën, por ecën, mund të kapërcejë dhe të ngjitet në lartësi deri në 1 cm.

Për disa arsye, ky projekt më kujtoi robotin nga filmi vizatimor Wall-e. E veçanta e tij është përdorimi i tij për karikimin e baterive. Lëviz si makinë, me 4 rrota.

Pjesët përbërëse të tij:

    Shishe plastike me madhësi të përshtatshme;

  • mami-babi kërcyes;

    Panele diellore me një tension dalës 6V;

    Si dhurues i rrotave, motorëve dhe pjesëve të tjera - një makinë e kontrolluar me radio;

    Dy servo me rrotullim të vazhdueshëm;

    Dy servo konvencionale (180 gradë);

    Mbajtëse për bateritë AA dhe për "kurorë";

    Sensori i përplasjes;

    LED, fotorezistorë, rezistorë fiks 10 kOhm - 4 copë gjithsej;

    Dioda 1n4001.

Këtu është baza - një tabelë Arduino me një proto-mburojë.

Kështu duken pjesët e këmbimit nga - rrotat.

Struktura është pothuajse e montuar, sensorët janë instaluar.

Thelbi i punës së robotit është se ai shkon në dritë. Ai ka nevojë për bollëk për lundrim.

Kjo është më shumë një makinë CNC sesa një robot, por projekti është shumë argëtues. Është një makinë vizatimi me 2 boshte. Këtu është një listë e përbërësve kryesorë nga të cilët përbëhet:

    Disqet (DVD)CD - 2 copë;

    2 drejtues për motorët stepper A498;

    servo drive MG90S;

    Arduino Uno;

    Furnizimi me energji elektrike 12V;

    Stilolaps me top dhe elementë të tjerë të dizajnit.

Disku optik përdor blloqe me një motor stepper dhe një shufër udhëzuese që pozicionojnë kokën optike. Motori, boshti dhe karroca hiqen nga këto blloqe.

Ju nuk do të jeni në gjendje të kontrolloni një motor stepper pa pajisje shtesë, kështu që përdoren tabela të posaçme drejtuese, është më mirë nëse një radiator motori është instaluar në to në momentin e fillimit ose ndryshimit të drejtimit të rrotullimit.

Procesi i plotë i montimit dhe funksionimit tregohet në këtë video.

Shihni gjithashtu 16 projektet më të mira Arduino nga AlexGyver:

konkluzioni

Ky artikull mbulon vetëm një mostër të vogël të gjithçkaje që mund të bëni në këtë platformë popullore. Në fakt, gjithçka varet nga imagjinata juaj dhe detyra që i vendosni vetes.

Arduino është një platformë elektronike e mahnitshme për krijimin e projekteve radio amatore. Është e lehtë për t'u përdorur dhe shumë më lirë se bordet e zhvillimit profesional.



Por Arduino mund të bëhet edhe më lirë duke mos blerë një pllakë fabrike, por duke e bërë vetë. Dhe ky material do t'ju tregojë se si të bëni një Arduino me duart tuaja, duke përdorur komponentë nga dyqani juaj lokal i radios.


Hapi 1: Komponentët



Për Arduino na duhen:


Mikrokontrolluesi ATmega 168
Tabela e prototipit (440 ose 840 kunja)
22 tela AWG
Rregullatori i tensionit 7805
Dy LED
Dy rezistorë 220 Ohm
Një rezistencë 10 KΩ
Dy kondensatorë 10 µF
Oscilator 16 MHz
Dy kondensatorë 22 pF
Butoni
lidhës pin
Konvertuesi i ndërfaqes RS232-USB në 3.3 V

Hapi 2: organizimi i zinxhirit të energjisë


Para së gjithash, ne duhet të furnizojmë me energji mikrokontrolluesin tonë. Për ta bërë këtë, ne do të përdorim një rregullator të tensionit 7805 +5 V Figura tregon diagramin e lidhjes.



Që rregullatori të funksionojë siç duhet, tensioni i hyrjes duhet të jetë më i madh se +5 V, për shembull, një bateri +9 V është e përshtatshme si burim energjie në katrorët e kuq (+) dhe të zi (-). Kjo pasohet nga një kondensator 10 µF. Meqenëse është elektrolitike, duhet të respektohet polariteti. Në mënyrë tipike, plumbi i anodës (+) është më i gjatë se ai i katodës (-). Gjithashtu, shumica e kondensatorëve janë shënuar me një shirit në anën e katodës. Pastaj ka dy tela që "transferojnë" fuqinë në një pjesë tjetër të bordit. Më pas vjen rregullatori i tensionit. Këtu duhet të keni kujdes edhe me polaritetin. Nëse e shikoni nga përpara, kunja e majtë do të jetë hyrja (Vin), ajo e mesme do të jetë toka (GND) dhe kunja e djathtë do të jetë dalja (Vout). Ne gjithashtu lidhim një kondensator 10 µF në dalje, duke vëzhguar polaritetin.


Për lehtësi më të madhe të përdorimit të linjës së energjisë, le ta "hedhim" atë në anën e majtë të tabelës:



Është gjithashtu një ide e mirë të shtoni një tregues LED për t'ju bërë të ditur nëse energjia është e lidhur aktualisht apo jo. LED lidhet përmes një rezistence 220 Ohm (të shënuar me dy vija të kuqe dhe një kafe në figurë). Ne e lidhim rezistencën me anodën (zakonisht një prizë të gjatë) të LED. E vendosim katodën në tokë.



Hapi 3: Kunjat Arduino


Tani duhet të marrim mikrokontrolluesin. Në këtë rast, ne përdorim ATmega 168 të Atmel, por mund të përdorni edhe ATmega 328. ATmega 328 funksionon me të njëjtën shpejtësi dhe ka të njëjtat caktime pine, por ka dy herë më shumë memorie flash dhe memorie EEPROM.


Caktimet e pinit për Arduino mund të shihen në figurën e mëposhtme:



Hapi 4: Lidhja e komponentëve


Le të shqyrtojmë fillimisht lidhjen në lidhje me njërën anë të mikrokontrolluesit, pastaj anën tjetër. Diagrami për anën e kunjit 15-28:



Lidheni tokën me pinin 22. Më pas ndizni në pinin 21 (tensioni referues analog për ADC) dhe pinin 20 (energjia për ADC). Në tabelën origjinale Arduino, kunja për LED është caktuar si Pin 13, por në lidhje me mikrokontrolluesin do të jetë pin 19. Prandaj, ne e lidhim anodën e LED-së me kutinë e 19-të dhe e lidhim katodën e saj me tokën përmes një rezistencë 220 Ohm. Kur programoni, mbani mend se për të ndezur LED duhet t'i referoheni pinit 13 (Pin 13).


Tani le të kalojmë në anën e kundërt (kunjat 1-14):



Lidhni një buton me pinin 1. Kjo do të përdoret për të rivendosur mikrokontrolluesin. Përpara se të regjistroni një skicë të re në Arduino, do t'ju duhet të shtypni butonin e rivendosjes. Një rezistencë 10 KOhm duhet të lidhet me furnizimin me energji elektrike nga lidhja e butonit në pinin 1. Dhe kontakti i dytë i butonit duhet të jetë i tokëzuar. Pini 8 (GND) gjithashtu duhet të jetë i tokëzuar dhe kunja 7 (VCC) duhet të lidhet me energjinë. Oscilatori 16 MHz është i lidhur me kunjat 9 dhe 10. Ai gjithashtu çon në 22 kondensatorë pF në tokë.


Në anën e majtë të figurës ka një lidhës programimi. Funksionaliteti i kunjave, duke filluar nga më majtas, është si më poshtë: GND, NC, 5V, TX, RX, NC. NC do të thotë që nuk është i lidhur askund. Ne e lidhim pinin RX me pinin e dytë të kontrolluesit dhe pinin TX me të tretën. Tani mund ta programoni këtë tabelë Arduino të bërë vetë.


Hapi 5: Programimi



Tani na duhet një tabelë konvertuese e ndërfaqes USB-TTL. Konvertuesi mund të jetë, për shembull, FT232RL. Pasi ta lidhni këtë përshtatës me kunjat TX dhe RX, si dhe me linjën e energjisë +5V, duhet të nisni Arduino IDE dhe të zgjidhni shembullin (Seksioni i skedarëve të skemave të shembullit) Blink nga nënseksioni Digital. Tani duhet të zgjidhni portën aktive COM të përshtatësit USB, për shembull, COM1 ose COM9. Më pas, në varësi të mikrokontrolluesit të përdorur, ju duhet të zgjidhni një tabelë (seksioni i veglave/bordit): Arduino Decimila, Duemilanove ose Nano w/ATmega128 ose Arduino Duemilanove w/ATmega328.

Informacion i pergjithshem

Ky version i kontrolluesit Arduino, nëse jo më i thjeshti, sigurisht që është më i arritshëm i bërë vetë. Ai bazohet në qarkun tashmë klasik Arduino në kontrolluesin ATMega8.

Në total, janë zhvilluar dy opsione:

  • Modular
  • Bordi i vetëm

Opsioni modular

Ky opsion i kontrolluesit përbëhet nga tre borde:

Opsioni i bordit të vetëm

Gjithçka është e njëjtë, vetëm në një tabelë:

Pllaka është bërë nga fletë PCB e njëanshme dhe mund të përsëritet në shtëpi duke përdorur, për shembull, teknologjinë LUT. Përmasat e pllakës: 95x62

Programimi i mikrokontrolluesit

Pas montimit të tabelës, duhet të "flash" kontrolluesin, të ngarkoni "bootloader" në të. Për këtë ju duhet një programues. Marrim një kontrollues të pastër të tipit ATMega8, e instalojmë në programues dhe e lidhim me kompjuterin. Kam përdorur programuesin AVR ISP mkII me përshtatësin ATMega8-48-88-168. Ne programojmë duke përdorur Arduino IDE, ai automatikisht do të vendosë pjesët e nevojshme të siguresave. Sekuenca është:

1. Zgjidhni një programues (Shërbimi > Programuesi > AVRISP mkII). Nëse ky programues përdoret për herë të parë, duhet të instaloni drejtuesin AVRISP-MKII-libusb-drv.zip. Nëse jeni duke përdorur një programues tjetër përveç AVRISP mkII, atëherë duhet të zgjidhni atë që ju nevojitet nga lista.

2. Përzgjedhja e një bord për mikrokontrolluesin (Tools > Board > Arduino NG ose më i vjetër me ATmega8). Nëse jeni duke përdorur një mikrokontrollues tjetër përveç ATmega8, atëherë duhet të zgjidhni tabelën që përputhet me të.

3. Regjistro bootloader (Tools > Record bootloader).

4. Instaloni kontrolluesin në tabelë, dhe kaq, Arduino është gati për të punuar.

Mikrokontrolluesit janë një bazë e shkëlqyer për sasi e madhe pajisje. Në thelb, ato i ngjajnë një kompjuteri: memorie e përhershme; RAM; bërthama kompjuterike; frekuenca e orës.

Midis shumë familjeve dhe llojeve të mikrokontrolluesve, fillestarët shpesh zgjedhin kontrollorët AVR Atmega. Sidoqoftë, gjuha e programimit mund të duket e ndërlikuar, kështu që një mësues nga Italia vendosi të zhvillojë një tabelë të thjeshtë dhe të përshtatshme për të mësuar.

Lindi Arduino ATmega8, në bazë të të cilit mund të montoni një pajisje shumë të përshtatshme dhe të thjeshtë.

Me këto borde Arduino ju merrni një sërë avantazhesh:

  • gati i divorcuar bordi i qarkut të printuar me të gjithë komponentët dhe lidhësit e nevojshëm;
  • Mikrokontrollues Atmega;
  • aftësia për të programuar pa programues - përmes portit USB;
  • furnizimi me energji elektrike nga çdo burim 5-20 volt;
  • gjuhë e thjeshtë programimi dhe aftësia për të përdorur C AVR të pastër pa modifikime në tabelë ose firmware.
  • Frekuenca ATmega8: 0-16 MHz
  • Tensioni ATmega8: 5V
  • Frekuenca ATmega8L: 0-8 MHz
  • Frekuenca ATmega8A: 0-16 MHz

Në realitet, pothuajse të gjithë mikrokontrolluesit me një tension operativ prej 5 volt funksionojnë në një frekuencë prej 16 megahertz nëse përfshihet një rezonator i jashtëm kuarci. Nëse marrim gjeneratorin e brendshëm, frekuencat do të jenë: 8, 4, 2 dhe 1 MHz.

Pinout Arduino ATmega8

Më poshtë është pika e atmega8, e cila gjithashtu mund të gjendet në faqen zyrtare të internetit të prodhuesit:

Shtimi i pajisjeve ATmega

Ekziston një nuancë kur punoni me këtë çip - duhet të bëjmë disa ndryshime në një skedar në mënyrë që të mund të programojmë më tej mikrokontrolluesit Arduino ATmega8.

Bëni ndryshimet e mëposhtme në skedar hardware/arduino/boards.txt:

Atmega8o.name=ATmega8 (optiboot 16MHz ext) atmega8o.upload.protocol=arduino atmega8o.upload.maximum_size=7680 atmega8o.upload.speed=115200 atmega8o.bootloader.xboxogh=0 ga8 o.bootloader. shteg =optiboot50 atmega8o.bootloader.file=optiboot_atmega8.hex atmega8o.bootloader.unlock_bits=0x3F atmega8o.bootloader.lock_bits=0x0F atmega8o.build.mcu=atmega8 atmega_60.000 uino: 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. = 115200 a8_8MHz.bootloader.low_fuses=0xa4 a8_8MHz.bootloader.high_fuses=0xdc a8_8MHz.bootloader.path=optiboot a8_8MHz.bootloader.file=a8_8MHz_8A.8MHz.8MHz MHz.ndërtim.f _cpu=8000000L a8_8MHz.ndërtim .core =arduino a8_8MHz.build.variant=standard ############################################################## ##### ##################### a8_1MHz.name=ATmega8 (optiboot 1 MHz int) a8_1MHz.upload.protocol=arduino a8_1MHz.upload.madhësia_maksimale= 7680 a8_1MHz.shpejtësia e ngarkimit=9600 a8_1MHz.bootloader.low_fuses=0xa1 a8_1MHz.bootloader.high_fuses=0xdc a8_1MHz.bootloader.path=optiboot a8_1MHz1_Hz.boot. .build.mcu=atmega8 a8_1MHz.build.f_ cpu=1000000L a8_1MHz.build .core=arduino a8_1MHz.build.variant=standard ############################### ####### ######################### a8noboot_8MHz.name=ATmega8 (pa boot 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_cpu0noot a.8MHz boot_8MHz.build.variant=standard

Pra, nëse shkojmë në menu Shërbimi → Tarifa, atëherë do të shohim pajisjet:

  • ATmega8 (optiboot 16 MHz ext)
  • ATmega8 (optiboot 8 MHz int)
  • ATmega8 (optiboot 1 MHz int)
  • ATmega8 (pa boot 8 MHz int)

Pllakat Arduino

Arduino shitet në shumë variante; Gjëja kryesore që bashkon bordet është koncepti i produktit të përfunduar. Ju nuk keni nevojë të gdhendni tabelën dhe të lidhni të gjithë përbërësit e saj, ju merrni një produkt të gatshëm për përdorim. Ju mund të montoni çdo pajisje pa përdorur një hekur saldimi. Të gjitha lidhjet në versionin bazë kryhen duke përdorur një dërrasë buke dhe kërcyes.

Zemra e tabelës është mikrokontrolluesi i familjes AVR. Fillimisht u përdor mikrokontrolluesi atmega8, por aftësitë e tij nuk janë të pakufizuara, dhe bordi iu nënshtrua modernizimit dhe ndryshimeve. Bordi standard që është më i zakonshëm në mesin e hobiistëve është versioni UNO, ka shumë variacione të tij dhe madhësia e tij është e krahasueshme me një kartë krediti.

Bordi është një analog i plotë i vëllait të tij më të madh, por në një madhësi shumë më të vogël, versioni arduino atmega168 ishte më i popullarizuari dhe më i lirë, por ai u zëvendësua nga një model tjetër - arduino atmega328, kostoja e të cilit është e ngjashme, por më shumë aftësi; .

Pjesa tjetër e rëndësishme është bordi i qarkut të printuar. I lidhur me tel dhe i vulosur në fabrikë, shmang problemet me krijimin, gdhendjen dhe saldimin e tij. Cilësia e bordit varet nga prodhuesi i shembullit të veçantë, por, në përgjithësi, është në një nivel të lartë. Pllaka mundësohet duke përdorur një palë stabilizues linearë, si p.sh L7805, ose stabilizues të tjerë të tensionit LDO.

Një bllok terminali është një mënyrë e shkëlqyer për të bërë një lidhje të besueshme me prizë dhe për të bërë shpejt ndryshime në qarkun e pajisjeve tuaja prototip. Për ata që nuk kanë lidhje standarde të mjaftueshme, ka borde më të mëdha dhe më të fuqishme, për shembull, atmega2560, i cili ka pesëdhjetë porte të disponueshme për të punuar me pajisjet periferike.

Fotografia tregon tabelën. Bazuar në të, ju mund të montoni një robot mjaft kompleks, një sistem shtëpie inteligjente ose një printer 3D duke përdorur Arduino.

Ju nuk duhet të mendoni se versionet më të reja janë të dobëta, për shembull, mikrokontrolluesi atmega328, mbi të cilin janë ndërtuar modelet Uno, nano, mini dhe të tjera, ka dy herë më shumë memorie në krahasim me modelin 168 - 2 KB RAM dhe 32 KB. e memories Flash. Kjo ju lejon të regjistroni më shumë programe komplekse në memorien e mikrokontrolluesit.

Projektet e bazuara në Arduino ATmega

Një mikrokontrollues në elektronikë moderne është baza për çdo pajisje, nga një ndezës i thjeshtë LED deri te instrumentet matëse universale dhe madje edhe pajisjet e automatizimit të prodhimit.

Shembulli 1

Mund të bëni një testues me 11 funksione në një mikrokontrollues atmega32.

Pajisja ka jashtëzakonisht diagram i thjeshtë, i cili përdor pak më shumë se një duzinë pjesë. Megjithatë, ju merrni një pajisje plotësisht funksionale që mund të përdoret për të marrë matje. Këtu është një listë e shkurtër e aftësive të tij:

  1. Testi i vazhdimësisë së qarkut me aftësinë për të matur rënien e tensionit në kryqëzimin e diodës.
  2. Ohmmetër.
  3. Matësi i kapacitetit.
  4. Rezistenca e kondensatorit ose matja e ESR.
  5. Përkufizimi i induktivitetit.
  6. Mundësia e numërimit të pulseve.
  7. Matja e frekuencës - e dobishme në diagnostikim, për shembull, për të kontrolluar PWM të furnizimit me energji elektrike.
  8. Gjeneratori i pulsit është gjithashtu i dobishëm në riparime.
  9. Analizuesi logjik do t'ju lejojë të shikoni përmbajtjen e shpërthimeve të sinjaleve dixhitale.
  10. Testues i diodës Zener.

Shembulli 2

Do të jetë e dobishme për amatorët e radios të kenë pajisje me cilësi të lartë, por stacioni është i shtrenjtë. Është e mundur të montoni një stacion saldimi me duart tuaja për këtë ju nevojitet një tabelë Arduino që përmban një mikrokontrollues atmega328.

Shembulli 3

Për radio amatorët e avancuar, është e mundur të montoni një oshiloskop më shumë sesa buxhetor. Ne do ta botojmë këtë mësim në artikujt e ardhshëm.

Për ta bërë këtë do t'ju duhet:

  1. Arduino uno ose atmega
  2. Ekran TFT 5 inç.
  3. Një grup i vogël rripash.

Ose analogu i tij i thjeshtuar në tabelën Nano dhe ekran nga Nokia 5110.

Një sondë e tillë oshiloskopi do të jetë e dobishme për një elektricist auto dhe riparues të pajisjeve elektronike.

Shembulli 4

Ndodh që modulet e kontrolluara të jenë të largëta nga njëri-tjetri ose aftësitë e një Arduino nuk janë të mjaftueshme - atëherë mund të montoni një sistem të tërë mikrokontrollues. Për të siguruar komunikimin midis dy mikrokontrolluesve, ia vlen të përdorni standardin RS 485.

Fotografia tregon një shembull të zbatimit të një sistemi të tillë dhe futjen e të dhënave nga tastiera.

Muzikë me ngjyra në mikrokontrolluesin Arduino ATmega8

Për një disko shkolle, mund të montoni një DMU me 6 kanale.

Transistorët VT1-VT6 duhet të zgjidhen duke marrë parasysh fuqinë e LED-ve tuaj. Këta janë komponentë të fuqisë - ato nevojiten sepse fuqia e mikrokontrolluesit nuk është e mjaftueshme për të ndezur llambat ose LED të fuqishëm.

Nëse dëshironi të ndërroni tensionin e rrjetit dhe të montoni muzikë me ngjyra duke përdorur llambat inkandeshente, duhet të instaloni triac dhe një drejtues. Shtoni çdo kanal CMU me dizajnin e mëposhtëm:

Arduino DIY

Atmega2560 është një kontrollues i fuqishëm dhe i avancuar, por është më e lehtë dhe më e shpejtë të montoni tabelën tuaj të parë bazuar në atmega8 ose 168.

Ana e majtë e diagramit është një modul komunikimi USB, me fjalë të tjera, një konvertues USB-UART/TTL. Ai, së bashku me parzmoren, mund të hiqet nga qarku për të kursyer hapësirë, të montohet në një tabelë të veçantë dhe të lidhet vetëm për firmware. Është e nevojshme për të kthyer nivelet e sinjalit.

DA1 është rregullatori i tensionit L7805. Si bazë, mund të përdorni një gamë të tërë çipash avr që do të gjeni, për shembull, seri, arduino atmega32 ose të montoni një arduino atmega16. Për ta bërë këtë, ju duhet të përdorni ngarkues të ndryshëm, por për secilën nga MK-të duhet të gjeni tuajin.

Mund ta bëni edhe më thjeshtë dhe të montoni gjithçka në një dërrasë buke pa saldim, siç tregohet këtu, duke përdorur si shembull Atmega-n 328.

Mikrokontrolluesit janë të lehtë dhe argëtues - ju mund të bëni shumë gjëra interesante dhe interesante ose madje të bëheni një shpikës i shkëlqyeshëm pa ndonjë arsimim ose njohuri të gjuhëve të nivelit të ulët. Arduino është një hap drejt elektronikës nga e para, i cili ju lejon të kaloni në projekte serioze dhe të studioni gjuhë komplekse, lloji C avr dhe të tjerë.

Në këtë artikull, vendosa të bashkoj një udhëzues të plotë hap pas hapi për fillestarët e Arduino. Ne do të shikojmë se çfarë është Arduino, çfarë ju duhet për të filluar të mësoni, ku të shkarkoni dhe si të instaloni dhe konfiguroni mjedisin e programimit, si funksionon dhe si të përdorni gjuhën e programimit, dhe shumë më tepër që janë të nevojshme për të krijuar të drejta të plota pajisje komplekse të bazuara në familjen e këtyre mikrokontrolluesve.

Këtu do të përpiqem të jap një minimum të kondensuar në mënyrë që të kuptoni parimet e punës me Arduino. Për një zhytje më të plotë në botën e mikrokontrolluesve të programueshëm, kushtojini vëmendje seksioneve dhe artikujve të tjerë të kësaj faqeje. Unë do të lë lidhje me materiale të tjera në këtë faqe për një studim më të detajuar të disa aspekteve.

Çfarë është Arduino dhe për çfarë shërben?

Arduino është një komplet elektronik ndërtimi që lejon këdo të krijojë një sërë pajisjesh elektro-mekanike. Arduino përbëhet nga softuer dhe harduer. Pjesa e softuerit përfshin një mjedis zhvillimi (një program për shkrimin dhe korrigjimin e firmware-it), shumë biblioteka të gatshme dhe të përshtatshme dhe një gjuhë programimi të thjeshtuar. Pajisja përfshin një linjë të madhe mikrokontrolluesish dhe module të gatshme për ta. Falë kësaj, puna me Arduino është shumë e lehtë!

Me ndihmën e Arduino ju mund të mësoni programim, inxhinieri elektrike dhe mekanikë. Por ky nuk është vetëm një konstruktor arsimor. Bazuar në të, ju mund të bëni pajisje vërtet të dobishme.
Duke filluar nga dritat e thjeshta ndezëse, stacionet e motit, sistemet e automatizimit dhe duke përfunduar me sistemet e shtëpive inteligjente, makinat CNC dhe mjetet ajrore pa pilot. Mundësitë nuk kufizohen as nga imagjinata juaj, sepse ka një numër të madh udhëzimesh dhe idesh për zbatim.

Kompleti fillestar Arduino

Për të filluar të mësoni Arduino, duhet të blini vetë pllakën e mikrokontrolluesit dhe pjesë shtesë. Është më mirë të blini një komplet fillestar Arduino, por ju mund të zgjidhni gjithçka që ju nevojitet vetë. Unë rekomandoj të zgjidhni një grup sepse është më i lehtë dhe shpesh më i lirë. Këtu janë lidhjet për setet më të mira dhe në detaje individuale që patjetër do të jenë të dobishme për ju për të studiuar:

Kompleti bazë Arduino për fillestarët:Blej
Komplet i madh për trajnime dhe projekte të para:Blej
Set i sensorëve dhe moduleve shtesë:Blej
Arduino Uno është modeli më themelor dhe më i përshtatshëm nga linja:Blej
Pllakë buke pa saldim për mësim të lehtë dhe prototip:Blej
Set i telave me lidhës të përshtatshëm:Blej
Kompleti LED:Blej
Kompleti i rezistencës:Blej
Butonat:Blej
Potenciometra:Blej

Mjedisi i zhvillimit të Arduino IDE

Për të shkruar, korrigjuar dhe shkarkuar firmware, duhet të shkarkoni dhe instaloni Arduino IDE. Ky është një program shumë i thjeshtë dhe i përshtatshëm. Në faqen time të internetit kam përshkruar tashmë procesin e shkarkimit, instalimit dhe konfigurimit të mjedisit të zhvillimit. Kështu që këtu do të lë vetëm lidhje Versioni i fundit programet dhe

Version Dritaret Mac OS X Linux
1.8.2

Gjuha e programimit Arduino

Kur keni në duar një tabelë mikrokontrollues dhe një mjedis zhvillimi të instaluar në kompjuterin tuaj, mund të filloni të shkruani skicat tuaja të para (firmware). Për ta bërë këtë, duhet të njiheni me gjuhën e programimit.

Programimi Arduino përdor një version të thjeshtuar të gjuhës C++ me funksione të paracaktuara. Ashtu si në gjuhët e tjera të programimit të ngjashme me C-në, ekzistojnë një sërë rregullash për shkrimin e kodit. Këtu janë ato më themeloret:

  • Çdo udhëzim duhet të ndiqet nga një pikëpresje (;)
  • Përpara se të deklaroni një funksion, duhet të specifikoni llojin e të dhënave të kthyer nga funksioni, ose të anuloni nëse funksioni nuk kthen një vlerë.
  • Është gjithashtu e nevojshme të tregohet lloji i të dhënave përpara se të deklarohet një ndryshore.
  • Komentet janë caktuar: // Inline dhe /* bllok */

Mund të mësoni më shumë rreth llojeve të të dhënave, funksioneve, variablave, operatorëve dhe konstruksioneve gjuhësore në faqen në Nuk keni nevojë të mbani mend dhe mbani mend të gjithë këtë informacion. Gjithmonë mund të shkoni te libri i referencës dhe të shikoni sintaksën e një funksioni të caktuar.

I gjithë firmware Arduino duhet të përmbajë të paktën 2 funksione. Këto janë setup() dhe loop().

funksioni i konfigurimit

Në mënyrë që gjithçka të funksionojë, duhet të shkruajmë një skicë. Le të ndezim LED-in pasi të shtypni butonin dhe të fiket pas shtypjes tjetër. Këtu është skica jonë e parë:

// variablat me kunjat e pajisjeve të lidhura int switchPin = 8; int ledPin = 11; // variabla për të ruajtur gjendjen e butonit dhe LED boolean lastButton = LOW; rryma booleanButton = ULËT; boolean ledOn = false; void setup() ( pinMode(switchPin, INPUT); pinMode(ledPin, OUTPUT); ) // funksion për debounse debounse boolean(boolean fundit) (rryma boolean = digitalRead(switchPin); if(last != aktuale) ( vonesë ( 5 aktuale = dixhitaleRead(switchPin) rrymë kthyese) void loop() (currentButton = debounse(lastButton); if(lastButton == LOW && currentButton == LARTË) (ledOn = !ledOn;) lastButton = aktualButton; (ledPin, ledOn);

// variabla me kunjat e pajisjeve të lidhura

int switchPin = 8 ;

int ledPin = 11 ;

// variablat për të ruajtur gjendjen e butonit dhe LED

boolean lastButton = LOW ;

rrymë booleanButton = ULËT ;

boolean ledOn = false;

konfigurimi i zbrazët () (

pinMode (SwitchPin, INPUT);

pinMode (ledPin, OUTPUT);

// funksion për debouncing

debounse boolean (e fundit logjike) (

rryma boolean = leximi dixhital (SwitchPin);

nëse (e fundit != aktuale) (

vonesë (5);

aktual = dixhitalLeximi (SwitchPin);

rryma e kthimit;

void loop() (

aktualButton = debounse(LastButton);

nëse (Butoni i fundit == I ULËT &&Butoni aktual == I LARTË) (

ledOn = ! ledOn ;

lastButton = aktualButton ;

digitalWrite (ledPin, ledOn);

Në këtë skicë që kam krijuar funksion shtesë debounse për të shtypur kërcimin e kontaktit. Ka informacion në lidhje me fryrjen e kontaktit në faqen time të internetit. Sigurohuni që të shikoni këtë material.

PWM Arduino

Modulimi i gjerësisë së pulsit (PWM) është procesi i kontrollit të tensionit duke përdorur ciklin e punës të një sinjali. Kjo do të thotë, duke përdorur PWM ne mund të kontrollojmë pa probleme ngarkesën. Për shembull, ju mund të ndryshoni pa probleme ndriçimin e një LED, por ky ndryshim në shkëlqim nuk merret duke ulur tensionin, por duke rritur intervalet e sinjalit të ulët. Parimi i funksionimit të PWM është paraqitur në këtë diagram:

Kur aplikojmë PWM në LED, ajo fillon të ndizet shpejt dhe të fiket. Syri i njeriut nuk është në gjendje ta shohë këtë sepse frekuenca është shumë e lartë. Por gjatë xhirimit të videos, me shumë mundësi do të shihni momente kur LED nuk ndizet. Kjo do të ndodhë me kusht që shpejtësia e kuadrove të kamerës të mos jetë shumëfish i frekuencës PWM.

Arduino ka një modulator të integruar të gjerësisë së pulsit. Mund të përdorni PWM vetëm në ato kunja që mbështeten nga mikrokontrolluesi. Për shembull, Arduino Uno dhe Nano kanë 6 kunja PWM: këto janë kunjat D3, D5, D6, D9, D10 dhe D11. Kunjat mund të ndryshojnë në dërrasat e tjera. Ju mund të gjeni një përshkrim të bordit për të cilin jeni të interesuar

Për të përdorur PWM në Arduino ekziston një funksion Ai merr si argument numrin e pinit dhe vlerën PWM nga 0 në 255. 0 është 0% mbushje me një sinjal të lartë dhe 255 është 100%. Le të shkruajmë një skicë të thjeshtë si shembull. Le ta bëjmë LED-in të ndizet pa probleme, të presim një sekondë dhe të shuhet po aq pa probleme, e kështu me radhë ad infinitum. Këtu është një shembull i përdorimit të këtij funksioni:

// LED është i lidhur me pinin 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); vonesë (5); ) )

// LED i lidhur me pinin 11

int ledPin = 11 ;

konfigurimi i zbrazët () (

pinMode (ledPin, OUTPUT);

void loop() (

për (int i = 0; i< 255 ; i ++ ) {

analogWrite(ledPin, i);

vonesë (5);

vonesë (1000);

për (int i = 255; i > 0; i -- ) (