Prvi koraci s Arduinom Pažljiviji pogled na sklopnu ploču i strukturu programa

  • Brian Curtis
  • 0
  • 1114
  • 327
Oglas

Zadnji put kad sam vam ostavio da ste postavili Početak rada s Arduino Starter Kitom - Instaliranje upravljačkih programa i postavljanje ploče i priključka Početak rada s Arduino Starter Kitom - Instalacija upravljačkih programa i postavljanje ploče i priključka Dakle, sebi ste kupili Arduino starter kit, i možda još neke slučajne cool komponente - što sad? Kako zapravo započinjete s programiranjem ove Arduino stvari? Kako to postaviti? Vaš Arduino za rad sa Macom ili Windowsom i učitao je jednostavnu testnu aplikaciju koja je treptala LED-om na ploči. Danas ću objasniti kôd koji ste prenijeli, strukturu Arduino softvera i malo više o elektroničkim bitovima na samoj ploči..

Ovaj je članak dio uvoda u seriju Arduino. Ostali članci u nizu do sada su:

  • Što je Arduino i što možete učiniti s njim Što je Arduino i što možete učiniti s njim? Što je Arduino i što možete učiniti s tim? Arduino je izvanredan mali elektronički uređaj, ali ako ga nikada prije niste koristili, samo što su točno i što možete učiniti s jednim? ?
  • Što je Arduino starter kit i što sadrži? Što je uključeno u Arduino Starter Kit? [MakeUseOf objašnjava] Što je uključeno u Arduino Starter Kit? [MakeUseOf objašnjava] Prethodno sam predstavio Arduino hardver otvorenog koda ovdje na MakeUseOf, ali trebat će vam više nego samo stvarni Arduino da biste iz njega nešto napravili i zapravo započeli. Arduino "startne setove" su…
  • Još zgodnijih komponenti za kupnju sa svojim startnim kitom 8 Još cool komponenti za vaše Arduino projekte 8 Još cool komponenti za vaše Arduino projekte Dakle, razmišljate o nabavci Arduino startnog kompleta, ali pitate se hoće li biti nekih osnovnih LED i otpornika dovoljno da vas zauzet za vikend? Vjerojatno ne. Evo još 8…
  • Prvi koraci sa vašim Arduino Starter Kitom - Instaliranje upravljačkih programa i postavljanje ploče i priključka Početak rada s Arduino Starter Kitom - Instaliranje upravljačkih programa i postavljanje ploče i priključka Početak rada s Arduino Starter Kitom - Instalacija upravljačkih programa i postavljanje ploče i Luka Dakle, kupili ste Arduino starter set i, možda, neke druge slučajne cool komponente - što sad? Kako zapravo započinjete s programiranjem ove Arduino stvari? Kako to postaviti?

Hardver

Pogledajmo pobliže što Arduino Uno ima u pogledu bitova na ploči.

Evo proširenog dijagrama koji se odnosi na:

  • Duž vrha se nalazi 14 digitalnih ulaznih i izlaznih pinova (s brojevima 0-13). Ovo su najsvestranije igle na vašem Arduinu i mogu funkcionirati kao ulazna ili izlazna i činit će jezgru vaših projekata. Digitalno znači da će signal koji ti pinovi mogu pisati ili čitati biti uključen ili isključen.
  • 6 onih digitalnih iglica koje su označene znakom tilde ~ sposobni su za ono što se naziva pulsna širina modulacija. Nisam inženjer elektrotehnike pa se neću sramotiti objašnjavajući znanost iza ovoga, ali vama i meni to znači da možemo pružiti niz izlaznih razina - na primjer, prigušenje LED-a ili pokretanje motora različitim brzinama.
  • Pin 13 je poseban po tome što ima ugrađenu LED. Ovo je stvarno zbog praktičnosti i ispitivanja. Možete upotrijebiti taj ugrađeni LED, kao što je to slučaj u primjeru Blink, jednostavnim postavljanjem na pin 13 - ili se može koristiti kao standardni I / O pin.
  • U donjem desnom uglu je 6 analognih ulaznih pinova. Oni će očitati vrijednost analognih senzora kao što su svjetlosni mjerač ili promjenjivi otpornici.
  • U donjem lijevom kutu pored analognih ulaznih pinova nalaze se pinovi. Jedino zbog čega biste stvarno trebali brinuti su uzemljeni kablovi (GND), 3,3 V i 5 V dalekovodi.
  • Napokon, jedini prekidač koji se nalazi na Arduinu je prekidač za resetiranje. To će ponovno pokrenuti program koji ima u memoriji.
  • Arduino ima postavljenu količinu memorije, a ako vam program ode prevelik, prevoditelj će vam dati pogrešku.

Struktura Arduinog programa

Svaki Arduino program sastoji se od najmanje dvije funkcije (ako ne znate koja je funkcija, svakako pročitajte moj osnovni programski vodič, dio 2 - Izjave o funkcijama i upravljanju Apsolutne osnove programiranja za početnike (2. dio)) Apsolutne osnove programiranja za početnike (2. dio) U drugom dijelu našeg apsolutnog vodiča za programiranje početnika opisat ću osnove funkcija, povratne vrijednosti, petlje i uvjeti. Obavezno pročitajte 1. dio prije nego što se pozabavite tim problemom , gdje sam objasnio…, i 1. dio gdje smo razgovarali o varijablama Osnove računalnog programiranja 101 - Promjenjive i podatkovne tipove Osnove računalnog programiranja 101 - Varijable i DataTypes Nakon uvođenja i razgovora o objektno orijentiranom programiranju prije i odakle dolazi njegov imenjak od, mislio sam da je vrijeme da kroz apsolutne osnove programiranja prođemo na nenagrađeni način. Ovo… prije nego što nastavimo).

Prva je funkcija postavljanja. Ovo se pokreće u početku - samo jednom - i koristi se za reći Arduinu što je povezano i gdje, kao i inicijaliziranje svih varijabli koje će vam možda trebati u vašem programu.

Drugo je petlja. To je srž svakog Arduinog programa. Kad se Arduino pokrene, nakon završetka funkcije postavljanja, petlja će proći kroz sav kôd, a zatim sve ponovite - sve dok se ne izgubi ili napajanje ili ne pritisne prekidač za resetiranje. Duljina vremena koje je potrebno za dovršetak jedne pune petlje ovisi o kodu koji se nalazi. Možete napisati neki kod koji kaže “pričekajte 6 sati”, u tom se slučaju petlja neće ponavljati vrlo često.

Evo kratkog dijagrama stanja za ilustraciju:

Ispitivanje programa treptaja

Pogledajte programski kôd Blink i prepoznajte funkcije postavljanja i petlje.

Evo postavljanja:

void setup () // inicijalizira digitalni pin kao izlaz. // Pin 13 ima LED spojen na većinu Arduino ploča: pinMode (13, OUTPUT); 

Linije koje započinju // su jednostavno komentari za objašnjenje koda ljudskom čitatelju i ne prenose se na Arduino. Tako da u ovoj Arduino aplikaciji postoji samo jedan redak postava. Ta linija govori “Postavite pin 13 na izlazni način rada”. 13, zapamtite, ugrađeni je LED.

Zatim je tu petlja:

void petlja () digitalWrite (13, HIGH); // postavite LED na kašnjenje (1000); // pričekajte drugi digitalWrite (13, LOW); // podesite odgoda LED-a (1000); // čekaj sekundu

Komentari na kraju svakog retka koda prilično dobro objašnjavaju njihovu funkciju. HIGH i LOW odnose se na ON i OFF stanje digitalnog izlaza - u našem slučaju LED. U kodu također možete napisati ON ili OFF, oba su sinonimna (kao što je 0 i 1 također). Odgoditi kaže Arduinu da pričeka malo, u ovom slučaju 1000 milisekundi (ili 1 sekundu).

Za kraj napomena o ovdje korištenom programskom jeziku. Napominjemo da i funkcija podešavanja i petlje imaju riječ poništiti pred njima. Ovo je posebna riječ za ništa, jer funkcija ne vraća ništa kad se zove - jednostavno pokreće kod koji se nalazi u. Za sada, ostavimo to na tome da kažemo da je blok koda funkcije zatvoren kovrčavim zagradama i da svaki redak koda mora završiti s; točka i zarez.

Pokušajte nekako promijeniti osnovni program promjenom preciznih vrijednosti kašnjenja u nešto veće ili manje. Pogledajte kako se malo možete spustiti prije nego što treperenje više ne primijeti. Odredite koju vrijednost treba promijeniti da biste ostali dulji ili da biste ostali dulje. Pokušajte dodati još nekih digitalnih zapisa i odgoda izraza u funkciju petlje da biste stvorili složeniji treperi obrazac poput morseova koda za SOS. Ako imate zvučni signal, pokušajte ga spojiti na igle 13 i GND (nagovještaj: crvena žica ide na 13, crna na zemlju).

To je sve za danas. Sljedeći put ćemo dodati još nekoliko LED-ova i napisati vlastitu aplikaciju ispočetka. Kao i uvijek, komentari i dijeljenja cijenjeni su. Ne mogu zamisliti da biste imali problema s spomenutim kodom danas, ali ako ste pokušali malo prilagoditi kôd i naiđete na pogreške ili neočekivano ponašanje, slobodno ga objavite u komentarima i vidjet ćemo ako to možemo zajedno raditi.




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.