ArduShop.ro

ArduShop.ro
cod tehnic.go.ro_02 reducere 5%, pentru vizitatorii paginilor mele !

duminică, 9 decembrie 2018

Imitare flacara foc cu ATtiny25/45/85

   Pornind de la o discutie cu Tom de o schema de simulare a unui flacari, mi-am adus aminte de o schema de la danyk.cz
dar am zis sa facem tot cu Arduino sau cu un mic microcontroler ATtiny25/45/85, dupa cum prezentasem in articolul Programarea unui microcontroler ATtiny85 cu sketch Arduino.
    Pentru inceput, am cautat si am dat de articolul Realistic Flickering Flame Effect With Arduino and LED's, care foloseste 3 leduri (inseriate cu rezistente de limitare);
   Am testat rapid programul de acolo, doar ca ma facut mici modificari (al meu e flame_0.ino) si nu am folosit rezistentele de limitare, desi e recomandat:
   Initial, am avut doar 3 leduri rosii, dupa cum se vede si in filmuletele:
simulare foc
realistic flickering flame effect
apoi am pus unul galben in mijloc, dupa cum se ved ein filmuletele:
simulare foc (2)
realistic flickering flame effect (2)
   Deoarece ATtiny25/45/85 au doar doua iesiri cu control PWM, dupa cum se vede mai jos
as fi putut face o schema cu 2 leduri
dar am inseriat 2 leduri rosii pe un canal, avand tensiunea de deschidere de cca 2V, sketch-ul devenind attiny_x5_flame.ino
pentru asta am testat pe Arduino Nano circuitul
si efectul e super, dupa cum se vede si din filmuletele;

Minilift cu 3 statii pentru jucarii (2)

   Dupa ce am postat pe o retea de socializare proiectul liftului (articol Minilift cu 3 statii pentru jucarii),
Cristi Vasilache mi-a dat ideea afisarii pozitiei liftului ca la cele reale cu afisaj cu 7 segmente (P - parter, 1 - etaj unu si 2 - etaj 2), asa ca am modificat intai schema, eliminand cele 3 leduri ce indicau pozitia, inspirandu-ma dintr-un articol mai vechi al meu Indicator treapta de viteza (GEAR SHIFT INDICATOR)
asa ca schema ar fi
dar discutand cu Tom, care are deja un cablaj facut,
 am zis sa punem afisaj separat, ca sunt pini suficienti:
   Sketch-ul pentru ultima schema devine toy_elevator_3.ino.
   Daca avem la dispozitie afisaj cu 7 segmente cu anod comun, schema devine
iar progamelul toy_elevator_3b.ino, la care se poate schimba simplu o variabila tip = 0 pentru catod comun 
sau tip = 1 pentru anod comun:

sâmbătă, 8 decembrie 2018

Minilift cu 3 statii pentru jucarii

   Deoarece prietenul meu Tom construieste o casuta de papusi mai deosebita, a zis s-o echipeze cu un lift pentru papusi, asa ca am zis sa il faca cu Arduino pentru a fi mai usor de controlat.
   Liftul are 3 statii (parter, etaj 1 si etaj 2 sau subsol, parter si etaj, depinde cum se poate conveni), asa ca am desenat o schema, dupa ce am discutat cu Tom detalii:
Dupa cum se vede, are in componenta:
- 3 limitatoare de cursa (pot fi mecanice sau cu releu reed, cum a facut Tom)
- 3 butoane fara retinere pentru cutia de comanda
- 3 leduri ce indica care limitator a fost actionat
- 2 leduri ce indica sensul de miscare al liftului

Comanda motorului de curent continuu se face similar ca in articolul Circuit de schimbare polaritate alimentare motor de curent continuu, in mare este:
doar ca trebuie atentie la folosirea releelor de 5V care trebuie sa fie cu consum mic, gen 1A05, ce pot fi comandate direct de Arduino, sau se pot folosi relee de 12V comandate de tranzistori...
    Tom si-a facut un cablaj si un montaj pentru a nu se incurca in fire ca mine:
   Am scris mai multe programele, dar cel "final" din acest moment este toy_elevator.ino si am facut si niste filmulete, in care am explicat ce am facut:
lift cu 3 statii (1)
elevator with 3 stations (1)
lift cu 3 statii (2)
elevator with 3 stations (2)
lift cu 3 statii (3)
elevator with 3 stations (3)
   Poate acest mod de prezentare nu e prea clar, dar e baza si, cel putin, la testele mele a functionat corect, dar si din testele preliminare facute de el, pare totul ok:
