Treperi LED. Blynk fenomen i njegove alternative treptaju projektima

Dakle, nastavite savladati. Prva lekcija neće zahtijevati nikakve materijale od vas i jednostavno dizajnirane da se upozna sa jednostavnošću Arduino. Kao što je u većini programa, upoznavanje počinje sa "Zdravo svijetom!" Tako ćemo započeti s najjednostavnijim LED-om. Ono što vam je potrebno: pridružite se Arduino, USB kabl za povezivanje Arduina na računar, Arduino programiranje školjke. Školjke se proizvode novim, ali prepoznata je najstabilnija verzija 1.0.6. Skinuti Možeš to učiniti službena web stranica. Ovo je verzija za Windows, za ljuljačku Linux. Odmah je vrijedno razumjeti da će nastaviti studiju, trebat će vam propuštena ploča (nalog u Kini ili kupite u internetskoj trgovini), žice (možete kupiti tamo ili pronaći stare sustavske jedinice i izvući žice koje idu na prednju ploču prije Čak i USB na prednjoj ploči spojen na pojedinačne žice, a ne cijeli priključak, oni će vam postaviti, povucite žicu, na drugi kraj da biste napadnuli igle iz konektora na ploči, a zatim nosite mali komad Smanjite cijev do mjesta tako da žica nije slomljena na mjestu lemljenja, grijanja i imate gotovu žicu (utikač s rupom) - tata (Plume iz ploče).

Domaće žice za Arduino

Na isti način, napravite žičanu tatu, bit će korisni za uključivanje makateske ploče i arduino pričvršćivanja mužjaka. Usput, čak možete učiniti takve žice u obliku petlje - toliko pogodnije za povezivanje Arduino sa blokovima), pa, blokovi s kojima ćete raditi (kupuju se u Kini ili u internetskim trgovinama). Izbor senzora i aktuatora je ogroman i ne ograničava vašu fantaziju. Ali u početku će biti dovoljno termičkog senzora Dallas., indikator (naravno, naravno i 7-segmentne LED diode, ali jedu trenutnu nekoliko puta više od 1602, a to će negativno utjecati na prehranu iz baterija i baterija, a prikazane su samo digitalne informacije), a samo se digitalne informacije prikazuju) relejSve što će vam trebati da uvijek možete kupiti. Za one koji nisu ograničeni u sredstvima, bolje je odmah kupiti set. Iako je skupo, odmah odbacuje sve probleme s nabavkom senzora i možete napraviti uređaje odmah. Izbor će i dalje biti samo za vas. Ok, govorio je, bliže temi.

Spajamo Arduino na računar, pokrenite program, u programu idemo na uslugu - odabiru naknadu, svi mogu raditi!

Uzgred, kineski klon može se sastaviti mikrocircuit cH340. A vaš računar će zahtijevati vozača u USB port. Da biste instalirali, preuzmite upravljački program, raspakirajte i kada biste zatražili vozača, navedite mapu sa raspakiranim datotekama.

Bez gubitka vremena radimo sledeće: Primjer datoteke-Basics-treptaj. Otvorit će se novi prozor


Treptaj na Arduinu.

u kojem ćete vidjeti program, možete odmah kliknuti na drugo dugme na programskoj ploči sa slikom strelice, program se sastavlja i prenosi u Arduino, LED na ploči će bljesnuti! 1 drugo opekotine, 1 sekunda ne gori. Razmotrite sam program. Prvo ćete vidjeti komentare označene znakovima / * Tekst * / i // tekst . Prvo znači da je tekst iz znaka /* Prije znaka */ To je komentar i prevodilac jednostavno ne nastavi i ne uzima u obzir ove informacije, vrlo je prikladno pisati u takvim kombinacijama opis programa, njenog algoritma, autorstva i još mnogo toga. Znak // komentari samo niz. Štoviše, ovaj znak možete napisati i na početku linije i nakon bilo kakvih redaka programa, ali ni u kojem slučaju prije programa programa reda neće pronaći cijeli red za komentar.

Na primjer:

digitalwrite (13, visoko); // okrenite LED na (visoko je nivo napona)- tačno

// okrenite LED na (visoko je napon nivo) digitalni (13, visok);- pogrešno

Ako želite napraviti komentar ispred operatera u jednoj liniji, a zatim koristite kombinaciju / * Tekst * / , oni. Niz će izgledati ovako: / * Okrenite LED na (visoko je nivo napona) * / digitalwrite (13, visoko);

Pokušajte češće komentirati svoje postupke, prevodilac se smanjuje iz programa i vi, s vremenom, samo zaboravite šta i kako ste učinili.

Dalje, vidjet ćete sljedeći tekst:

// funkcija podešavanja pokreće se jednom kada pritisnete resetiranje ili napajanje ploče
podešavanje nevaženja () () (
// Inicijalizirajte digitalni PIN 13 kao izlaz.
pinmode (13, izlaz);
}

U komentaru je napisano da se funkcija instalacije naziva samo jednom kada ispustite ili prepisujete Arduino. Oni. Ili pritisnite tipku za resetiranje na samoj ploči ili ponovo povežite napajanje.

Zatim ide operatera podešavanje nevaljanja () (....)- Odjeljak za postavljanje početnika za ovu skicu (ovo je naziv programa za Arduino).

U sljedećih komentara piše se da definiramo 13 pin Arduino kao izlaz. Želim se sjetiti da je stranica opisana na stranici, tako da je 13 izlaz digitalni (ono što je napisano u potpisima na izlaze) i može uzeti samo 2 države - uključivo (istovremeno postoji napon od oko 5V ), tj Logički 1 (jedinica) ili invalid (bez napona) I.E. Logika 0 (nula). Uz nonolo, još uvijek postoji mala napetost na PIN-u, ali oni su niski u odnosu na logičku jedinicu. Pored toga, na 13 igla je povezano preko LED otpornika na samom brodu, treperi kada se program izvrši.

pinmode (13, izlaz);- Pinmode - preveden je kao PIN režim, 13-pinski broj, izlaz izlaz, I.E. Niz znači da će 13 izlaza raditi kao izlaz, izlaz, ako napišete ulaz, već će biti digitalni ulaz, I.E. Možete preraditi digitalne podatke koji ulaze u ovaj PIN.

Ako se povežete na 13 igla LED s uzastopnim povezanim otpornikom na 1kom, a drugoj nozi do GND PIN-a, tada će LED bljeskati s LED na ploči. Ako vas ne budete učvrsti, promijenite polaritet LED-a.

Sljedeće linije su program opisa portova:

// Funkcija petlje radi preko i iznova zauvijek
nevažna petlja () (
Digitalwrite (13, visoko); // okrenite LED na (visoko je nivo napona)

Digitalwrite (13, nisko); // skrenite LED off izrada napona niske
Kašnjenje (1000); // pričekajte sekundu


void petlja () (...)
- Odjeljak programa u kojem su akcije opisane za rad, podaci u ovom ciklusu mogu se razlikovati i obrađivati \u200b\u200bu skladu sa uvjetima. Komentar izvještava da će sljedeći ciklus biti izveden iznova i iznova

digitalwrite (13, visoko); // okrenite LED na (visoko je nivo napona) - DigitalWrite - Napišite digitalni signal, 13-broj pinova, visokog nivoa, I.E. Logička jedinica (napon oko 5V), dodatni komentar Šta na LED navodimo visokom logičkom nivou.

kašnjenje (1000); // pričekajte drugo odlaganje (kašnjenje), čekamo 1000 milisekundi ili 1 sekunda. Željeni operator, posebno prilikom obrade preša gumba, u ovom se slučaju koristi kao naznaka da čekam 1 sekundu nakon uključivanja 13 igle.

digitalwrite (13, nisko); // okrenite LED tako da napon nisko - poput prvog reda ciklusa pokazuje da 13 igla treba da se prebaci, tek sada na nivo niskog niskog nivoa, logičke nule (napon oko 0v).

kašnjenje (1000); // pričekajte sekundu - zapravo odgađanje 1 sekundu prije ciklusa, počet će ponovo.

Pokušajte promijeniti vrijednosti kašnjenja, vidjet ćete da se mijenja trajanje snage i pauza između bljeskala.

Program je najjednostavniji, razumljiv od prve, ali postoje nedostaci u njemu: operater kašnjenja uzrokuje Arduino da čeka dok ne završi svoj posao, i.e. U ovom trenutku, MK ne obrađuje nikakve podatke, jednostavno gledano, čeka pogubljenje operatera, u redu ako su vrijednosti niske, a ako trebate brzo obraditi podatke? Za 1 sekundu, podaci se mogu mijenjati više od stotinu puta, a MC ih ne uzima u obzir, čeka se program. Da ne biste propustili dolazne podatke, možete koristiti sljedeću skicu. Otvorena skica: Primjer datoteke - Digital - BlinkwithionDelay. Otvara se sljedeći prozor sadržaja:

/ * Trepće bez odlaganja

Uključuje se i isključuje svjetlosna dioda (LED) spojena na digitalni
PIN, bez upotrebe funkcije kašnjenja (). To znači da drugi kod
Može se pokrenuti u isto vrijeme, a da LED kode ne prekidate.

Krug:
* LED pričvršćeni sa PIN-a 13 na zemlju.
* Napomena: Na većini Arduinosa već postoji LED na ploči
To je priložen PIN-u 13, tako da nije potreban hardver za ovaj primer.

objavljeno 2005.
By David A. Mellis
Datum izmene 8. februara 2010
Autor: Paul Stoffregen.
Datum izmene 11. stu 2013
Autor: Scott Fitzgerald.

Ovaj primjer kod je u javnom domenu.

http://www.arduino.cc/hr/tutorial/blinkwithoutdelay.
*/

// konstante se neće promeniti. Ovdje se koristi za postavljanje PIN broja:
Const Int Ledpin \u003d 13; // broj LED PIN-a

// varijable će se promijeniti:
Int LedState \u003d nisko; // LedState koji se koristi za postavljanje LED-a

// Generalno, srućete da koristite "Neincign dugo" za varijable koje držite vrijeme
// Vrijednost će brzo postati prevelika za int za pohranu
nepotpisan dugi previosmillis \u003d 0; // će pohraniti poslednje LED ved

// konstante se neće promijeniti:
Dugi interval Const \u003d 1000; // Interval na kojem će treptati (milisekundi)

podešavanje nevaženja () () (

Pinmode (Ledpin, izlaz);
}

void petlja ()
{




// treptaj LED.

ako (tekućiMillis - prethodniMillis\u003e \u003d interval) (


IfState \u003d\u003d Nizak)
ledstate \u003d visoko;
Drugo.
ledstate \u003d nisko;



}
}

Preskočimo sve komentare i idu na string:

// konstante se neće promeniti. Ovdje se koristi za postavljanje PIN broja:
const Int Ledpin \u003d 13; // broj LED PIN-a

Nizi za komentar navodi da konstante ne trebaju mijenjati, mislim na ime konstante. Ali možete promijeniti broj značenja PIN-a.

const Int Ledpin \u003d 13; // broj LED PIN CONST-a znači konstantno, tj. Konstantna vrijednost ne može se mijenjati u programu, int-skraćeno iz riječi cijeli broj, znači tip podataka koji mogu uzeti vrijednosti od -32768 na 32768. Za cijeli broj mjesta postoji još 5 podataka. Koja je razlika? Razlikuju se u veličini, i.e. Na primjer, ukupno 256 vrijednosti može se zabilježiti u varijabli bajta, razlika u veličini-int-2 bajta (osim Arduino-a, uvodi već 4 bajta, ali vrijednosti uzimaju se od -2147483848 na 2147483647) , bajt kao napisano, 1 bajt. U velikim programima, ušteda memorije vrlo je važna i stoga pokušavati izbjeći gdje je moguće koristiti više "teških" tipova ako možete učiniti "svjetlosne" vrste. Na primjer, bilo bi dovoljno za bajt tipa jer 13 Odgovara ograničenje između 0 i 255, a ostali digitalni igle također bi se uklopili u ovu vrstu podataka. Ledpin - ime stalne same. 13 - Vrijednost konstante, iz komentara iznad, jasno je da će se ova konstanta koristiti za odabir Pine.

// varijable će se promijeniti:
int LedState \u003d nizak; // LedState koji se koristi za postavljanje LED-a

Komentar kaže da će se varijabla promijeniti u programu

int LedState \u003d nizak; // Ledstate Koristi se za postavljanje LED-a - najavljuje varijablu Ledstate s početnom malom vrijednošću (logičkom nuli) i komentaru koji će se varijabla LedState koristiti za LED (LED ne našim).

// Generalno, srućete da koristite "Neincign dugo" za varijable koje držite vrijeme
// Vrijednost će brzo postati prevelika za int za pohranu
// će pohraniti poslednje LED ved

Komentar kaže da morate koristiti varijablu vrstu dugačak dugačak, sljedeći redak upozorava da će vrijednost biti prevelika za varijablu INT-Type za skladištenje. Neintred dugo se koristi za pohranu brojeva i može pohraniti vrijednosti od 0 do 4294967295 zauzimajući 4 bajta.

nepotpisan dugi previosmillis \u003d 0; // pohranjivat će se zadnje LED-a, stvara se nepotpisana dugačka tipa premijerna varijabla i dodjeljuje vrijednost 0, pohranjit će vrijeme kada će status LED-a biti ažuriran.

// konstante se neće promijeniti:
dugi interval Const \u003d 1000; // Interval na kojem će treptati (milisekundi)

Također je konstanta, poput duge, dizajnirana za pohranu brojeva, zauzima 4 bajta i mogu uzeti vrijednosti od -2147483648 na 2147483647, interval - naziv varijable, 1000 - vrijednost varijable. Komentari su potpisali da će to biti interval treptanja u milisekundi.

podešavanje nevaženja () () (
// Postavite digitalni pin kao izlaz:
Pinmode (Ledpin, izlaz);
}

Funkciju poznato prethodnom primjeru, samo ovdje ga označava Idu, ne jasno i kroz varijablu ledpin.što je u nama opisano kao konstantno i ima vrijednost 13. Oni su ekvivalentni činjenici da ako bi bilo napisano pinmode (13, izlaz);

Pa, stvarno tijelo programa:

void petlja ()
{
// evo gdje biste stavili kod koji treba stalno raditi.

// provjerite je li vrijeme za treptanje LED-a; To jest, ako
// razlika između trenutnog vremena i prošli put kada ste trepnili
// LED je veći, a zatim interval na kojem želite
// treptaj LED.

Ovdje su opisani komentari kako program funkcionira. Usput, bilo je moguće koristiti kombinaciju / * Tekst * / Umjesto pisanja u svakom redu // . Kaže da, kada je razlika između struje i prošli put kada LED blokirala više od navedenog intervala, onda morate ponovo upaliti LED ponovo.

nepotpisan dugački trenutniMillil \u003d miliis ();

Varijabla tekućih vrsta nepotrebne dugih koji pohranjuje podatke za operatera millis (). millis ()- Interni operater MK označava koliko milisekundi radi Arduino.

ako (tekućiMillis - prethodniMillis\u003e \u003d interval) (
// sačuvaj zadnji put da trepneš LED LED
PrethodniMillis \u003d AquetMillis;

Dostigli izračun. Sada je prekrasan ako operator stanja (ako) - koji se koristi, uživajte i iskoristit ćete ga vrlo dugo. Razmislite o tome detaljnije. Dizajnersko stanje izgleda ovako:

ako (stanje \u003d\u003d vrijednost) (

Akcija ako se izvrši stanje

drugo (

Akcija ako se stanje ne izvršava

Znak \u003d\u003d može varirati na bilo kojim drugim znakovima\u003e<,>=, <=, != (не равно). Условие как и значение может высчитываться. Если условие не выполнено то программа переходит в секцию else. Довольно часто секцию else не используют а просто пишут программу дальше. Это уже зависит от алгоритма работы программы и должно быть продумано заранее. Условий может быть сколько угодно и они могу быть вложены друг в друга, т.е. пока не выполнится одно условие- другое даже выполняться не начнет.

Dakle, ako izjava odbije prethodnu vrijednost iz trenutnih milisekundi i uspoređuje intervalnu varijablu. Ako je vrijednost manja, program izlazi iz stanja i započinje prva, ako je više ili jednako, varijabla prethodneMillis dodijeljena vrijednosti teente-a i programa ide na sljedeći korak:

// ako je LED isključen uključite i obrnuto:
IfState \u003d\u003d Nizak)
ledstate \u003d visoko;
Drugo.
ledstate \u003d nisko;

U ovom se odjeljku ispada što je stanje u LED-u, ako se na LED-u dat nizak nivo niskog dat na LED-u, varijabla LedState dodijeljena je visokim i obrnuto (drugo odjeljak) ako je postojao visok nivo visokog, Varijabla Ledstate dodijeljena je niskoj vrijednosti. Imajte na umu da je ovdje već korišten bez (). To je dozvoljeno ako trebate biti obrađeni u odjeljku izvršenja ne više od 1 redaka.

// Podesite LED s LedStateom od varijable:
Digitalwrite (Ledpin, LedState);

Pa, na kraju, pišite na vrijednost varijable Ledpina (bilo je jednak 13), vrijednost varijable LedState. Oni. Ovaj niz se može zabilježiti kao digitalni napitak (13, nizak); ili digitalni pisari (13, visoko); Ovisno o vremenu rada MK. Imajte na umu da se koristi digitalni operater, on određuje da je potrebno prenijeti vrijednost u logičkom formatu, I.E. nula ili jedinica. Više ne može prihvatiti nikakve vrijednosti. Sve druge vrijednosti Ledstate automatski će se prikazati logičnoj 1.

}
}

Dakle, rad drugog programa je demontiran. Koja je razlika između prvog i drugog programa ako obavljaju istu akciju, ali u drugom pismenom jednom u još 5 žica? Kao što sam rekao da prvi program jednostavno čeka kada će izjava kašnjenja završiti svoj rad i tek tada će i dalje raditi. Tijekom kašnjenja nećete moći nositi nikakve podatke. Drugi program omogućava vam primanje, obradu i davanje podataka tijekom trepće LED. Samo dodajte željeni kôd u odjeljak petlje i uživajte u radu! Moj prijatelj je izračunat da kôd radi u drugom slučaju oko 4 miliona puta u sekundi, tako da praktički nema kašnjenja.

Pa, sada je najvažnija stvar. Nakon nekog vremena, nakon igranja, reći ćete: "Dakle, to je lagana sijalica ... gdje ga mogu koristiti? Samo pokazatelj koji uređaj radi ... "Nećete biti potpuno u pravu. Imate alat koji možete sa tim može učiniti je samo vaše vino ako ne možete smisliti bilo šta. Kao da neko daje kompletan set alata i zatražiti nešto što treba učiniti, kao što je skup alata za stolarije za ruku za ruku muškarca, neko će navesti istu ploču sav svoj život, zadivljujući čistoću s kojom se avionske biljke i pokušavaju Kalujte komad željeza kao oštriji, a ko će to učiniti u ovom trenutku visokokvalitetni namještaj. Ko će biti adresiran samo vama. Moj savjet, negdje sam pročitao, ne sjećam se, "ne tražite probleme, potražite njihovu odluku!" Ako uživate u ovom pristupu, imat ćete puno manje od svega takvog. Pa, sad o treptaju od strane LED. Na Internetu, gomila savjeta o korištenju različitih pokazatelja, naravno, prekrasna je, daje neki značaj autoru itd. ... ali boli najvažniji način spašavanja igle i sjećanja. Da biste povezali indikator 1602, morate snimiti 6 digitalnih igle + 2 žice za dovod! To je ako ne koristite I2C protokol. Pored toga, biblioteka na LCD-u zauzima 4kb. I niko ne misli na daljnju funkcionalnost, dobro, igrajući indikator i svi su također bacali. Sigurno se niko nije pitao šta bi se moglo dovesti do kojih je jedan doveo da primi sve potrebne informacije? Na primjer greške. Objavio funkciju i prenio kôd greške u njega. Prikladno je, nema potrebe za rastavljanjem koda i samo vidite šta ne radi. Ili, na primjer, moj prijatelj je okupio plinski kotlovni kontroler na Arduino Mini, I.E. U pogledu temperature u kući (uklanja se senzorom Dallas), cirkulacijska pumpa je uključena / isključena. Kada je pumpa bila isključena, kotao je zagrijavan na 40 ° C i stao na stabljiku, temperatura u sobi je bila uključena. Pumpa je uključena, a kotao je hlađen samim rashladnošću. Pojavila se vrlo zgodna i značajna ušteda plina! Ukupno, za neke 200-300 rubalja, spasio je svaki dan nekoliko plinskih kockica! On je tada, sve se mislilo, kako pratiti temperaturu u sobi bez povezivanja bilo kojeg WiFi-a i računara, predlažem da LED treperi onoliko puta u sobi ... usudi se konačno - 20-25 puta Pogrešno za bilo koga, onda predlažem da prvo treperimo, desetine stepena i kroz pauze, jedinice, na primer, 24 stepena, prvo upletene, nakon pauze 4 više. Sve! Nema više pokazatelja! I može se primijeniti u bilo kojem području! Potražite nestandardne pristupe i pokušajte uštedjeti energiju i unose. Čak i ako koristite I2C. Sretno svima u razvoju MK i posebno Arduino.

U ovoj lekciji naučit ćete programirati vašu Arduino naknadu na primjer treptajući ugrađene LED.

Potrebni elementi

Za ovaj primjer, trebat će vam Arduino (u ovom slučaju - Arduino Uno R3, ali možete riješiti ovaj primjer, imati različitu naknadu) i USB kabl (tip A (4x12 mm) - B (7x8 mm) - u više Detalj možete pročitati na wikiju).

Šta je "L" LED


Na Arduino UNO-u nalaze se redovi konektora tipa na stranama ploče koji se koriste za povezivanje perifernih elektroničkih uređaja ili "štitnika".

Pored toga, odbor ima ugrađeni LED (engleski - LED), koji možete kontrolirati uz pomoć skice. Ovaj je ugrađeni uvjetovano na pozivu "L" LED, kao što je uobičajeno na mnogim resursima engleskog jezika.

Lokacija ovog LED na ploči označena je na fotografiji u nastavku.


Učitavanje primjera "treptaj" (treperi) u Arduino IDE

Kada povežete novu ploču na lični računar, imajte na umu da LED počinje bljesak, jer sve naknade od proizvođača dolaze sa već "puhanim" skicom "treptaj".

U ovoj lekciji reprogramiramo našu naknadu promjenom frekvencije treptaja LED-a. Ne zaboravite da konfigurišete Arduino IDE školjke i odaberete željenu serijsku luku za koju ste povezali naknadu.

Vrijeme je da provjerite svoju vezu i programirate naknadu.

U Arduino IDE školjci postoji velika kolekcija skica koja su spremna za upotrebu. Među njima je primjer koji čini treptanje "L" LED.

Otvorite primjer "treptaj" koji se nalazi u datoteci - primjeri stavke izbornika - 01.basics

Nakon otvaranja proširite prozor Arduino IDE školjke tako da možete svu skicu u jednom prozoru.

Skice iz primjera uključenih u Arduino IDE pružaju režim samo za čitanje ("samo za čitanje"). To jest, možete ih preuzeti na naknadu, ali nakon promjene koda, nećete ih moći uštedjeti u istoj datoteci.

Promijenit ćemo skicu, tako da prije svega trebate uštedjeti vlastiti primjerak koji možete promijeniti.

Uštedjeli ste kopiju skice "treptaj" u svojoj biblioteci. Sada možete otvoriti ovu datoteku u bilo kojem trenutku klikom na datoteku - karticu za sherchbook.

Učitavanje primjera "treptaj" (treperi) na naknadu

Povežite svoju Arduino ploču na računar pomoću USB-a i provjerite tip ploče ("Tip ploče") i serijski port ("serijski port") na koji je povezan.

Trenutna podešavanja prikazana su na dnu prozora Arduino IDE školjke.

Kliknite na gumb "Upload" ("upload")

Tijekom preuzimanja na dnu IDE prozora pojavit će se klizač za preuzimanje i poruke. Isprva, fraza "sastavljanje" ("sastavljanje sketnica .."), što znači da proces pretvorbe vaše skice u format pogodan za preuzimanje kotiza Arduino.

Na kraju će se status mijenjati u "preuzimanje završeno" ("Gotovo prijenos"). Poruka koja se pojavljuje u tekstualnoj liniji prikazat će informacije da učitana skica zauzima 1,084 bajta od 32,256 dostupne.

Ponekad kada vas sastavlja, možda ćete imati sličnu grešku:

Razlozi mogu biti donekle: Niste povezivali ploču na računar; Niste instalirali potrebne upravljačke programe; Odabrali ste pogrešan serijski port.

Objašnjenja za skicu "treptaj"

Ispod je kôd za skiciranje "treptaj".

Uključuje LED na jednu sekundu, a zatim isključen za jednu sekundu, referentno.

Ovaj primjer kod je u javnom domenu.

// PIN 13 ima LED povezanu na većini arduino dasaka.

// Dajte mu ime:

pinmode (LED, izlaz);

kašnjenje (1000); // pričekajte sekundu

Prvo što treba obratiti pažnju je: U ovoj skici, mnogi "komentari". Imajte na umu da komentari nisu upute za program. To je isključivo objašnjenja pojedinačnih funkcija i zadataka koji se izvode u određenoj fazi Kodeksa. Ovo nije obavezan dio koda. Svi između znakova / * i * / na vrhu skice su komentari u kojima su opisani zadaci programa. Postoje i komentari koji su ograničeni na jedan red. Oni počinju s likovima // i završavaju se prema zadanim postavkama na kraju linije. Prvi važan, u stvari, dio ovog koda je niz:

U komentarima iznad niza naznačeno je da dodijelimo ime borova na kojem je LED povezana. U većini arduinskih ploča bit će 13 pin. Koristi se funkcija "Setup". Ponovo, u komentarima je naznačeno da se funkcija aktivira nakon pritiska na tipku "Reset". Takođe, ova se značajka pokreće kada će se odbor ponovo pokrenuti iz bilo kojih drugih razloga. Na primjer, napajanje ili nakon učitavanja skice.

// rutinska podešavanja pokreće se jednom kada se peš resetiramo:

// Inicijalizirajte digitalni pin kao izlaz.

pinmode (LED, izlaz);

Svaki Sketch Arduino dužan je uključiti funkciju "Setup" i dio u kojem možete dodati vlastite upute, zarobljenike između (). U našem primjeru, u funkciji je prisutna samo jedna naredba, što ukazuje da je PIN, koji koristimo, konfiguriran na "izlaz" ("izlaz"). Takođe je potrebno za svaku skicu je funkcija ciklusa "petlje". Za razliku od funkcije "Setup", koja radi nakon ponovnog pokretanja, funkcija "petlje" nakon završetka naredbe, počet će ponovo.

// rutina petlje se zauvijek pokreće iznova i iznova:

digitalWrite (LED, visok); // okrenite LED na (visoko je nivo napona)

kašnjenje (1000); // pričekajte sekundu

digitalwrite (LED, nizak); // skrenite LED off izrada napona niske

kašnjenje (1000); // pričekajte sekundu

U tijelu funkcije "LOOP", uključi se (visoka), ta vrijednost kasni za 1000 milisekundi (1 sekunda), LED je isključen (nizak) i ostaje isključen za 1 sekundu, nakon čega će se bicikl ostati za 1 sekundu Ponovite.

Promijenite frekvenciju treperi LED

Da biste osigurali češće treptanje LED, morate promijeniti parametar naveden u zagradama () u naredbi "kašnjenje".

Kao što je već spomenuto, period odgode je naznačen u milisekundi. To je, kako bi se dovelo da se LED bljeskalo, potrebno je promijeniti vrijednost sa 1000 na 500., kao rezultat, pauza između uključivanja / isključivanja LED-a bit će polovina sekunde, a LED će bljesnuti brže.

Da biste provjerili, ne zaboravite preuzeti promijenjenu skicu na kotizu Arduino.

U ovom smo članku napravili pokušaj da se okupimo na jednom mjestu vezu za sve najpopularnije arduino biblioteke, a pripremili su i izbor najpopularnijih biblioteka. Prije ili kasnije bilo koji arduiner se suočio s potrebom da se koristi biblioteka. Uostalom, upotreba gotovog koda snažno smanjuje vrijeme za programiranje. Nadamo se da će se prikupiti na jednom mjestu i opremiti se vezama za preuzimanje i kratke primjere upotrebe, informacije o popularnim bibliotekama pomoći će vam u vašim projektima.

Arduino biblioteka je određeni program koji se ne čuva u skici, već u vanjskim datotekama koje se mogu povezati na vaš projekt. Biblioteka pohranjuje različite metode i strukture podataka koje su potrebne za pojednostavljenje rada sa senzorima, indikatorima, modulima i drugim komponentama. Korištenje gotovih programa značajno će pojednostaviti rad na projektima, jer se možete fokusirati na glavnu logiku, bez provođenja vremena na puno sitnica.

Danas je došlo do ogromnog broja biblioteka koje se mogu lako pronaći i preuzeti na Internetu. Velika većina biblioteka odnosi se na besplatnu licencu, tako da nema potrebe za traženjem "piratske" verzije. Glavna stvar je učiti.

Standardne biblioteke Arduino

Počnite poznanstvo kod biblioteka bolje je sa službene stranice, gdje možete pronaći impresivan popis standardnih modula i veza do službenih partnerskih biblioteka.

Lista ugrađenih biblioteka (isporučuju se sa distribucijom Arduino IDE):

  • EEPROM.
  • Ethernet / Ethernet 2
  • Firmata.
  • Liquidcrystal
  • Servo
  • SoftwereSerial
  • Stepper.

Izbor biblioteka u jednoj arhivi

Ako nemate vremena za detaljnu analizu skupova web lokacija i želite preuzeti sve što trebate raditi s Arduinovim vanjskim uređajima u jednoj arhivi, pripremili smo popis 40 najpopularnijih biblioteka. Jednostavno i raspakirajte njegov sadržaj (mapu biblioteka) u mapu Arduino.

Biblioteke za ekrane, indikatore i displeje

Biblioteka I2C.

Biblioteka dizajnirana za rad perifernog uređaja pomoću I2C protokola.

Primjer upotrebe:

#ifndef i2c_master_h.

#Define i2c_master_h.

void I2C_init (nevažeći) - kreiranje objekta, postavljanje ispravne frekvencije za gumu.

uint8_t i2c_start () - postavljanje veze s novim uređajem.

uint8_t i2c_write () - evidentiranje podataka na trenutnom uređaju.

uint8_t i2c_read_ack () - čitanje bajta s uređaja, zahtjev sljedećeg bajta.

Biblioteka tekućineCrystal

Standardna biblioteka instalirana u Arduino IDE. Dizajniran za kontrolu prikaza LCD tekućih kristala.

Primjer upotrebe:

#Include. . Također, da se ne bi pogriješilo prilikom pisanja, možete se povezati kroz skicu - uvoznu biblioteku - tekući izbornik.

Dizajner klase - Liquiqucrastal (...). Argumenti su RS, RW, en, uradi ... D7. Prva 3 koja odgovara zaključcima RS, RW-a i omogućili signali. Zaključci D odgovaraju brojevima sabirnice podataka na koji je displej povezan.

praznini započinju (COLS, redovi) je metoda koja inicijalizira sučelje zaslona. Argumenti su broj znakova u liniji (COLS) i broj redaka (reda). Ova metoda treba prvo definirati.

praid CreateChar (broj, podaci) je metoda potrebna za stvaranje korisničkih likova.

Biblioteka Utft.

Standardna biblioteka potrebna za rad Arduino sa TFT ekranima različitih vrsta. Svi podržani displeji predstavljeni su u pratećem dokumentu sa bibliotekom.

Primjer upotrebe:

#Include.

Utft (); - Kreirajte instancu UTFT-a.

textrus (Char * ST, INT X, INT Y); - Metoda koja vam omogućava da prikažete niz iz pokazivača. Na primjer, Char * DHT \u003d "Temperatura, C";

textrus (string st, int x, int y); - Zaključak niza koji označava u parametru. Na primjer, G.TEXTrus ("Temperatura, C", 0, 20);

Biblioteka Ledctrol

Omogućuje vam kontrolu displeja polugemenata, kombinirajte niz LED-a u jednu matricu.

Primjer upotrebe:

#Include.

LedControl LC1 \u003d LEDCONTROL ();

- Potrebno za inicijalizaciju biblioteke. Mora se sastoji od četiri argumenta - PINS brojevi na koji je zaslon povezan (prva 3 argumenta) i broj povezanih čipova.

writEarduinoon7Sement () je prikaz na ekranu svih brojeva od 0 do 15. Koristi funkcije SETCHAR () za znakove A i D i SETROW () da biste stvorili izgled nedostajućih znakova.

LedControl.Shutdown () - Onemogući sliku.

setintensity () - kontrola svjetline.

Biblioteke za rad sa datumom i vremenom Arduino

Biblioteka RTCLIB

Biblioteka za rad sa satom u stvarnom vremenu, pojednostavljujuća interakcija s Arduinom.

Primjer upotrebe:

#Include.

RTC_DS1307 RTC; - Odabir senzora (u ovom slučaju DS1307).

rTC.ADJUST (DateTime (datum, vrijeme)); - Postavljanje vremena i kalendara.

dayoftheweek () - povlačenje dana u sedmici. Argument od 0 do 6, 0 - nedjelja.

Biblioteka Timelib.

Omogućuje Arduinu da u ovom trenutku primi informacije o datumu i vremenu.

Primjer upotrebe:

#Include.

Vrijeme (); - Stvaranje instancije.

pretpostavka (T); - Postavljanje vremena. Argument T - sat, minut, drugo, dan, mjesec i godina.

timestatus (); - pokazuje da li je uspostavljeno vreme.

podešavanje (podešavanje); - Postavljanje vremena.

Biblioteka DS1307.

Biblioteka za praktičnu interakciju DS1307 sa Arduinom pomoću žičane biblioteke.

Primjer upotrebe:

#Include.

klasa DS1307RTC - Stvaranje DS1307 objekta.

Pretpostavi () - Vrijeme postavljanja.

get () - Reads RTC vraća primljeni datum u Posix formatu.

Set (Time_T T) - Datum zapis u RTC-u

Biblioteka DS 3231.

Dizajniran za upravljanje danom i vremenom u DS3231 modulu.

#Include "ds3231.h"

DS3231 sat (SDA, SCL); - Stvaranje DS3231 objekta, povezivanje sa linijom takta i podatkovne linije.

gettime (); - Pročitajte datum i vrijeme od sati.

setdate (datum, pon, godina); - Podesite datum.

Sistemske biblioteke Arduino

EEPROM biblioteka

Standardna biblioteka. Dizajniran za rad sa nehlapljivim memorijom (zapis podataka, čitanje ih).

Primjer upotrebe:

#Include.

Eeprom.read (); - Stvorite objekt, pročitajte bajt na adresi iz nehlapljive memorije.

EeProm.write (adresa, vrijednost) - snimanje bajta u nehlapljivo pamćenje.

EEPROM.put () - snimanje redova plutajućih zareza.

Eeprom.get () - čitajući redove i plutajuće zarezne zareze.

Biblioteka softverska

Biblioteka koja vam omogućava da implementirate serijske sučelje iz bilo kojeg digitalnih igle. Također vam omogućava da stvorite više serijskih portova koji rade brzine do 115.200 bodova.

#Include.

SoftwareSerial MySerial (RX, TX) - Stvaranje objekta, argumenata - zaključci na koji su RX i TX povezani.

Serial.begin (); - Postavlja brzinu porta za Arduino i računarsku komunikaciju.

myserial.overflow () - provjera preljeva ulaznog pufera.

Matematika biblioteke.

Sadrži veliki broj matematičkih funkcija za rad sa plutajućim točkama.

Primjer upotrebe:

#Include.

Matematika (); - Stvorite instancu matematike.

Serial.print ("cos num \u003d"); - Vraća broj kosinusa.

Serial.println (fmod (dvostruko__x, dvostruko__y); - Vraća brojeve prema modulu.

Planer biblioteke

Dizajniran za rad sa Arduinovom delu, omogućava vam rad u režimu sa više zadataka. Dok je eksperimentalna biblioteka.

Primjer upotrebe:

#Include.

Raspored; - Stvaranje instancije.

Scheduler.Startloooop () - omogućava vam dodavanje funkcije koja će se izvoditi sa petljom ().

prinos () - omogućava prelazak na druge zadatke.

Servo motorne biblioteke i stepper motori

Biblioteka Servo.

Standardna biblioteka. Potrebno je upravljati servomotorima i često se koristi u robotskim projektima sa manipulatorima.

Primjer upotrebe:

#Include.

Servo MyServo; - Stvaranje objekta za servomotor ..

myservo.attach (); - izlazni broj na koji je Servomotor povezan.

myservo.write (180, 30, true); - 180 stepeni kretanja, brzina 30, čekajući kraj pokreta.

Biblioteka glupa

Ne fermentirano za upravljanje odstupom unipolarnim i bipolarnim motorom.

#Include.

cONST INT Stepperreavolution \u003d; - Broj koraka za koje motor prolazi potpuni zaokret.

Stepper mystepper \u003d stepper (STES, PIN1, PIN2) - stvara instancu klase s navedenim brojem koraka i izlaza na koje je motor spojen.

Biblioteke Arduino senzora

Biblioteka DHT.

#Include.< DHT.h>

DHT DHT (Dhtpin, DHT11); - Inicijalizira senzor (u ovom slučaju DHT11).

dht.begin (); - Trčanje senzora.

float t \u003d dht.readtemperature (); - Čitanje trenutne temperaturne vrijednosti u stupnjevima Celzijusa.

Biblioteka dallastemperature

Dizajniran za rad sa Dallas senzorima. Radi u kombinaciji sa bibliotekom Onewire.

#Include.

Dallastemperature dallastensor (& onewire); - Prenesite Onewire objekt na posao sa senzorom.

stavite u registar.

printtemperature (senzorddress); - Zahtjev za dobivanje izmjerene temperaturne vrijednosti.

Biblioteka ultrazvučna

Pruža rad Arduino sa ultrazvučnim senzorom mjernih udaljenosti HC-SR04.

#Include.

Ultrazvučni ultrazvučni (TIG, ECHO) - Objekti, Argumenti - Kontakt TRIG i ECHO kontakt.

dist \u003d ultrasonic.distanceRead (); - Određivanje udaljenosti do objekta. Agrometar - centimetri (cm) ili inča (uklj).

Vrijeme () čita trajanje impulsa u eho izlazu, prijevod do željenog broja brojeva.

ADXL345 Biblioteka

Namijenjen je radu sa ADXL345 akcelerometrometrom.

Primjer upotrebe:

#Include.

Adxl345_address - kreiranje objekta, navodeći njegovu adresu.

Adxl345_reg_devid - Identifikacija uređaja.

Adxl345_reg_ofsx - Smjena duž X osi

Adxl345_reg_bw_rate - Kontrola brzine prijenosa podataka.

Biblioteka BME280.

Namijenjen je radu sa temperaturnim senzorom, vlažnosti i pritiskom BME280.

Primjer upotrebe:

#Include.

BME280_ADDRSRESS - Stvaranje BME280 objekta, navodeći njegovu adresu.

početi (uint8_t addr \u003d bme280_address); - Pokretanje senzora.

getTempeRareture - Priprema izmjerene temperature.

getPruse - Dobivanje izmjerenog pritiska.

BMP280 biblioteka

Potreban za rad sa atmosferskim senzorom pritiska BMP280.

Primjer upotrebe:

#Include.

BMP280_chipid - Izrada instancije, navodeći svoju adresu.

getteMperature (Float * Temp); - Priprema izmjerene temperature.

getPruse (plutaju * pritisak); - Dobijanje izmjerene vrijednosti tlaka.

BMP085 biblioteka

Potreban za rad sa senzorom pritiska BMP085.

Primjer upotrebe:

#Include.

ADAFRUIT_BMP085 BMP; - Napravite instancu BMP085.

dps.init (mod_ultra_highres, 25000, true); - Mjerenje pritiska, argument 25000 - visina nadmorske visine (u ovom slučaju 250 m. preko mora).

dPS.GetSpressure (& Trude); - Određivanje pritiska.

Biblioteka otiska prsta

Potrebno je raditi s skenirom otiska prsta.

Primer Koristiti:

#Include.

Adafruit_fingerprint prst \u003d adafruit_fingerprint (& miserial); - Najava objekta prsta. Parametar je veza do objekta za rad sa UART-om, modul je povezan na kovkel.

prst.begin (); - inicijalizacija modula otiska prsta.

Func_sensor_komunikacikacija (); - Pozovite modul otiska prsta.

Komunikacijske biblioteke

Bibliotečka žica.

Potreban za rad sa i2c dvožičnim sučeljem.

Primjer upotrebe:

#Include.

Wire.Begin () - Inicijalizacija biblioteke, povezivanje s I2C autobusom.

Wire.RequestFrom () - Zahtjev od strane bajtova čarobnjaka sa slave uređaja.

Žica.BeginTransMission () - početak prenosa do robovnog uređaja.

Irremote biblioteka

Obavezno Arduino sa IR prijemnikom.

Primjer upotrebe:

#Include.

Irrecv Irrecv (Recv_pin); - PIN na koji je povezan IR prijemnik.

SetPinandButton (INT IR1, INT2, INT PIN) - omogućava vam konfiguriranje određenog izlaza okidača na zadanim vrijednostima IR1, IR2.

GSM biblioteka

Potrebno za povezivanje preko GSM kartice sa GSM / GRPS mrežom. S njom možete implementirati operacije koje se postižu GSM telefonom, rade sa glasovnim pozivima i povezuju se na Internet putem Grlja.

Primjer upotrebe:

#Include.

GSM GSmaccess - inicijalizira klasu.

gprs.poweron () - uključivanje.

GPRS - Konfigurirajte internetsku vezu.

GSM - Upravljanje radio modemom.

Biblioteka RFID

Potreban za povezivanje Arduino i RFID -Modula.

Primjer upotrebe:

#Include.

RFID RFID (ss_pin, rst_pin); - Kreirajte RFID instancu, argumente - igle na koje je modul povezan.

rfid.init (); - inicijalizacija RFID modula.

Biblioteka MFRC 522.

Potreban za povezivanje Arduino i MFRC522 -module.

Primjer upotrebe:

#Include.

MFRC522 MFRC522 (ss_pin, rst_pin); - Stvaranje instancije MFRC522, argumenti ukazuju na izlaze na koje je modul povezan.

mfrc522.pcd_init (); - inicijalizacija MFRC522.

Ethershield Library

Nova verzija https://github.com/jcw/ethercard

Potreban za povezivanje Arduino na lokalnu mrežu ili internet. Biblioteka više nije podržana, novijom verzijom Ethercarda. Tu je i standardna Ethernet biblioteka.

Primjer upotrebe:

#Include "etreshield.h"

#Include.

Ethershield es \u003d etreshield (); - Priprema web stranice

eter.begin (sizeof ethernet :: tampon, mymac,); - Početak, argumenti - MAC adresa i broj porta na koji je CS izlaz povezan.

Biblioteka NRF24L01.

Potreban za rad sa RF24-radio modulom.

Primjer upotrebe:

#Include "rf24.h"

RF24 - Dizajner stvara novu instancu vozača. Prije upotrebe, morate kreirati instancu i odrediti igle na koje je čip povezan (_Pepin: Kontakt modula za omogućavanje, CSPIN: Kontakt odabranog modula).

Započnite - početak čipa.

setchannel - kanali za RF komunikaciju.

setPayloadsize - Postavljanje fiksne veličine prenosa.

getPayloadsize - primanje fiksne veličine.

Biblioteka Tinygps

Potreban za čitanje GPGGA i GPRMC poruka. Pomaže u čitanju podataka o položaju, datumu, vremenu, visini i drugim parametrima.

Primjer upotrebe:

#Include.

Tinygps GPS; - Napravite instancu Tinygps.

kodiranje () - prehranite se prema objektu serijskih podataka jedan po jedan znak.

gPS.Stats () je metoda statistike. Prikazuje se ispravni podaci ili ne.

Biblioteke u Arduino IDE

Među cjelokupnom raznolikošću biblioteka mogu se razlikovati 3 glavne grupe:

  • Ugrađene su biblioteke prvobitno postavljene u Arduino IDE. Ne trebaju se dodatno preuzimati i instalirati, dostupni su za upotrebu u programu odmah nakon pokretanja razvojnog okruženja.
  • Dodatne su biblioteke koje trebate preuzeti. Obično takva vrsta biblioteka razvija proizvođača senzora, senzora i drugih komponenti kako bi se olakšalo rad sa Arduinom.
  • Zavisne biblioteke ugrađene su kao dodatni asistent za biblioteku, ne radi zasebno.

Najlakši način za rad sa bibliotekama u Arduinu je upotreba ugrađenog razvojnog okruženja Arduino IDE. O tome ćemo razgovarati u zasebnom članku.

  • 220 Ohm otpornik

Krug

Ovaj primjer koristi ugrađeni LED koji ima većina arduina i genuinskih ploča. Ova LED povezana je sa digitalnim PIN-om, a njegov broj može varirati od vrste broda do vrste ploče. Da biste olakšali svoj život, imamo stalnu koja je navedena u svakoj datoteci deskriptora ploče. Ova konstanta je. Led_builtin. I omogućava vam kontrolu ugrađenog LED lampica. Ovdje je dopisivanje između stalnog i digitalnog PIN-a.

  • D13 - 101.
  • D13 - Zbog.
  • D1 - Gemma.
  • D13 - Intel Edison
  • D13 - Intel Galileo Gen2
  • D13 - Leonardo i Micro
  • D13 - Lilypad.
  • D13 - Lilypad USB
  • D13 - MEGA2560.
  • D13 - Mini.
  • D6 - MKR1000
  • D13 - Nano.
  • D13 - Pro.
  • D13 - Pro Mini
  • D13 - UNO.
  • D13 - Yún.
  • D13 - nula.

Ako želite zapaliti vanjsku LED s ovom skicom, morate izgraditi ovaj krug, gdje povezujete jedan kraj otpornika na dopisnik digitalnog PIN-a na Led_builtin. Konstantna. Spojite dugačku nogu LED (pozitivne noge, nazvana anodom) na drugi kraj otpornika. Spojite negativnu nogu LED (negativne noge, nazvane katodom) na GND. Na dijagramu ispod pokazujemo UNO ploču koja ima D13 kao vrijednost LED_Builtin.

Vrijednost otpornika u seriji sa LED-om može biti različite vrijednosti da je od 220 ohm; LED će se osvijetliti i sa vrijednostima do 1k Ohm.

Shematski.

Šifra.

Nakon što u svoj računar izgradite priključite svoj Arduino ili GENUINO u računar, pokrenite Arduino softver (IDE) i unesite kod u nastavku. Također možete ga učitati iz datoteke / primjera menija / 01.Basics / treptaj. Prvo što radite je da inicijalizirate LED_Builtin pin kao izlazni pin s linijom

pinmode (LED_Builtin, izlaz);

U glavnoj petlji okrenite LED na liniju:

digitalWrite (LED_Builtin, visok);

Ovo isporučuje 5 volti na LED anodu. To stvara razliku od napona preko igle LED-a i svijetli. Tada ga isključite linijom:

digitalWrite (led_builtin, nizak);

Koji vodi LED_Builtin PIN natrag na 0 volti i pretvara LED. Između naredbi i kašnjenja () govore odboru da ne učini ništa za 1000 milisekundi, ili jednu sekundu. Kada koristite naredbu kašnjenja (), ništa drugo se ne događa za to vrijeme. Jednom kada ste shvatili osnovne primjere, pogledajte primjer da biste naučili kako stvoriti odgađanje dok radite druge stvari.

Jednom kada ste shvatili ovaj primjer, pogledajte primjer da biste saznali kako pročitajte prekidač spojen na ploču.

Danas nastavimo tema arduino emulatore. Pokušat ćemo naučiti kako bljeskati LED pomoću digitalnog izlaska Arduinoa. Ako ste novi za Arduino - ova lekcija je vrlo pogodna da biste započeli sa radom sa pločom. Povezujemo LED i napravimo jednostavan program za uključivanje i isključivanje LED.

Najvažnija razlika između ove lekcije od drugih - možete ga implementirati uz pomoć Arduino emulatora Tinkercad. Arduino emulatori su vrlo popularni programi i aplikacije koji vam omogućuju stvaranje projekata i testirati ih gotovo prije nego što trebate kupiti komponente.

Za naše čitatelje smo donijeli veliku listu programa sa detaljnim opisom svakog. Uz pomoć emulatora Tinkercad, možete kreirati vlastitu shemu i provjeriti njegove performanse. Samo kliknite "Pokrenite simulaciju" nakon svega povezivanja. Možete koristiti emulator u bilo kojem trenutku da provjerite svoje sheme. TinkErcad krugovi su besplatni program pretraživača koji vam omogućava stvaranje i simuliranje shema. Idealan je za učenje i stvaranje prototipa.

Da biste koristili program arduino emulatora - morate se registrirati sa Tinkercad.com. Zatim moramo odabrati komponente:

Ako ste paralelni sa emulatorom, napravite projekt sa svojim fizičkim arduino UNO (ili kompatibilnom) plocom, trebat će vam i USB kabl i računar sa besplatnim softverom (ili dodatkom za web urednik) i, ako je potrebno, Jedan je vodio.

Korak 1: Lanac LED otpornika

Polazimo sa Arduino emulatorom iz lanca LED i otpornika.

Noge LED povezane su na dva kontakta na Arduinu: zemljište i pIN 13.. Komponenta između LED-a i izlaznog otpornika 13 pomaže ograničiti struju tako da se LED ne uvlači. Bez toga ćete dobiti upozorenje da je LED uskoro mogao izgorjeti. Nije važno je li otpornik u toku prije ili nakon LED u lancu. Trake u boji Identificiraju vrijednost otpornika i za projektnu shemu će odgovarati 100 do 1000 ohma.

S druge strane, LED je polariziran, što znači da radi samo kada su noge povezane na određeni način.

  • Pozitivno Noga, koja se naziva anodom, obično ima dužu nogu i povezuje se s napajanjem, u ovom slučaju, iz izlaznog izlaza Arduino.
  • Negativan Noga, nazvana katoda, s kratkom nogom, povezana je sa zemljom.

Na ploči komponenti Arduino Emulator Tinkercad povucite otpornik i LED do radnog prostora. Promijenite vrijednost otpornika prilagođavajući ga 220 ohma u komponentnom inspektoru koji se pojavljuje kada je odabran otpornik.

Povratak na ploču komponenti, pronađite i prenosite naknadu. Kliknite jednom da biste povezali žicu na komponentu ili Bor i ponovo kliknite da biste povezali drugi kraj. Spojite otpornik na bilo koju stranu LED-a. Ako ste povezali otpornik na LED anodu (pozitivna, duže), priključite ostali otpornik za noge na digitalni izlaz 13 Arduino. Ako ste povezali otpornik na LED katodu (negativna, kraća stopala), priključite ostali otpornik stopala na Arduino Earth (GND). Napravite drugu vezu između labavog bočnog stopala i kontaktirajte 13 ili tla, ovisno o tome što još nije povezano.

Ako imate Arduino Uno Fizičkoj ploči (ili kompatibilni), možete direktno povezati u kontakt 13 (pozitivna, duža anoda) i tlo (negativna, kraća katoda), jer kontakt 13 zapravo ima ugrađeni otpornik za takve testove .

Korak 2: Jednostavni kod sa blokovima

U emulatoru Arduino Tinkercad možete lako programirati svoje projekte sa blokovima. Razmotrimo jednostavan kôd koji kontrolira treptanje otvaranjem uređivača koda (gumb "kod" kod "natpisa). Možete promijeniti veličinu uređivača koda klikom i povlačenjem lijeve ivice prozora. Pogledajte animirani crtež iznad.

Kodeks započinje sa dva bloka za sive komentare koji su samo bilješke za ljude. Prva plava izlazna jedinica postavlja ugrađeni LED AERS visoki, što je arduino metoda za opis "uključen". Ova izlazna naredba aktivira signal 5 V na sve što je povezano s navedenim izlazom. Slijedeće - Žuta komandna jedinica koja čeka jednu sekundu, jednostavno dovoljno. Dakle, program će pauzirati dok LED ne bude uključen na jednu sekundu. Zatim nakon sljedećeg komentara postoji plava izlazna jedinica koja će dovela natrag na nisku ili "isključena", a zatim drugu pauzu u sekundi.

Pokušajte konfigurirati ovaj kôd promjenom vremena čekanja i klikom na "Start simulacija". Možete čak dodati dodatne izlaze i blokove pauze kako biste stvorili duže trepereće mogućnosti rada.

Jeste li primijetili da mali LED lampica treperi na ploči? Ova ugrađena LED povezana je i sa PIN-om 13 i namijenjena je upotrebi za testiranje bez potrebe za povezivanjem bilo koje vanjske komponente. Čak ima i svoj sitni otpornik, pokreće se direktno na površinu ploče.

Spremni za kreiranje vlastiti projekt? Odaberite Arduino, koji ste dodali u radni prostor (ili ga odabirete u padajućem izborniku u uređivaču koda) i počnite da povučete blokove koda za kreiranje vlastitog treptalnog LED programa.

Korak 3: Objašnjenje koda

Hajde da razgovaramo o kodu kada radite Arduino emulator.

Kada je urednik koda otvoren u emulatoru, možete kliknuti padajuća izborna menija na lijevoj strani i odaberite "Blocks + Text" (blokovi + tekst) da biste otvorili Arduino kôd generiran kod blokova kodova. Svi dodatni znakovi dio su sintakse Arduino, ali ne plašite se! Treba vremena da naučite kako napisati ispravan kod ispočetka. Ovdje ćemo pogledati svaki dio, a uvijek možete koristiti blokove za usporedbu i poboljšanje nivoa.

Ne znamo koja verzija koju koristite, pa kôd ćemo napustiti onako kako smo bili.

/ * Ovaj program treperi PIN 13 Arduino (ugrađeni LED) * /

Ovaj prvi odjeljak je komentar naslovnog bloka koji opisuje ono što program radi. Blok komentari otvorite tako /* i tako zatvoren */ .

Nevaljana podešavanja () (pinmode (13, izlaz);)

Slijedi podešavanje koda koji pomaže u konfiguriranju onoga što će vaš program biti potreban kasnije. Počinje jednom i sadrži sve što vam treba unutar vaših kovrčavih nosača (). U našem projektu morate konfigurirati izlaz 13 kao izlaz koji priprema naknadu za slanje signala na njega, a ne prijem.

Nevažna petlja (// Uključite LED (visoki - nivo napona) DigitalWrite (13, visok); kašnjenje (1000); // pričekajte 1000 milisekundi // Isključite LED indigitalni napon (13, nizak ); Kašnjenje (1000); // pričekajte 1000 milisekundi)

Glavni dio programa nalazi se u ciklusu označenom drugim setom kovrčavih nosača (). Ovaj dio Kodeksa bit će izveden ponovo dok ploča nema obroke. Tekst pored dvostrukih kosih funkcija takođe je komentar kako bi se olakšalo razumijevanje programa.

Korisniji o Arduino programiranju naći ćete u našem članku. "

Polovna naredba izlaza zvana digitalwrite ()što je funkcija koja uspostavlja ili daje vrijednost visoke ili niske. Za obustavu programa, koristit ćemo funkciju kašnjenja () koja uzima nekoliko milisekundi (1000 ms \u003d 1 s).

Korak 4: Koristite postavke za početnike

Ovo je shema koja, kao što mislimo, želite da koristite često spremljene u odjeljku za početnike (treptaj starter) Arduian emulator.

Možete preuzeti ovu shemu i kod u bilo kojem trenutku pomoću starterskog odjeljka za početnike dostupne na ploči komponenti u padajućem izborniku

Starteri → Arduino.

Za napredniju verziju ovog Arduino koda možete vidjeti opciju "treptaj bez odlaganja" (bez odlaganja), što koristi trenutno vrijeme za praćenje intervala treptaja kašnjenje ();.

Korak 5: Programiranje Real Arduino

O tome završavamo rad sa Arduino emulatorom i možete ići na posao s pravom naknadom za razumijevanje čitavog procesa stvaranja projekta.

Da biste programirali svoj pravi, kopirajte kôd iz prozora programa i zalijepite ga u praznu skiciranje Arduino ili kliknite gumb za preuzimanje i otvorite rezultirajuću datoteku pomoću Arduino IDE

Eksperimentirajte sa ovom emulacijom Arduino dodajući više blokova za stvaranje treperi LED-ova. Možete li stvoriti program koji će izdati poruke pomoću Morseovog koda?

Sada kada znate kako bljeskati LED pomoću arduino digitalnog izlaza, spremni ste isprobati druge Arduino vježbe koje koriste funkciju digitalne (). Pokušajte koristiti izgled za dodavanje više LED-ova i dodatnog koda za upravljanje njima.

Podijelite: