Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int Tlacitko = 7; // tlacitko na pinu 7
- int Led_1 = 10; // Led 1 na pinu 10
- int Led_2 = 11; // Led 2 na pinu 11
- boolean Svetla = false;
- boolean Blik = true;
- int mode = 0; //(0 - Vypnuto, 1 - Zapnuto, 2 - Blikání
- long posledniBlik = 0; // promenná pro počet milisekund pri poslednim bliku (pomale blikání)
- void setup() {
- pinMode(Led_1, OUTPUT); // nastaví vystup u Led 1 na výstup
- pinMode(Led_2, OUTPUT); // nastaví vystup u Led 2 na výstup
- pinMode(Tlacitko, INPUT); // nastaví pin kde je připojeno tlačítko jako výstup
- digitalWrite(Tlacitko,HIGH); // zapnutí pullup rezistoru, aby jsme k tlačítku
- // nemuseli přidávat rezistor. Tlačítko je tedy připojeno ke GND a pinu 7 !!!!!!
- // Při vypnutém tlačítku vnitřní pullup rezistor připojujuje k +5V.
- }
- void loop() {
- // zapne nebo vypne LED v závislosti na stavu proměné Svetla
- digitalWrite(Led_1, Svetla);
- digitalWrite(Led_2, Svetla);
- // když je na vstupu Tlačítka logická 0 (LOW)
- // !!! není spínálo log. 1, protože využíváme tzv. pulldown rezistoru v čipu
- if ((digitalRead(Tlacitko)) == LOW)
- {
- mode++; // přičte k MODE hodnotu 1
- if (mode > 2) mode = 0; // když je mode větší jak 2 tak ho vynuluj
- delay(200); // prodleva proti záchvěvům tlačítka
- }
- if (mode == 0) Svetla = 0; //Vypni světla
- if (mode == 1) Svetla = 1; //Zapni světla
- if (mode == 2) Svetla = Blik; // Svetla zavisí na stavu promené Blik
- // časovač pro blikání *********************************************
- if ((millis() - posledniBlik) > 400) // když celkový počet milisekund
- // minus počet milisekund při poslednim "bliku" je vetši jak 400
- // tady můžete nastavit rychlost blikání v počtu milisekund
- {
- Blik = !Blik; // Blik se rovná negaci Blik (neguje proměnou)
- posledniBlik = millis(); // zapiš poslední blik
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement