Bazele de programare Arduino UNO

Ultima dată, ne-am instalat cu succes software-ul, și chiar a lansat un program de LED-ul clipit. Dar am făcut-o inconștient, repetând acțiunile pas cu pas descrise. În viitor, va trebui să scrie codul, ceea ce înseamnă că e timpul să se familiarizeze cu elementele de bază ale programării.

Deși știu un pic despre programare, eu pretind astăzi că el niciodată nu a auzit de limbaje de programare și să încerce să arate noul sol mai comprehensibil ca un incepator este de rupere pentru ei înșiși activitățile.

În primul rând, trebuie să scrie exemple în C ++ - cum ar fi limba. Deci, vă puteți lăuda prietenilor care scrie programe în C ++. În al doilea rând, este foarte simplist, și nu trebuie să fie frică de el.

Dacă vă amintiți, am început Blink studiu de caz. dar, de fapt, am ratat primul BareMinimum studiu de caz. Să-l deschide: File → Exemple → 1.Basics → BareMinimum. Deschideți o fereastră cu următorul cod:

Acum trebuie să ne amintim că programul ar trebui să fie două funcții obligatorii: configurare () și buclă (). După numele funcției și paranteze sunt acolade, care vor fi amplasate în codul. Se spune că între acolade este un bloc de cod pentru o funcție sau funcții ale corpului.

Funcția de configurare () se execută o dată după fiecare putere-up sau pentru a reseta placa Arduino. În corpul acestei funcții este scris codul pentru a inițializa variabile, setați modul de operare a porturilor digitale, etc. În exemplele de mai jos, veți vedea acest mecanism.

buclă () într-un mod secvențial buclă infinită execută în mod repetat comenzile care sunt descrise în corpul ei. Ie după funcția din nou va aminti.

Vă recomandăm să creați o nouă schiță martor (așa-numitul program de Arduino) prin intermediul File | Nou. (File | New) și manual scrie codul descris. Acest lucru va ajuta să vă amintiți mai bine cele două funcții, și, de asemenea, pentru a vedea modul în care mediul de dezvoltare.

Și acum putem re-deschide exemplul Blink și studia pas cu pas.

Funcția de configurare (), vom vedea trei linii:

În versiunile mai vechi ale codului am fost un pic diferit:

Dar dezvoltatorii mai târziu a scris codul de mai știință de carte retrograda numărul 13 într-o variabilă separată a condus.

Ne-am întâlnit noi pinMode caracteristică (). care stabilește modul de port. Functia are doi parametri. Primul parametru este portul din care vom lucra. În a doua opțiune, vom raporta modul de lucru portul specificat: de lucru la ieșire (IEȘIRE) sau de intrare (de intrare). În exemplul nostru, ieșirea de la numărul 13 ar trebui să afișeze informații (trimite un semnal), adică, pentru a da o indicație LED-ul clipește.

Am definit în funcția de configurare (), datele necesare pentru a începe și poate continua acum cu punerea în aplicare imediată a sarcinilor în funcția de buclă ().

Aici vom vedea ultimele patru linii de cod. Prima linie include LED-uri folosind funcția digitalWrite (). Primul parametru vom specifica numărul portului, care vor lucra, iar a doua specifică un constant ridicat. Privind în perspectivă, putem spune că constanta este egală cu 1 HIGH și ar putea scrie digitalWrite (13, 1). Dar această înregistrare nu este foarte convenabil, astfel încât numerele melteshenie într-un proiect mare, face dificil de citit codul. Și aici puteți vedea imediat că portul de la numărul 13, LED-ul.

În continuare este echipa responsabilă de pauză - întârziere (). care are un parametru - cantitatea de timp în milisecunde. În exemplul nostru, am întrerupt-o secunda (1000 milisecunde = 1 secundă).

Apoi vine digitalWrite funcția familiară (). dar cu opțiunea LOW. care se stinge LED-ul (valoare constantă LOW este 0).

Și ultima linie se oprește din nou, pentru o secundă.

Să vedem cum funcționează programul. Când vom încărca programul în microcontroler, Arduino pentru a activa portul 13 în modul de ieșire (o funcție de setare ()), și apoi începe să pună în aplicare în mod consecvent cele patru linii ale funcției de buclă (). Acesta include dioda-break off pauza de diode. Atunci când aceste patru linii vor fi îndeplinite, ele din nou, va fi chemat și va fi repetată atâta timp cât nu deconectați cablul.

Ce putem schimba în acest program? În general, orice - putem instala doar valorile proprii pauze. Experiment cu acest lucru. Alte modificări la rezultatul nu va face - nu există nici un punct, de exemplu, acum utilizați un alt port sau de a folosi modul de intrare.

Dacă doriți să stabilească ceva în programul final al exemplelor, este mai bine să facă acest lucru în noul proiect. Creați schița și copiați codul din exemplul Blink. Pentru început, modificați valorile microsecunde pentru a întrerupe. Acum, încercați să scrie propriul program bazat pe ea. Vei avea nevoie de un cablu obișnuit. Un capăt este introdus în numărul portului 7, și un al doilea port cu eticheta GND.

Ideea este după cum urmează. Portul nu poate primi numai semnalul (pentru ieșiri), dar, de asemenea, pentru a trimite un semnal. De fapt, portul lasa prin ele însele curent. În acest caz, modul este setat ca intrare sau INPUT_PULLUP. Dacă portul merge curent, ceea ce face LED-ul clipește foarte repede. În cazul în care fluxul de curent este întrerupt, lumina intermitentă va fi rare.

Funcția buclă (), ne dăm seama condiția de verificat. Citește valoarea portului 7. În cazul în care există un curent, atunci valoarea este LED-ul va lumina intermitent LOW frecvent. În caz contrar, LED-ul va clipi des.

pentru LED-uri de cod intermitent prezentat într-o funcție separată flashLed (). Acest lucru ne va salva un număr de cod. În plus, această funcție este utilă pe care o putem stabili în parametrul său diferit valoare de pauză, fără a repeta restul codului.

Pornește proiectul, asigurați-vă că LED-ul clipește în mod frecvent. Trageți un capăt al firului și a vedea că LED-ul a început să clipească încet. se introduce din nou firul în loc, iar LED-ul va clipi din nou de multe ori. Miracole!

Bazele de programare Arduino UNO

În lecția următoare vom conecta un LED-uri și de a face nu numai un flash, dar, de asemenea, se estompeze. Stay tuned!