Управление скоростью коллекторного двигателя с помощью ИК пульта
- Войдите на сайт для отправки комментариев
Втр, 29/03/2016 - 20:10
Доброго времени всем!
Есть задача, регулировать пультом скорость коллекторного двигателя. Сам пока только познаю азы в понятиях Ардуино. Нашел в нете подходящий по-помему мнению скетч, с регулировкой светодиода, но при компиляции он выдает ошибку в строке 46. Подскажите, господа разбирающиеся, что здесь неправильно?
Заранее благодарен!
/* * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv * An IR detector/demodulator must be connected to the input RECV_PIN. * Version 0.1 July, 2009 * Copyright 2009 Ken Shirriff * http://arcfn.com */ #include <IRremote.h> int RECV_PIN = 11; int vall;//код кнопки int pin1;//яркость светодиода IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); pinMode(3, OUTPUT); vall=0; } void loop() { irrecv.enableIRIn(); if (irrecv.decode(&results)) { Serial.println(results.value); if (results.value!=4294967295) { vall=results.value; } if (vall==-28561){ pin1=pin1+20; if (pin1>255){pin1=255;} } if (vall==-22441){ pin1=pin1-20; if (pin1<0){pin1=0;} Serial.print(pin1); } analogWrite(3,pinl) irrecv.resume(); // Receive the next value } }
Нет точки с запятой ;
Да, это не заметил, но увы - не полегчало. Выдает вот такую ошибку:
sketch_mar29e:46: error: 'pinl' was not declared in this scope
exit status 1
'pinl' was not declared in this scope
Нашел еще один скетч, он нормально заливается в плату, но ничего не работает. (коды пульта изменены на мои):
Какой из них предпочтительнее и легче привести в рабочее состояние?
Потому что в строке 13 написано pin1, а в строке 46 написано pinl. Разницу видите?
Спасибо, уже увидел! А по второму скетчу навскидку ничего не видно проблематичного?
В первом: int RECV_PIN = 11;
Во втором: int RECEIVE_PIN = 2;
К какой ноге реально подключен датчик?
Датчик пульта перевешивал на нужную ногу. Скорее всего где-то контакта не было. Сейчас заработали оба скетча, первый оказался немного не такой как надо - регулировка одной кнопкой по кругу минимум-максимум. Во второй добавляю регулировку второго двидателя - опять какая-то засада.... Знаний мало, а хочется сделать что-то сразу. Вот переделанный скетч, посмотрите, ПОЖАЛУЙСТА, что я не так наковырял?
А где в
void
setup
()
pinMode(LED_V, OUTPUT);
pinMode(LED_N, OUTPUT);
?
В скетче для одного мотора этой строки не было, но работало. Добавил - не помогло. Нажимаешь на кнопку верхнего, загораются светодиоды сразу на обоих выходах, и дальше не регулируются никуда.
Пробуй так, только коды пульта свои поставь.
Попробовал, ничего не изменилось... Сейчас нашел опечатку в кодировке нижнего мотора, теперь светодиоды загораются (одновременно) и от кнопки верхнего, и от нижнего мотора