• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterownik świateł drogowych plus tryb "party"
#4
podrugie nie pisz tak
Kod:
digitalWrite(9, HIGH); //Włączenie diody YELLOW
delay(yellow_time);
guzik_off();
digitalWrite(8, LOW); //Wyłączenie diody RED
digitalWrite(9, LOW); //Wyłączenie diody YELLOW
digitalWrite(10, HIGH); //Włączenie diody GREEN
delay(green_time);
guzik_off();
digitalWrite(10, LOW); //Wyłączenie diody GREEN
digitalWrite(9, HIGH); //Włączenie diody YELLOW
do jak zrobisz kod na 20 kartek a4 i będziesz chciał zmienić jeden pin to 2 godziny będziesz to robił masz tu poprawiony kod podmieni miny na swoje i sprawdź u mnie dział ale nie wiem czy tak ci to się wyobrażało
Kod:
#define numberOfLEDs 3
long nextFlash[3];
int ledPin[] = { 42, 43, 44}; // LED pins to use.
int ledState[3];
int guzik=1;
const int button = 48;
int red_time = 4000; //4000
int yellow_time = 2000; //2000
int green_time = 4000; //4000
void setup() {
pinMode(42, OUTPUT); //Konfiguracja pinu 8 jako wyjście RED
pinMode(43, OUTPUT); //Konfiguracja pinu 9 jako wyjście YELLOW
pinMode(44, OUTPUT); //Konfiguracja pinu 10 jako wyjście GREEN
pinMode(48, INPUT); //Konfiguracja pinu 11 jako guzik
pinMode(48, OUTPUT);




}
void loop()
{
guzik = digitalRead(button);  // read input value
if (guzik == LOW)
   {
     traffic();
   }
   else losowe();
}


void guzik_on()
{
   guzik = digitalRead(button);  // read input value
if (guzik == LOW)
   {
     traffic();
   }
}

void guzik_off()
{
   guzik = digitalRead(button);  // read input value
if (guzik == HIGH)
   {
     losowe();
   }
}






void traffic() {
digitalWrite(ledPin[0], HIGH); //Włączenie diody RED
delay(red_time);
guzik_off();
digitalWrite(ledPin[1], HIGH); //Włączenie diody YELLOW
delay(yellow_time);
guzik_off();
digitalWrite(ledPin[0], LOW); //Wyłączenie diody RED
digitalWrite(ledPin[1], LOW); //Wyłączenie diody YELLOW
digitalWrite(ledPin[2], HIGH); //Włączenie diody GREEN
delay(green_time);
guzik_off();
digitalWrite(ledPin[2], LOW); //Wyłączenie diody GREEN
digitalWrite(ledPin[1], HIGH); //Włączenie diody YELLOW
delay(2000);
guzik_off();
digitalWrite(ledPin[1], LOW); //Wyłączenie diody YELLOW
}

void losowe()
{

for (int i = 0; i < numberOfLEDs; i++) {
   pinMode(ledPin[i], OUTPUT);
   ledState[i] = LOW;
   digitalWrite(ledPin[i], LOW); // all LEDs off
   nextFlash[i] = millis() + random(20, 300);
}

while (true) {
   for (int i = 0; i < numberOfLEDs; i++) {
     if (millis() > nextFlash[i]) {
       if (ledState[i] == LOW) ledState[i] = HIGH; else ledState[i] = LOW;
       digitalWrite(ledPin[i], ledState[i]);
       nextFlash[i] = millis() + random(20, 300) ; // next toggle random time
       guzik_on();
     }
   }
}
}
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Sterownik świateł drogowych plus tryb "party" - przez adix - 22-09-2015, 20:11

Skocz do:


Przeglądający: 1 gości