Господа всех приветствую, помогите с проблемкой, на ардуинке UNO скетч работает, а на ардуинке NANO не работает, скетчи заливаются без проблем. Вот простой скетч Код (C++): #include <RCSwitch.h> RCSwitch mySwitch = RCSwitch(); int LedPin = 13; // Подключаем светодиод к порту 13 int ButPin = 4; // Подключаем кнопку к выходу 4 int flag = 0; // флаг состояния void setup() { pinMode(LedPin, OUTPUT); pinMode(ButPin, OUTPUT); digitalWrite(ButPin, LOW); mySwitch.enableTransmit(5); } void loop() { if(digitalRead(ButPin) == HIGH && flag == 0) { pinMode(LedPin, INPUT); mySwitch.send(7777777, 24); flag = 1; } if(digitalRead(ButPin) == LOW && flag == 1) { pinMode(LedPin, OUTPUT); //не горит mySwitch.send(7777777, 24); flag = 0; } delay(60); }
Uno: pin4 соединяю (5v ) pin13 не горит, откл. горит. NANO - не горит по любому, даже на GND http://arduino.ru/hardware/arduinoboardnano nano с USB
Код (C++): pinMode(LedPin, OUTPUT); //не горит а должен гореть? Переключил пин со входа на выход и он загорелся? А единичку записать?
Булевые переменные ни один МК не поддерживает. Вместо них юзают целый байт с затычкой под bool. Но я, с целью сохранения драгоценной оперативы, все булевые переменные в один байт загоняю.
Попробуйте на практике, pin4 и + 5v пин13 не горит. Отключил пин, светик горит. Заливаю в NANO ,чего ни делай не горит. Может другое условие написать без delay?
Это мне? Ну не. У нас с тобой между подходами к решению задач целая пропасть. Я инженер с многолетним стажем и на авось не полагаюсь.
Почему у вас пин кнопки инициализируется как OUTPUT? И вы этими командами что делаете? Зажигаете и гасите светодиод? Код (C++): pinMode(LedPin, INPUT); ... pinMode(LedPin, OUTPUT); //не горит
В NANO на два аналоговых входа больше, чем в UNO, не существенно, но всё же не стоит говорить, что нет отличий. Попробуйте для начала стандартный "blink" из примеров, посмотрите что будет. Если есть отличия в работе, значит у Вас проблемная плата.