Hi!
I need help with my Arduino code. I built my Bluetooth car... Everything is ok but one thing is not. I want to blink leds when servos are turned to left or right - i want a blinkers. I did only it, when servos are turn to side - blinker only lights, not blink. Here is my code : (I just now translated code to english (not comments)... because i am from Slovakia - sorry for my bad english - Red color is marked what i want from You to change.) THANKS
(code tags added by moderator)
#include <Servo.h>
const int forward = 2; // Pin 2 - Dopredu
const int reverse= 3; // Pin 3 - Dozadu
Servo turn; // Servo na vytá?anie predných kolies
const int front_lights = 5; // Pin 5 - Predné svetlá
const int rear_lights = 6; // Pin 6 - Zadné svetlá
const int brake_lights = 7; // Pin 7 - Brzdové svetlá
const int long_lights = 8; // Pin 8 - ?ia?kové svetlá
const int reverse_lights = 9; // Pin 9 - Cúvacie svetlá
const int left_blinker = 10; // Pin 10 - ?avá smerovka
const int right_blinker = 11; // Pin 11 - Pravá smerovka
char val; // Premenná pre príjímanie dát zo sériového portu
void setup() {
// Nastavenie pinov
pinMode(forward, OUTPUT);
pinMode(reverse, OUTPUT);
turn.attach(4);
turn.write(75);
pinMode(front_lights, OUTPUT);
pinMode(back_lights, OUTPUT);
pinMode(brake_lights, OUTPUT);
pinMode(long_lights, OUTPUT);
pinMode(reverse_lights, OUTPUT);
pinMode(left_blinker, OUTPUT);
pinMode(right_blinker, OUTPUT);
Serial.begin(9600); // Za?atie sériovej komunikácie na 9600bps
}
// ?ítaj sériový port a prijímaj príkazy
void commands() {
if (Serial.available()) {
val = Serial.read();
}
if (val == 'f') { //
go_forward();
} else if (val == 'z') {
stop_go_forward();
} else if (val == 't') {
go_turbo();
} else if (val == 'x') {
stop_turbo();
} else if (val == 'b') {
go_back();
} else if (val == 'y') {
stop_go_back();
} else if (val == 'l') {
go_right();
} else if (val == 'r') {
go_left();
} else if (val == 'v') {
stop_turn();
} else if (val == 's') {
stop_car();
} else if (val == 'a') {
lightsON();
} else if (val == 'c') {
lightsOFF();
} else if (val == 'd') {
long_lightsON();
} else if (val == 'e') {
long_lightsOFF();
}
}
void loop() {
commands();
}
// Akcia dopredu
void go_forward() {
analogWrite(forward, 130);
digitalWrite(brake_lights, LOW);
}
// STOP Akcie dopredu
void stop_go_forward() {
digitalWrite(forward, LOW);
digitalWrite(brakelights, HIGH);
}
void go_turbo() {
digitalWrite(forward, HIGH);
digitalWrite(brake_lights, LOW);
}
void stop_turbo() {
digitalWrite(forward, LOW);
digitalWrite(brake_lights, HIGH);
}
// Akcia dozadu
void go_back() {
digitalWrite(reverse, HIGH);
digitalWrite(reverse_lights, HIGH);
digitalWrite(brake_lights, LOW);
}
// STOP Akcie dozadu
void stop_go_back() {
digitalWrite(reverse, LOW);
digitalWrite(reverse_lights, LOW);
digitalWrite(brake_lights, HIGH);
}
[color=red]// Akcia do?ava
void go_left() {
turn.write(42);
digitalWrite(left_blinker, HIGH);
}
// Akcia doprava
void go_right() {
turn.write(117);
digitalWrite(right_blinker, HIGH);
} [/color]
// STOP Akcie zatá?ania
void stop_turn() {
turn.write(77);
digitalWrite(left_blinker, LOW);
digitalWrite(right_blinker, LOW);
}
// Stop car
void stop_car() {
digitalWrite(forward, LOW);
digitalWrite(reverse, LOW);
digitalWrite(brake_lights, HIGH);
}
// SvetláON
void lightsON() {
digitalWrite(front_lights, HIGH);
digitalWrite(rear_lights, HIGH);
}
// SvetláOFF
void lightsOFF() {
digitalWrite(front_lights, LOW);
digitalWrite(rear_lights, LOW);
}
// Dia?kové svetláON
void long_lightsON() {
digitalWrite(long_lights, HIGH);
}
// ?ia?kové svetláOFF
void long_lightsOFF() {
digitalWrite(long_lights, LOW);
}