Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. int Tlacitko = 7; // tlacitko na pinu 7
  2. int Led_1 = 10; // Led 1 na pinu 10
  3. int Led_2 = 11; // Led 2 na pinu 11
  4.  
  5. boolean Svetla = false;
  6. boolean Blik = true;
  7.  
  8. int mode = 0; //(0 - Vypnuto, 1 - Zapnuto, 2 - Blikání
  9. long posledniBlik = 0; // promenná pro počet milisekund pri poslednim bliku (pomale blikání)
  10.  
  11. void setup() {
  12.  pinMode(Led_1, OUTPUT); // nastaví vystup u Led 1 na výstup
  13.  pinMode(Led_2, OUTPUT); // nastaví vystup u Led 2 na výstup
  14.  
  15.  pinMode(Tlacitko, INPUT); // nastaví pin kde je připojeno tlačítko jako výstup
  16.  digitalWrite(Tlacitko,HIGH); // zapnutí pullup rezistoru, aby jsme k tlačítku
  17.  // nemuseli přidávat rezistor. Tlačítko je tedy připojeno ke GND a pinu 7 !!!!!!
  18.  // Při vypnutém tlačítku vnitřní pullup rezistor připojujuje k +5V.
  19.  
  20.  
  21. }
  22.  
  23. void loop() {
  24.   // zapne nebo vypne LED v závislosti na stavu proměné Svetla
  25.   digitalWrite(Led_1, Svetla);
  26.   digitalWrite(Led_2, Svetla);
  27.  
  28.   // když je na vstupu Tlačítka logická 0 (LOW)
  29.   // !!! není spínálo log. 1, protože využíváme tzv. pulldown rezistoru v čipu
  30.   if ((digitalRead(Tlacitko)) == LOW)
  31.     {
  32.       mode++; // přičte k MODE hodnotu 1
  33.       if (mode > 2) mode = 0; // když je mode větší jak 2 tak ho vynuluj
  34.       delay(200); // prodleva proti záchvěvům tlačítka  
  35.     }
  36.    if (mode == 0) Svetla = 0; //Vypni světla
  37.    if (mode == 1) Svetla = 1; //Zapni světla
  38.    if (mode == 2) Svetla = Blik; // Svetla zavisí na stavu promené Blik
  39.    
  40.    
  41.    // časovač pro blikání *********************************************
  42.    if ((millis() - posledniBlik) > 400) // když celkový počet milisekund
  43.    // minus počet milisekund při poslednim "bliku" je vetši jak 400
  44.    // tady můžete nastavit rychlost blikání v počtu milisekund
  45.    {
  46.      Blik = !Blik; // Blik se rovná negaci Blik (neguje proměnou)
  47.      posledniBlik = millis(); // zapiš poslední blik
  48.    }
  49.  
  50. }