ratza Postat Octombrie 26, 2012 Partajează Postat Octombrie 26, 2012 Eu fac altfel cu butoanele, activez animalu' cînd iau craca de pe el. Cod în C, că d-ăsta ştiu. #define DEBOUNCE 30if ((PORTB & BIT0) == 0){ while ((PORTB & BIT0) == 0) { delay_ms(DEBOUNCE); } // Aici începe codul pentru acţiunea butonului} Link spre comentariu
florinangeru Postat Noiembrie 16, 2012 Autor Partajează Postat Noiembrie 16, 2012 Salutare tuturor, Dupa indelungi teste si batai de cap am ajuns la rezultatul final . Am postat codul, schema finala (de fapt e cam aceasi cu ce-a initiala) si un link catre filmuletul in care prezint functionarea releului. Daca se doreste se mai poate adauga un led si intre pini 13 - GND arduino. Multumesc tuturor de sugestii si ajutor, iar celor ce doresc sa-l realizeze ..... succes . // Test Relay signal when button is pressed // Use PIN 7 to send signal to relay // Turn on LED when the button is pressed to test Sketch code // and keep it on after it is released // including simple de-bouncing // #define LED 13 // the pin for the LED #define BUTTON 2 // the input pin where the pushbutton is connected #define RELAY 7 // PIN for relay signal int val=0; // val will be used to store the state // of the input pin int old_val=0; // this variable stores the previous // value of "val" int state=0; //0=LED off and 1 = LED on void setup(){ pinMode(LED, OUTPUT); // tell arduino LED is an output pinMode(BUTTON, INPUT); // and BUTTON is an input pinMode(RELAY, OUTPUT); // tells arduino RELAY is an output } void loop(){ val=digitalRead(BUTTON); // read input value and store it -- new input // check if there was a transition if ((val==HIGH) && (old_val==LOW)){ state = 1 - state; delay(10); } old_val=val; // val is now old, let's store it if (state == 1){ digitalWrite(LED,HIGH); // turn LED ON digitalWrite(RELAY,HIGH); // turn RELAY ON }else{ digitalWrite(LED,LOW); // turn LED OFF digitalWrite(RELAY,LOW); // turn RELAY OFF } } Link spre comentariu
florinangeru Postat Noiembrie 16, 2012 Autor Partajează Postat Noiembrie 16, 2012 Atentie delay este 10ms daca il lasati asa mai face figuri eu l-am setat la 150 si merge perfect dar in functie de releu trebuie sa testati voi valoarea ideala . Spor la treaba. Link spre comentariu
script22 Postat Decembrie 15, 2012 Partajează Postat Decembrie 15, 2012 if portb.1 = 0 thenwaitms 3 La ce-s bune alea 3 ms?cand sunt contactele foarte apropiate sar putea accidental genera mult mai multe in cazu asta ledu o sa stea aprins chior asemanator cu un pwm Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum