stefank Posted February 29, 2020 Share Posted February 29, 2020 Va salut , tin sa mentionez ca sunt incepator in zona arduino . Detin un Uno si un Nano cu care am avut cateva experimentari de proiecte simple cum ar fi afisare de text pe matrice de leduri , dar la care imformatiile le-am gasit pe net , nu eu le-am proiectat . Am nevoie de ajutor pentru a realiza un numarator care sa primeasca impulsurile da la contactele unui push buton sau releu , numarul contactelor sa le afiseze eventual pe un afisaj led 7 x 4 sau 5 segmente , in ordine crescatoare sau descrescatoare , iar dupa un anumit numar de contacte care s-ar putea seta sa aclanseze un releu si sa se opreasca din numarat . Am cautat pe net si am gasit numaratoare arduino cu push buton , dar nu am gasit care sa comande un releu dupa un numar de contacte . Multumesc pentru orice informatie . Link to comment
informer Posted February 29, 2020 Share Posted February 29, 2020 1. In ordine crescatoare sau descrescatoare in functie de ce? Inteleg c-ai un singur contact... 2. Ce intelegi prin: "s-ar putea seta"? Adica sa scrii undeva in cod un numar si "ala e numarul" SAU sa ai un fel de meniu de setup (semnalizat cumva), sa setezi un numar din ceva butoane si asta sa fie memorat in EEPROM a.i. sa ramana chiar daca intrerupi alimentarea? Elimina intai lacunele din specificatii. Daca ai gasit deja un cod care face tot ce vrei doar ca nu aclanseaza un releu cand ajungi la nr. N, pune-l aici si eventual il completeaza cineva. Link to comment
stefank Posted March 1, 2020 Author Share Posted March 1, 2020 (edited) Nu conteaza daca crescator sau descrescator , sa se poata seta intr-un meniu numarul de impulsuri dupa care sa aclanseze un releu . De exemplu daca setez 1000 , dupa 1000 de impulsuri sa cupleze releul , aceasta setare sa se faca cu ajutorul a vreo 3 push butoane sau eventual un encoder rotativ , numarul de impulsuri nu este fix deci nu trebuie memorat . Am gasit doar coduri simple care doar numara https://youtu.be/1o_9ELJzqHg #include <Arduino.h> #include <TM1637Display.h> #define CLK 2 #define DIO 3 #define TEST_DELAY 2000 TM1637Display display(CLK, DIO); void setup() { pinMode(4,INPUT); display.setBrightness(6); } int numb=0; int pres=0; void loop() { display.setBrightness(0x0f); display.showNumberDec(numb,false); if(digitalRead(4)==1) { if(pres==0) { numb++; pres=1; } } else { pres=0; } } Te rog sa folosesti butonul "<>" din editor pentru a posta coduri. Nico_2010 Edited March 2, 2020 by nico_2010 Link to comment
informer Posted March 1, 2020 Share Posted March 1, 2020 (edited) Deci ai nevoie de un contor de impulsuri cu afisare pe 4 sau 5 digiti, 7 segmente, cu LED-uri. Device-ul sa aiba 3 taste cu ajutorul carora sa se poata seta un numar de impulsuri dupa primirea carora este aclansat un releu. Banuiesc ca din aceleasi taste se poate reseta starea device-ului a.i. sa porneasca din nou numaratoarea. Corect? Bun, pana acum ce-ai facut ca sa vedem cum te putem ajuta? Edited March 1, 2020 by informer Link to comment
stefank Posted March 2, 2020 Author Share Posted March 2, 2020 pana acum am cautat informatii dar nu am gasit , in functie de acestea urma sa procur cele necesare ca : tip de afisaj ( lcd sau led segmente ) , tip de buton ( encoder sau simple ) , modul cu releu sau releu simplu , etc Link to comment
informer Posted March 2, 2020 Share Posted March 2, 2020 Daca ti-e tot aia cumpara LCD ca-i ceva mai simplu decat sa faci multiplexare pe afisaj cu segmente... chit ca o fi vreo librarie facuta gata si pt. ala... da` oricum e mai simplu c-un 1602 Deasemenea daca ti-e indiferent, pune taste simple si ia-ti un modul cu releu sa nu mai trebuiasca sa pui tu tranzistor de comanda, dioda etc. Dupa aia mai vedem... io te ajut daca incerci singur intai... personal nu fac proiecte/proiectele la comanda pe forumuri, din principiu... 1 Link to comment
mihaicozac Posted March 2, 2020 Share Posted March 2, 2020 Practic acolo ai nevoie de 2 ori de aproximativ acelaşi cod plus un comparator, adică un numărător primeşte impulsuri de la traductor, celălalt de la butonul tău sau 2 butoane UP şi DOWN, din care selectezi o valoare care-ţi convine. Celălalt numărător (practic o variabilă unsigned integer) incrementează în ritm cu impulsurile releului, iar când cele 2 valori coincid se întâmplă 2 lucruri, primul numărătorul extern se resetează, al doilea o ieşire dă o tensiune spre ceva ce vrei tu. În principiu ai avea nevoie de 2 afişaje LED separate sau unul LCD pe care pe fiecare rând afişezi câte unul din numărătoare. Codul e foarte simplu de scris. Link to comment
stefank Posted March 3, 2020 Author Share Posted March 3, 2020 Multumesc pentru raspuns , am comandat un afisaj LCD 1602 simplu , unul care are si vreo 5 butoane push si un modul cu releu , cand le primesc revin cu ce voi reusi sau nu Link to comment
Gilbert Sparios Posted March 12, 2020 Share Posted March 12, 2020 cred ca ar trebui sa folosesti timerele pentru aplicatia asta. altfel va merge doar la pulsuri "bătrânești". Link to comment
GeoMar Posted March 12, 2020 Share Posted March 12, 2020 Am incercat sa il ajut pe colegul @stefank si am incropit un sketch cu cele solicitate de el in topic, la nivelul meu de amator in Arduino. Posibil se poate si mai bine, dar eu asa am stiut, asa am facut. Un clip cu testarea codului: Test Numarator 4 dititi LED Link to comment
stefank Posted March 13, 2020 Author Share Posted March 13, 2020 La 12.03.2020 la 10:22, Gilbert Sparios a spus: cred ca ar trebui sa folosesti timerele pentru aplicatia asta. altfel va merge doar la pulsuri "bătrânești". aparatul care va fi inlocuit de acest montaj fiind unul mecanic chiart acest lucru face fiind un contor de impulsuri Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now