Sterowanie przy pomocy pilota TV

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
musiccool
Młodszy majsterkowicz
Posty: 14
Rejestracja: 13 gru 2014, 17:35

Sterowanie przy pomocy pilota TV

Post autor: musiccool » 26 gru 2014, 01:19

Witam. Chciałbym sterować moim pojazdem gąsienicowym przy pomocy pilota od TV oraz arduino leonardo. Niestety nie potrafię za bardzo programować, a z instrukcji w internecie nic nie wychodzi. Czy pomógłby mi ktoś napisać taki program?

Pojazd to Zumo Pololu wraz z shieldem do arduino. Odbiornik IR -TSOP2236.

gora 0x3434E51A
dol 0x3434659A
lewo 0x343415EA
prawo 0x3434956A
srodek 0x343455AA

Digital pin 7 controls the right motor direction
Digital pin 8 controls the left motor direction.
Digital pin 9 controls the right motor speed with PWM
Digital pin 10 controls the left motor speed with PWM

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Awatar użytkownika
Nefarious19
Starszy majsterkowicz
Posty: 373
Rejestracja: 4 cze 2014, 23:04

Re: Sterowanie przy pomocy pilota TV

Post autor: Nefarious19 » 26 gru 2014, 01:40

Ja chętnie. Ile płacisz?
bom109
Majsterkowicz
Posty: 58
Rejestracja: 15 mar 2014, 21:56

Re: Sterowanie przy pomocy pilota TV

Post autor: bom109 » 26 gru 2014, 01:57

Weź zacznij zrób ile umiesz, pomyśl nad tym... Wtedy przyjdź tutaj... Albo zgłoś się do Nefarious19 wtedy z pewnością kodzik będzie działał jak należy ;)
musiccool
Młodszy majsterkowicz
Posty: 14
Rejestracja: 13 gru 2014, 17:35

Re: Sterowanie przy pomocy pilota TV

Post autor: musiccool » 26 gru 2014, 02:35

Kod: Zaznacz cały

#include <IRremote.h>
#define irPin 11
IRrecv irrecv(irPin);
decode_results results;
int pwmMotorB=10;
int pwmMotorA=9;
int InMotorA1=7;
int InMotorA2=8; 

 
void setup() {
   Serial.begin(9600);
    irrecv.enableIRIn();
  pinMode(pwmMotorA, OUTPUT); 
   pinMode(pwmMotorB, OUTPUT); 
  pinMode(InMotorA1, OUTPUT); 
  pinMode(InMotorA2, OUTPUT);
}
 
void loop() {
   if (irrecv.decode(&results)) {
 
      switch (results.value) {
         case 0x343455AA:
            Serial.println("srodek");
             digitalWrite(InMotorA1, LOW); 
             digitalWrite(InMotorA2, LOW);
             analogWrite(pwmMotorA,100);
            analogWrite(pwmMotorB,100);}
            delay(250);
   }
}

Silniki się włączają, ale po ponownym naciśnięciu nadal działają.
Tysz
Młodszy majsterkowicz
Posty: 10
Rejestracja: 13 gru 2014, 11:53

Re: Sterowanie przy pomocy pilota TV

Post autor: Tysz » 26 gru 2014, 12:23

Sprawdź sobie pierwsze irda w monitorze portu
A później przejdziemy do silników, ale tak to rozpisałem że raczej już sobie poradzisz

PS. Nie musisz nic płacić, wesołych świąt ;)

Kod: Zaznacz cały

#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

//int pwmMotorB=10;
//int pwmMotorA=9;
//int InMotorA1=7;
//int InMotorA2=8; 



void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();
  //pinMode(pwmMotorA, OUTPUT); 
  //pinMode(pwmMotorB, OUTPUT); 
  //pinMode(InMotorA1, OUTPUT); 
  //pinMode(InMotorA2, OUTPUT);
  
}

void loop() {
  delay(20);
   if (irrecv.decode(&results)) {
     
     switch (results.value) {
         case 0x3434E51A:
            gora();
            break;
 
         case 0x3434659A:
            dol();
            break;
 
         case 0x343415EA:
            lewo();
            break;

         case  0x3434956A:
            prawo();
            break;
         
         case 0x343455AA:
            srodek();
            break;  
            
         }
 
   irrecv.resume();
   }
}

void gora() {
   Serial.println("gora");
   
}

void dol() {
   Serial.println("dol");
}

void lewo() {
   Serial.println("lewo");
}

void prawo() {
   Serial.println("prawo");
}

void srodek() {
   Serial.println("srodek");
   //digitalWrite(InMotorA1, LOW); 
   //digitalWrite(InMotorA2, LOW);
   //analogWrite(pwmMotorA,100);
   //analogWrite(pwmMotorB,100);
   //delay(250);
   
}

Awatar użytkownika
Nefarious19
Starszy majsterkowicz
Posty: 373
Rejestracja: 4 cze 2014, 23:04

Re: Sterowanie przy pomocy pilota TV

Post autor: Nefarious19 » 26 gru 2014, 13:29

Ja chciałem tylko zauważyć że forum nie jest od rozdawania gotowców tylko od pomagania. Wiec jeżeli ktoś nie wrzuca schematu, kodu, zdjęcia ani jakiegokolwiek dowodu ze próbował robić coś sam to takim osobom się nie pomaga. Szanujcie swój czas i umiejętności. Później ktoś taki weźmie wasz kod, wsadzi do swojego urządzenia i będziecie hajs na waszej wiedzy zbijal. Lenistwo trzeba tępić nie karmić.
bom109
Majsterkowicz
Posty: 58
Rejestracja: 15 mar 2014, 21:56

Re: Sterowanie przy pomocy pilota TV

Post autor: bom109 » 26 gru 2014, 16:20

@Nefarious19 w pełni Cię popieram, jeśli ktoś dostanie gotowca bez żadnego wysiłku to nic się nie nauczy i za tydzień dwa wejdzie tu tylko po to żeby mu napisać kolejny kod, bo nic się nie nauczył przy poprzednim projekcie i tak będzie przez cały czas...
musiccool
Młodszy majsterkowicz
Posty: 14
Rejestracja: 13 gru 2014, 17:35

Re: Sterowanie przy pomocy pilota TV

Post autor: musiccool » 26 gru 2014, 21:04

Ktoś tu chyba nie potrafi czytać. Zapytałem czy ktoś mi POMOŻE, a nie napisze za mnie program. Jeśli byłby ktoś w stanie, skontaktowałbym się prywatnie, aby nie zaśmiecać forum. A użytkownikowi Tysz dziękuję za pomoc. Wesołych. :)
bom109
Majsterkowicz
Posty: 58
Rejestracja: 15 mar 2014, 21:56

Re: Sterowanie przy pomocy pilota TV

Post autor: bom109 » 26 gru 2014, 22:17

Trzeba było przedstawić jakieś próby działania i wskazanie co Ci nie wychodzi lub czego nie umiesz :)
ODPOWIEDZ

Strony partnerskie: