Deoarece sunt multe proiecte, mai simple sau mai complexe, cu placile de dezvoltare Arduino, un neinitiat poate sa se sperie... am cautat un tutorial pentru incepatori, dar nu am gasit, asa ca voi face eu unul.
Sa zicem ca nu ati luat o placa Arduino Uno, ci una Arduino Nano... modul de functionare este similar.
Daca alimentati dintr-o mufa USB de la PC sau laptop, pe placa este un led aprins, care indica alimentarea placii, iar unul va clipi odate pe secunda. Dupa cum se constata, ledul ce se aprinde cu intermitenta este cel conectat la pinul digital numit D13, printr-o rezistenta la masa.
Dupa ce vom capata un pic de experienta, vom realiza montaje pe breadboard
Urmatorul pas important este descarcarea programului ce ne ajuta la scrierea si incarcarea programelor in placa de dezvoltare Arduino.
Bun, dupa instalarea programului, avand placa conectata, trebuie sa fim siguri ca s-a instalat driver-ul interfetei USB, care, in cazul acestei placi este un CH340:
Daca am rezolvat acest pas, vom alege placa Arduin Nano
cu portul activ
alegem versiunea cu "old bootloader"
observand in coltul din dreapta jos informatiile
Daca ati reusit sa urmati acesti pasi cu rezultate similare (clar va fi alt port), putem trece la modificarea programului BLINK, care se gaseste la exemplele venite cu programul Arduino IDE:
In prima faza, nu vor urmari structura programelor (sketch-urilor) Arduino, ci vom modifica o valoare dintr-o linie, si anume delay(1000); care inseamna o pauza de 1 secunda (1000ms)
acasta linie este pusa dupa aprinderea ledului, care este, in programul original delay(1000), iar noi o vom modifica in delay(100), adica o intrarziere de 0,1secunde
Deoarece am scos doar un zero, nu ar trebui sa fie probleme, dar vom verifica oricum, prin compilarea programului
care ar trebui sa se termine cu mesajul
Urmeaza incarcarea programului in placa Arduino Nano
care se incheie cu mesajul
Dupa ce ati trecut prin acesti pasi cu succes, puteti incerca si alte variante de programe, cu efecte de stingere/aprindere ale ledului de la D13, acestea se gasesc pe canalul meu de Github, la adresa https://github.com/tehniq3/blink
Pentru cei care sunt obisnuiti sa reproduca experimentele din filmulete, am facut si eu unul:
Deoarece versiunea anterioara avea un mic "defect", schimband intensitatea luminoasa a afisajului matriceal foarte repede daca erau variatii bruste ale luminii din mediu apropiat, am corectat asta in fisierul LEDMatrixV2ro4.ino din subdirectorul LEDMatrixV2ro4.
Avand o solicitare pentru rezolvarea transmiterii a 10 valori numerice intre 2 placi Arduino, tot pe serial, am zis sa incerc si asta. Cele 10 valori sunt 7 temperaturi pozitive ca numere intregi (pot trimite valori 0..255) si 3 pozitii de comutatoare (0 - deschis, 1 - inchis).
Schema de test este aceeasi, ca cea din articolul precedent:
Programul placii Arduino ce trimite datele este tx_10variables.ino, iar programul placii receptoare este rx_10variables.ino. In ecranele de monitorizare seriala se pot obersva valorile:
Am completat articolul Scari luminate inteligent publicat in noiembrie 2018 pentru versiunea cu Arduino.
Schema pentru test pentru maxim 17 leduri cu 2 butoane fara retinere, functioneaza cu programul 17leds_running_2button.ino
respectiv schema ce foloseste senzori, de exemplu PIR, functioneaza cu programul 17leds_running_2sensors.ino
Se observa ca: - butoanele fara retinere sau senzorii dintr-un capat sunt la A4 si, respectiv, A5; - iesirile sunt de la D1 la A3 (D1-D2-D3-D4-D5-D6-D7-D8-D9-D10-D11-D12-D13-A0-A1-A2-A3).
Programele sunt flexibile si se pot comanda mai putin de 17 leduri, doar se modifica linia 15
dar trebuie tinut cont ca numararea incepe de la D1.
De exemple, daca comandati doar 5 barete, ca aveti o scara mica, comenzile baretelor (prin tranzistoare sau tranzistoare cu relee) se vor da pe iesirile D1, D2, D3, D4 si D5.
In repaus, ledurile se aprind slab, dar daca se doreste indepartarea aceset facilitati se comenteaza liniile:
astfel
luni. 9.8.2021
O versiune cu fotorezistenta pentru a inhiba aprinderea slaba, in repaus, a luminilor, inclusiv jocul de lumini, pe timp de zi se poate realiza prin folosirea unei fotoresistente si a unei rezistente in schema de divizor rezistiv (vedeti articolul Using a Photocell / Analog Voltage Reading Method). Se elimina a 17-a lumina, numarul maxim fiind 16:
Dupa cum se vede in schema, in rezervor vor fi 4 tije (de inox), una fiind masa (GND), una pentru rezervor pe minim, una pentru mijloc si una pentru maxim.
Daca bazinul va fi gol, nivelul apei sub minim, se va aprinde un led rosu si va porni pompa,
daca nivelul creste peste jumatate, se aprinde ledul galben si pompa continua sa functioneze,
pana se depaseste nivelul maxim indicat de un led verde.
Daca nivelul apei scade, dar nivelul apei este mai mare decat mijlocul, se aprinde ledul galben, iar pompa este oprita.
Daca nivelul apei scade sub jumatate reporneste pompa,
Modul de functionare se vede si in filmuletul facut de George Dacin:
Pe parcursul realizarii montajului am primit si niste poze:
Programul pentru aceasta automatizare este watertank1.ino.