Advertisement
Guest User

mieszarka-czyszczarka

a guest
May 4th, 2017
537
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.80 KB | None | 0 0
  1. // MIESZALNIK-CZYSZCZARKA
  2.  
  3. int receiverpin = 11; // pin nr 1 odbiornika podczerwieni po��czono z pinem cyfrowym nr 11 na p�ytce Arduino
  4. #include <IRremote.h>
  5.  
  6. IRrecv irrecv(receiverpin); // tworzy obiekt funkcji IRrecv
  7. decode_results results;
  8.  
  9. int m1speed = 6; // piny cyfrowe u�ywane do sterowania szybko�ci�
  10. int m2speed = 5;
  11. int m1direction = 7; // piny cyfrowe u�ywane do sterowania kierunkiem pracy silnik�w
  12. int m2direction = 4;
  13.  
  14. void setup()
  15. {
  16. pinMode(m1direction, OUTPUT);
  17. pinMode(m2direction, OUTPUT);
  18. irrecv.enableIRIn(); // uruchamia odbiornik podczerwieni
  19. }
  20.  
  21. void program1()
  22. {
  23. digitalWrite(m1direction, HIGH);
  24. digitalWrite(m2direction, HIGH);
  25. analogWrite(m1speed, 255);
  26. analogWrite(m2speed, 255);
  27. delay(1800000); //30min
  28. digitalWrite(m1direction, HIGH);
  29. digitalWrite(m2direction, HIGH);
  30. analogWrite(m1speed, 255);
  31. analogWrite(m2speed, 255);
  32. delay(1800000); //30min
  33. analogWrite(m1speed, 0);
  34. analogWrite(m2speed, 0);
  35. }
  36.  
  37. void program2()
  38. {
  39. digitalWrite(m1direction, LOW);
  40. digitalWrite(m2direction, LOW);
  41. analogWrite(m1speed, 108);
  42. analogWrite(m2speed, 108);
  43. delay(900000);//15min
  44. digitalWrite(m1direction, HIGH);
  45. digitalWrite(m2direction, HIGH);
  46. analogWrite(m1speed, 108);
  47. analogWrite(m2speed, 108);
  48. delay(900000);//15min
  49. digitalWrite(m1direction, LOW);
  50. digitalWrite(m2direction, LOW);
  51. analogWrite(m1speed, 108);
  52. analogWrite(m2speed, 108);
  53. delay(900000);//15min
  54. analogWrite(m1speed, 0);
  55. analogWrite(m2speed, 0);
  56. }
  57.  
  58. // jeszcze będą 2 programy wirowań posiadające inne prędkości i czasy.
  59.  
  60.  
  61. //-------------------------------------------------------------------------------------
  62. void zatrzymanie()
  63. {
  64. digitalWrite(m1direction, LOW); // zatrzymanie programów podczas ich pracy
  65. digitalWrite(m2direction, HIGH);
  66. analogWrite(m1speed, 0);
  67. analogWrite(m2speed, 0);
  68. delay(1000);
  69. analogWrite(m1speed, 0);
  70. analogWrite(m2speed, 0);
  71. }
  72.  
  73. // funkcja translateIR podejmuje dzia�ania zale�nie od otrzymanego kodu IR (wed�ug standard�w Sony)
  74.  
  75. void translateIR()
  76. {
  77. switch(results.value)
  78. {
  79. case 0xFF6897: program1(); break;
  80. case 0xFF9867: program2(); break;
  81. case 0xFF30CF: zatrzymanie(); break; // możliwość zatrzymania programów w każdym
  82. // momencie ich trwania ?.
  83. }
  84. }
  85.  
  86. void loop()
  87. {
  88. if (irrecv.decode(&results)) // sprawdza, czy otrzymano sygna� IR
  89. {
  90. translateIR();
  91. for (int z = 0 ; z < 2 ; z++) // ignoruje powt�rzenia kodu
  92. {
  93. irrecv.resume(); // odbiera nast�pn� warto��
  94. }
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement