• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Program samochodzik z muzyką
#1
Witam! 
Otóż mam pewien problem z małym projektem, którego nie potrafię rozwiązać. Chodzi o to, że zbudowałem sobie klasyczny samochodzik sterowany za pomocą pilota na podczerwień. Posiada on 4 silniczki. I tutaj mam pytanie. Czy mógłbym jakoś napisać program, że, jak np. samochód jedzie do tyłu, to DFPlayer mini, z którego korzystam włączył określony dźwięk? Program będzie w załączniku. 
Pozdrawiam!

Kod:
#include <IRremote.h> //Biblioteka do czujnika IR.

char command;
int receiver_pin = 2;   
int vcc = 3;           
int gnd = 4;         

int statusled = 13;

IRrecv irrecv(receiver_pin);
decode_results results;

// Silnik A
int enA = 10;
int in1 = 9;
int in2 = 8;
// Silnik B
int enB = 5;
int in3 = 7;
int in4 = 6;


void setup()

{

Serial.begin(9600);

irrecv.enableIRIn();

pinMode(statusled,OUTPUT);

digitalWrite(statusled,LOW);

  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
  pinMode(vcc, OUTPUT);
  pinMode(gnd, OUTPUT);
  digitalWrite(vcc, HIGH);

}

void loop() {

if (irrecv.decode(&results)) {

digitalWrite(statusled,LOW);

irrecv.resume();

if (results.value == 0xFF4AB5){ // Przycisk 8 - DO TYŁU
 
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  analogWrite(enA, 150);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  analogWrite(enB, 150);


}else if(results.value == 0xFF18E7 ){ // Przycisk 2 - DO PRZODU
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(enA, 150);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  analogWrite(enB, 150);


 
}else if(results.value == 0xFF38C7 ){ // Przycisk 5 - ZATRZYMANIE
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  analogWrite(enA, 150);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
  analogWrite(enB, 150);
 

}else if(results.value == 0xFF10EF){ // Przycisk 4 - SKRĘT W LEWO
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  analogWrite(enA, 150);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  analogWrite(enB, 150);
 
}else if(results.value == 0xFF5AA5){ // Przycisk 6 - SKRĘT W PRAWO
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  analogWrite(enA, 150);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
  analogWrite(enB, 150);


}

}
}
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości