zapalanie i gaszenie przyciskiem diody

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
daminek95
Młodszy majsterkowicz
Posty: 7
Rejestracja: 11 paź 2018, 10:07

zapalanie i gaszenie przyciskiem diody

Post autor: daminek95 » 11 paź 2018, 10:13

Witam, mam kod który zapala diodę po wciśnięciu przycisku i gasi ją przy następnym wciśnięciu. Chciałbym dodać kolejną diodę i kolejny przycisk. Pomoże mi ktoś ?

Kod: Zaznacz cały

int inPin = 2;         
int outPin = 12;  
int inPin1 = 1;         
int outPin1 = 11;      

int state = LOW;      
int reading;           
int previous = LOW;    



long time = 0;         
long debounce = 200;   

void setup()
{
  pinMode(inPin, INPUT_PULLUP);
  pinMode(outPin, OUTPUT);
  pinMode(inPin1, INPUT_PULLUP);
  pinMode(outPin1, OUTPUT);
}

void loop()
{
  reading = digitalRead(inPin);


  if (reading == HIGH && previous == LOW && millis() - time > debounce) {
    if (state == HIGH)
    {
     state = LOW;
     
    }
    else
    {
      state = HIGH;
    }
    time = millis();    
  }

  digitalWrite(outPin, state);

  previous = reading;
}

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


uzi18
Młodszy majsterkowicz
Posty: 23
Rejestracja: 10 maja 2018, 05:06

Re: zapalanie i gaszenie przyciskiem diody

Post autor: uzi18 » 11 paź 2018, 10:32

do przyciskow uzywaj biblioteki Button bedzie prosciej i czytelniej, do tego odporne na szumy stykow

zasada jest prosta, dla kazdego przycisku sprawdzasz czy zostal nacisniety, jesli tak to sprawdzasz digital read na wyjsciu ktorym zapalasz lampke, jesli jest 1 to zapisujesz 0 i na odwrot

Spróbuj sam w razie problemow bedziemy prostowac =)

Wysłane z mojego MI MAX przy użyciu Tapatalka


daminek95
Młodszy majsterkowicz
Posty: 7
Rejestracja: 11 paź 2018, 10:07

Re: zapalanie i gaszenie przyciskiem diody

Post autor: daminek95 » 11 paź 2018, 11:21

Masz może jakiś przykład? Jestem początkujący i najlepiej się uczę z przykładów. Albo mógłbyś mi napisać, jeśli to nie problem? Nie bardzo wiem jak z tym button zrobić..
wchpikus
Młodszy majsterkowicz
Posty: 33
Rejestracja: 7 lut 2015, 20:59

Re: zapalanie i gaszenie przyciskiem diody

Post autor: wchpikus » 11 paź 2018, 11:34

Inpin to i ciebie klawisz.
Skopiuj ustawienia i dopisz inpin2, reszte dojdziesz co dodac..kod jest prosty.


int inPin = 2; // port 2 jako wejscie
int outPin = 12; // port 12 wyjscie
int inPin1 = 1; // druge wejscie port 1
int outPin1 = 11; // wyjscie port 11

int state = LOW;
int reading;
int previous = LOW;

long time = 0;
long debounce = 200;

void setup()
{
pinMode(inPin, INPUT_PULLUP);
pinMode(outPin, OUTPUT);
pinMode(inPin1, INPUT_PULLUP);
pinMode(outPin1, OUTPUT);
}

void loop()
{
klawisz1();
// klawisz2();
}

void klawisz(){
reading = digitalRead(inPin);

if (reading == HIGH && previous == LOW && millis() - time > debounce) {
if (state == HIGH)
{
state = LOW;

}
else
{
state = HIGH;
}
time = millis();
}

digitalWrite(outPin, state);

previous = reading;
}
}

// druga funkcja dla klawisza 2 z parametrami dla input i output.


Mozesz napisac jedna funkcje sprawdzajaca 2 klawisze na raz i ustawiac im stany...mozliwosci jest duzo.
uzi18
Młodszy majsterkowicz
Posty: 23
Rejestracja: 10 maja 2018, 05:06

Re: zapalanie i gaszenie przyciskiem diody

Post autor: uzi18 » 11 paź 2018, 11:54

#include <Button.h>

/*

create a Button object at pin 12

connect button between pin 12 and GND

*/

Button button = Button(12,PULLUP);

 

void setup(){

  pinMode(13,OUTPUT); //debug to led 13

}

 

void loop(){

  if(button.isPressed()){

        digitalWrite(13,!digitalRead(13));

  }

}



Wysłane z mojego MI MAX przy użyciu Tapatalka

uzi18
Młodszy majsterkowicz
Posty: 23
Rejestracja: 10 maja 2018, 05:06

Re: zapalanie i gaszenie przyciskiem diody

Post autor: uzi18 » 11 paź 2018, 11:55

ot i caly przyklad dla 1 przycisku
wystarczy skopiowac 3 razy button z roznymi nazwami i pinami
oraz warunek 3x z roznymi pinami dla lampek i po robocie

Wysłane z mojego MI MAX przy użyciu Tapatalka

daminek95
Młodszy majsterkowicz
Posty: 7
Rejestracja: 11 paź 2018, 10:07

Re: zapalanie i gaszenie przyciskiem diody

Post autor: daminek95 » 11 paź 2018, 12:14

Button button = Button(12,PULLUP); - w tym mi wywala błąd "PULLUP" was not declared in this scope
uzi18
Młodszy majsterkowicz
Posty: 23
Rejestracja: 10 maja 2018, 05:06

Re: zapalanie i gaszenie przyciskiem diody

Post autor: uzi18 » 11 paź 2018, 13:53

jaka wersje biblioteki button masz zainstalowana? z managera bibliotek?
wrzuc screena

Wysłane z mojego MI MAX przy użyciu Tapatalka

uzi18
Młodszy majsterkowicz
Posty: 23
Rejestracja: 10 maja 2018, 05:06

Re: zapalanie i gaszenie przyciskiem diody

Post autor: uzi18 » 11 paź 2018, 13:54

na poczatek mozesz wywalic ten fragment Pullup wraz z przecinkiem przed nim (przynajmniej do czasu wyjasnienia sie sprawy biblioteki)

Wysłane z mojego MI MAX przy użyciu Tapatalka


daminek95
Młodszy majsterkowicz
Posty: 7
Rejestracja: 11 paź 2018, 10:07

Re: zapalanie i gaszenie przyciskiem diody

Post autor: daminek95 » 11 paź 2018, 13:56

github.c o m/t3db0t/Button
daminek95
Młodszy majsterkowicz
Posty: 7
Rejestracja: 11 paź 2018, 10:07

Re: zapalanie i gaszenie przyciskiem diody

Post autor: daminek95 » 11 paź 2018, 13:59

zdjęcie bibiotek
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
uzi18
Młodszy majsterkowicz
Posty: 23
Rejestracja: 10 maja 2018, 05:06

Re: zapalanie i gaszenie przyciskiem diody

Post autor: uzi18 » 11 paź 2018, 14:01

i wszystko jasne:
Button button = Button(12, BUTTON_PULLUP_INTERNAL);

Wysłane z mojego MI MAX przy użyciu Tapatalka

daminek95
Młodszy majsterkowicz
Posty: 7
Rejestracja: 11 paź 2018, 10:07

Re: zapalanie i gaszenie przyciskiem diody

Post autor: daminek95 » 11 paź 2018, 14:04

znowu błąd
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
uzi18
Młodszy majsterkowicz
Posty: 23
Rejestracja: 10 maja 2018, 05:06

Re: zapalanie i gaszenie przyciskiem diody

Post autor: uzi18 » 11 paź 2018, 14:32

masz. inna biblioteke, autor Michael Adams,
https://github.com/madleech/Button/

wiec piszesz:
Button button = Button(12)

a w warunku button.pressed()

w setup. za to:
pinMode(12, INPUT_PULLUP);
i
button.begin()

i tak samo dla. kazdego przycisku


Wysłane z mojego MI MAX przy użyciu Tapatalka

uzi18
Młodszy majsterkowicz
Posty: 23
Rejestracja: 10 maja 2018, 05:06

Re: zapalanie i gaszenie przyciskiem diody

Post autor: uzi18 » 11 paź 2018, 20:07

i. co. udalo sie?

Wysłane z mojego MI MAX przy użyciu Tapatalka

daminek95
Młodszy majsterkowicz
Posty: 7
Rejestracja: 11 paź 2018, 10:07

Re: zapalanie i gaszenie przyciskiem diody

Post autor: daminek95 » 11 paź 2018, 22:30

Wszystko działa jak należy! Dzięki wielkie za pomoc! :)
ODPOWIEDZ

Strony partnerskie: