Telegraf sterowany przez avr

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
piotroo11
Młodszy majsterkowicz
Posty: 7
Rejestracja: 17 gru 2013, 23:10

Telegraf sterowany przez avr

Post autor: piotroo11 » 23 sty 2014, 22:43

Witam robię telegraf i chciałbym żeby miał również możliwość zapisu tych "kresek i kropek". Wiec wymyśliłem żeby kupić jakąś ATMege8 i przekaźnik i zaprogramować tak gdy przytrzymamy klucz przez więcej niż 5 s to załączy przekaźnik do czasu gdy znowu nie przytrzymamy klucza włączonego przez 5 s. Teraz moje pytanie pomógł by mi ktoś w napisaniu kodu (najlepiej w arduino bo nim programuje ;0). Jestem początkujący ni nie wiem jak napisać ten kod.

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


Arturr300
Starszy majsterkowicz
Posty: 307
Rejestracja: 16 paź 2013, 17:24

Re: Telegraf sterowany przez avr

Post autor: Arturr300 » 24 sty 2014, 21:13

Ja bym polecał sobie poczytać polskie artykuły dot. Arduino.
Z gotowca się niczego nie nauczysz, a wiedza zdobyta podczas uczenia się przyda się na pewno.

Jeżeli miałbyś jakiś problem, pytanie to wtedy można pomóc
Malen
Młodszy majsterkowicz
Posty: 27
Rejestracja: 2 sty 2014, 22:47

Re: Telegraf sterowany przez avr

Post autor: Malen » 25 sty 2014, 20:11

Jak klucz zorganizujemy tak, aby podczas trzymania dawał nam stan wysoki na wejściowym pinie mikrokontrolera to proponuję następująca strukturę programu;

Kod: Zaznacz cały

#define pinKlucz 1 
#define pinPrzekaznik 2 
void setup()
{
  
  pinMode(pinKlucz, INPUT);
  pinMode(pinPrzekaznik, OUTPUT);  
  
}

int Czas=0;
int Czas2=0;
boolean Stan=false;

void loop()
{
  if(digitalRead(pinKlucz) == HIGH){
    Czas=millis();
      while(digitalRead(pinKlucz)==HIGH)
      {
        Czas2==millis();
        if(Czas2-Czas >= 5000)
        {
          Stan==~Stan;
          if(Stan)
            digitalWrite(pinPrzekaznik, HIGH);
          else digitalWrite(pinPrzekaznik, LOW);
          Czas2=0;
          break;
        }
        
      }
  
  }
}
piotroo11
Młodszy majsterkowicz
Posty: 7
Rejestracja: 17 gru 2013, 23:10

Re: Telegraf sterowany przez avr

Post autor: piotroo11 » 11 lut 2014, 14:39

jak na razie wszystko z kodu rozumiem oprócz #define. co oznacza to #define i pod jaki piny mam wejście i wyście?
siwy2411
Młodszy majsterkowicz
Posty: 29
Rejestracja: 4 cze 2013, 14:56

Re: Telegraf sterowany przez avr

Post autor: siwy2411 » 11 lut 2014, 18:29

kod #define ma składnię postaci:
#define NAZWA WARTOSC
po wpisaniu tej linijki kodu na początku programu, każde wystąpienie słowa "NAZWA" w kodzie programu zostanie zamienione przez kompilator na "WARTOSC" - typowo używa się tej konstrukcji do deklarowania pinów układu i ich funkcji - dzięki temu, w przypadku wystąpienia konieczności np. przepięcia diody z nóżki 3 na 5 nie trzeba nanosić zmian w całym kodzie, wystarczy zmienić wartość w #define
ODPOWIEDZ

Strony partnerskie: