Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // MIESZALNIK-CZYSZCZARKA
- int receiverpin = 11; // pin nr 1 odbiornika podczerwieni po��czono z pinem cyfrowym nr 11 na p�ytce Arduino
- #include <IRremote.h>
- IRrecv irrecv(receiverpin); // tworzy obiekt funkcji IRrecv
- decode_results results;
- int m1speed = 6; // piny cyfrowe u�ywane do sterowania szybko�ci�
- int m2speed = 5;
- int m1direction = 7; // piny cyfrowe u�ywane do sterowania kierunkiem pracy silnik�w
- int m2direction = 4;
- void setup()
- {
- pinMode(m1direction, OUTPUT);
- pinMode(m2direction, OUTPUT);
- irrecv.enableIRIn(); // uruchamia odbiornik podczerwieni
- }
- void program1()
- {
- digitalWrite(m1direction, HIGH);
- digitalWrite(m2direction, HIGH);
- analogWrite(m1speed, 255);
- analogWrite(m2speed, 255);
- delay(1800000); //30min
- digitalWrite(m1direction, HIGH);
- digitalWrite(m2direction, HIGH);
- analogWrite(m1speed, 255);
- analogWrite(m2speed, 255);
- delay(1800000); //30min
- analogWrite(m1speed, 0);
- analogWrite(m2speed, 0);
- }
- void program2()
- {
- digitalWrite(m1direction, LOW);
- digitalWrite(m2direction, LOW);
- analogWrite(m1speed, 108);
- analogWrite(m2speed, 108);
- delay(900000);//15min
- digitalWrite(m1direction, HIGH);
- digitalWrite(m2direction, HIGH);
- analogWrite(m1speed, 108);
- analogWrite(m2speed, 108);
- delay(900000);//15min
- digitalWrite(m1direction, LOW);
- digitalWrite(m2direction, LOW);
- analogWrite(m1speed, 108);
- analogWrite(m2speed, 108);
- delay(900000);//15min
- analogWrite(m1speed, 0);
- analogWrite(m2speed, 0);
- }
- // jeszcze będą 2 programy wirowań posiadające inne prędkości i czasy.
- //-------------------------------------------------------------------------------------
- void zatrzymanie()
- {
- digitalWrite(m1direction, LOW); // zatrzymanie programów podczas ich pracy
- digitalWrite(m2direction, HIGH);
- analogWrite(m1speed, 0);
- analogWrite(m2speed, 0);
- delay(1000);
- analogWrite(m1speed, 0);
- analogWrite(m2speed, 0);
- }
- // funkcja translateIR podejmuje dzia�ania zale�nie od otrzymanego kodu IR (wed�ug standard�w Sony)
- void translateIR()
- {
- switch(results.value)
- {
- case 0xFF6897: program1(); break;
- case 0xFF9867: program2(); break;
- case 0xFF30CF: zatrzymanie(); break; // możliwość zatrzymania programów w każdym
- // momencie ich trwania ?.
- }
- }
- void loop()
- {
- if (irrecv.decode(&results)) // sprawdza, czy otrzymano sygna� IR
- {
- translateIR();
- for (int z = 0 ; z < 2 ; z++) // ignoruje powt�rzenia kodu
- {
- irrecv.resume(); // odbiera nast�pn� warto��
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement