Cześć, Proszę o to kod.
Czemu odbiornik mi nie odbiera? (odbiera ale nie działa, gdy mam nie w komentarzu to co teraz jest w komentarzu [void odbiornik])
#define PWM_L 3
#define PWM_P 5
#define silnik1_1 2
#define silnik1_2 4
#define silnik2_1 7
#define silnik2_2 8
#define PWM_MAX 256
#include <IRremote.h>
#define odbiornik_pin 11
IRrecv irrecv(odbiornik_pin);
decode_results results;
void setup()
{
pinMode(PWM_L, OUTPUT);
pinMode(PWM_P, OUTPUT);
pinMode(silnik1_1, OUTPUT);
pinMode(silnik1_2, OUTPUT);
pinMode(silnik2_1, OUTPUT);
pinMode(silnik2_2, OUTPUT);
digitalWrite(silnik1_1, LOW);
digitalWrite(silnik1_2, LOW);
digitalWrite(silnik2_1, LOW);
digitalWrite(silnik2_2, LOW);
Serial.begin(9600);
irrecv.enableIRIn();//uruchamia odbiornik
}
void do_przodu_V(int predkosc)
{
if (predkosc > 0)
{
predkosc = map(predkosc, 0, 100, 0, PWM_MAX); //od 0 do 100%; 0 do PWMMAX wypelnienie sygnalu
analogWrite(PWM_L, predkosc);
// analogWrite(PWM_P, predkosc);
do_przodu();
}
}
void do_przodu()
{
digitalWrite(silnik1_1, HIGH);
digitalWrite(silnik1_2, LOW);
delay(5000);
}
void do_tylu_V(int predkosc)
{
if (predkosc > 0)
{
predkosc = map(predkosc, 0, 100, 0, PWM_MAX); //od 0 do 100%; 0 do PWMMAX wypelnienie sygnalu
analogWrite(PWM_L, predkosc);
// analogWrite(PWM_P, predkosc);
do_tylu();
}
}
void do_tylu()
{
digitalWrite(silnik1_1, LOW);
digitalWrite(silnik1_2, HIGH);
delay(5000);
}
void zatrzymaj()
{
digitalWrite(silnik1_1, LOW);
digitalWrite(silnik1_2, LOW);
// digitalWrite(silnik2_1, LOW);
// digitalWrite(silnik2_2, LOW);
delay(2000);
}
void IR()
{
if (irrecv.decode(&results))
{
odbiornik();
}
}
void odbiornik()
{
/* Serial.print("0x");
Serial.println(results.value, HEX);
delay(250);*/
switch (results.value)
{
case 0xCB000FF:
do_tylu_V(80);
break;
case 0xCB0807F:
do_tylu_V(40);
break;
case 0x20DF8877:
do_przodu_V(80);
break;
case 0x20DF48B7:
do_przodu_V(40);
break;
}
irrecv.resume();
}
void loop()
{
IR();
irrecv.resume();
}
Proszę o rady czy wszytko z kodem jest ok.