f_andreuzzi

cinesi

Nov 25th, 2019
324
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.42 KB | None | 0 0
  1. /*
  2.  
  3. */
  4.  
  5. const int LED_1 = 7;
  6. const int LED_2 = 9;
  7. const int BUTTON_IN = 6;
  8.  
  9. const int STATO_SPENTO = 0;
  10. const int STATO_ACCESO = 1;
  11. const int STATO_LAMPEGGIA = 2;
  12.  
  13. int stato = STATO_SPENTO;
  14. int lastButton = 0;
  15.  
  16. int led2 = 1;
  17.  
  18. // viene eseguita una sola volta
  19. void setup() {
  20. pinMode(LED_1, OUTPUT);
  21. pinMode(LED_2, OUTPUT);
  22. pinMode(BUTTON_IN, INPUT);
  23. }
  24.  
  25. // viene eseguita in loop infinite volte
  26. void loop() {
  27. int button = digitalRead(BUTTON_IN);
  28.  
  29. if(button == HIGH) {
  30. if(lastButton == 0) {
  31.  
  32. if(led2 * 2 <= 255) led2 *= 2;
  33. else led2 = 1;
  34.  
  35. analogWrite(LED_2, led2);
  36.  
  37. lastButton = 1;
  38.  
  39. switch(stato) {
  40. case STATO_SPENTO:
  41. stato = STATO_ACCESO;
  42. break;
  43. case STATO_ACCESO:
  44. stato = STATO_LAMPEGGIA;
  45. break;
  46. case STATO_LAMPEGGIA:
  47. stato = STATO_SPENTO;
  48. break;
  49. }
  50.  
  51. delay(200);
  52. }
  53. } else {
  54. lastButton = 0;
  55.  
  56. int luce1, luce2;
  57.  
  58. if(stato == STATO_LAMPEGGIA) {
  59. luce1 = HIGH;
  60. luce2 = LOW;
  61. } else if(stato == STATO_SPENTO) {
  62. luce1 = LOW;
  63. luce2 = luce1;
  64. } else if(stato == STATO_ACCESO) {
  65. luce1 = HIGH;
  66. luce2 = luce1;
  67. } else {
  68. return;
  69. }
  70.  
  71. digitalWrite(LED_1, luce1);
  72. delay(10);
  73. digitalWrite(LED_1, luce2);
  74. delay(100);
  75. }
  76. }
Advertisement
Add Comment
Please, Sign In to add comment