lift cu 3 statii - teste practice Tom
lift cu 3 statii - teste practice Tom (2)

PS; in curand va pune si Tom articol la el pe blog si pentru alte detalii, ii puteti scrie pe email

Tommyplus2007@gmail.com.

PS2: In loc de cele 3 leduri indicatoare de pozitie se poate pune un afisaj cu o cifra led din 7 segmente, cum am prezentat in articolul Indicator treapta de viteza (GEAR SHIFT INDICATOR)

luni, 26 noiembrie 2018

Folosire programator Tiny AVR

   Făcând rost, pentru teste, de un programator numit Tiny AVR ce este comercializat de Sparkfun, am zis sa îl probez rapid. Pentru a-l utiliza, am folosit imformaţiile oferite în articolul Tiny AVR Programmer Hookup Guide.
   Dupa introducerea programatorului într-o mufă USB primim un mesaj ca este un dispozitiv conectat, doar ca nu este instalat corect.
    Pentru sistemul de operare Windows 7 (pe 64 biţi), în CONTROL PANEL -> SYSTEM găsim informaţia
Descarcăm driverul de la https://github.com/sparkfun/Tiny-AVR-Programmer/tree/master/Drivers
se dezarhivează şi se actualizează driver-ul
şi vom avea un alt dispozitiv
   Am deschis programul Arduino IDE 1.8.5, unde am deja instalată partea de ATtiny25/45/85
alegând programatorul mai înainte instalat
   Pentru a avea placa de dezvoltare ATtiny25/45/85 în versiunea Arduino IDE 1.8.5 se intră la plăcile de dezvoltare si se caută ATtiny, instalandu-le, după cum mai prezentasem şi în alte articole anterioare.
   Am pus un ATtiny85 în soclu şi l-am programat
   Am făcut nişte filmuleţe, în care se vede modul simplu de utilizare în care am folosit programele (sketch-urile) postate pe https://github.com/tehniq3/ATtinyx5_test:
PS: recomand şi studierea articolului ATTiny Adventures: Exploring the Mysteries!

luni, 12 noiembrie 2018

Lumina ambientala pentru acvariu

   Pentru Stefan Arnautu, un vechi coleg de grupa si de "suferinta" in ale imprimatelor 3D de tip Anet A8, am adaptat un program (sketch) pentru un sistem, care sa indice ora si data, dar sa si aprinda si sa sitnga lumina la un acvariu.
   Pe ecran, pe primul rand apare data si in dreapta ora de aprindere, pe randul doi ora curenta si ora de stingere, intre ele apare semnul * daca lumina e aprinsa.
   Schema e, relativ, simpla, in care am desenat Arduino Uno, dar se poate folosi cam orice placa de dezvoltare Arduino (Mega, Leonardo, Nano, Mini Pro, etc), pe langa un encoder rotativ KY-040, un afisaj lcd alfanumeric 1602 cu interfata i2c, un modul de ceas RTC cu DS3231 (sau DS1307, dar precizia e mai mica) + partea de actionare (ori modul de reelu ci optocuplor, ori tranzistor cu releu, de 5V in schema de fata).
   Reglajul este inspirat din ceasul lui Andy in sensul ca la o apasare scurta  a butonului de pe encoder se afiseaza o informatie, iar o apasare lunga se intra in meniul de reglaj, prima data la reglaj an (de la 2018 la 2040)
apoi se regleaza minutele dupa ce se apasa butonul (0..59)
   Dupa ce se apasara butonul encoderului se poate regla ziua
daca se apasa iar butonul se trece la reglajul orelor, apoi minutelor ceasului
   Urmeaza reglajul orei si minutului de aprindere
respectiv stingere
iar la reapasare se intra in modul de ceas, dupa cum se vede in filmuletul realizat de Stefan
   Programul (sketch-ul) folosit este light_aquarium_0.ino !!!

29.11.2018
   Dupa ce am primit un mail de la Giani, din care am aflat ca in cazul intreruperii alimentarii, sistemul nu mai stie starea releului, am facut modificari pentru a memora in EEPROM si starea acestuia si am corectat si modul de afisare al minutelor de la timpii de pornire si oprire lumina, pentru cazul cand sunt mai mici de 10, ca valoare...
   Sketch-ul care face corecturile este light_aquarium_1.ino !!!