попробовал тестовый скетч со светодиодом...
Код:
int button = 2;
int led = 5;
void setup() {
pinMode(led, OUTPUT);
pinMode(button, INPUT);
}
void loop(){
if (digitalRead(button) == HIGH) {
digitalWrite(led, HIGH);
}
else {
digitalWrite(led, LOW);
}
}
интересная штука выходит, если светодиод бросить на прямую к выходам этого радио модуля от брелка, при нажатии на кнопку он непрерывно светит.
если подключить к ардуино и залить выше приведенный скетч, то при нажатии кнопки светодиод мигает, причем как то хаотично. но по идее серва все равно должна сработать? и уйти на заданный угол?
Код:
#include <Servo.h>
Servo myservo;
int button = 2;
int button2 = 3;
int led = 5;
void setup() {
myservo.attach( 8 );
pinMode(led, OUTPUT);
pinMode(button, INPUT);
pinMode(button2, INPUT);
}
void loop(){
if (digitalRead(button) == HIGH) {
digitalWrite(led, HIGH);
myservo.write(90);
}
if (digitalRead(button) == HIGH) {
digitalWrite(led, HIGH);
myservo.write(0);
}
else {
digitalWrite(led, LOW);
}
}
Добавлено спустя 22 минуты 39 секунд:ага, все решил проблему!
в последнем скетче я ошибся ))
вот правильный вариант, почти то что нужно
Код:
#include <Servo.h>
Servo myservo;
int button = 2;
int button2 = 3;
int led = 5;
void setup() {
myservo.attach( 8 );
pinMode(led, OUTPUT);
pinMode(button, INPUT);
pinMode(button2, INPUT);
}
void loop(){
if (digitalRead(button) == HIGH) {
digitalWrite(led, HIGH);
myservo.write(180);
}
if (digitalRead(button2) == HIGH) {
digitalWrite(led, HIGH);
myservo.write(0);
}
else {
digitalWrite(led, LOW);
}
}
при нажатии на 1 кнопку серва едет туда, при нажатии на другую - обратно
приколы с прошивкой при соединенном модуле так и не реил. просто отсоединяю, прошиваю и соединяю.
почему серва плохо работала и светодиод мигал - походу проблемы с питанием как сказал Ангел...