Ви не увійшли.
Добрый
Такой вопрос - у меня в скетче указано в
void setup() {
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
И во время работы ардуино по умолчанию вкл реле.
Как сделать чтобы по умолчанию они были выключены?
Неактивний
pinMode(RELAY1, OUTPUT); - это конфигурация пина на выход
digitalWrite(RELAY1, HIGHT) это запись лог.единицы в пин
У Вас же по умолчанию записан лог. ноль digitalWrite(RELAY1, LOW), поэтому реле включены.
А вообщем то потрудитесь прочесть хотя бы что здесь написано http://arduino.ua/ru/prog/ .
Неактивний
pinMode(RELAY1, OUTPUT); - это конфигурация пина на выход
digitalWrite(RELAY1, HIGHT) это запись лог.единицы в пин
У Вас же по умолчанию записан лог. ноль digitalWrite(RELAY1, LOW), поэтому реле включены.
А вообщем то потрудитесь прочесть хотя бы что здесь написано http://arduino.ua/ru/prog/ .
Это понятно, что значит low, high.
Я спрашиваю, почему и как, а не что значит.
Почему по умолчанию на output идет high, а не low.
Прописать в loop сразу low не годится, потому как оно будет повторятся и надо чтобы реле иногда было включено постоянно, после какого события (само собой не идет речь после reset события).
У меня нигде не прописано digitalwrite(relay1, low) или иное на включение.
Остання редакція Cookins (2017-03-27 22:40:56)
Неактивний
Все инициализация пишется в секции setup, выполняется эта секция один раз при старте, далее по кругу крутится секция loop.
Все умолчания которые вам не нравятся делаются в setup. Хорошим тоном считается принудительная инициализация всего, что вам надо, тогда вы не будете зависить от компилятора и чипа.
З,Ы, Потрудитесь прочитать хотя бы основы программирования.
Неактивний
Вставлю 5 копеек. После строк
pinMode(RELAY1, OUTPUT);
pinMode(RELAY2, OUTPUT);
ваш контроллер настраивает указанные выводы на выход. При этом по умолчанию на каждом из выводов присутствует логический 0. Особенность вашего релейного шилда в том, что реле на нём включаются при подаче логического 0, а выключаются при подаче логической 1. Поэтому после этих строк реле включены. Чтобы их выключить необходимо дописать 2 строки для подачи логической 1.
digitalWrite(RELAY1, HIGH);
digitalWrite(RELAY2, HIGH);
Остання редакція Roman1984 (2017-03-28 17:30:38)
Неактивний
Nefreemen пише:pinMode(RELAY1, OUTPUT); - это конфигурация пина на выход
digitalWrite(RELAY1, HIGHT) это запись лог.единицы в пин
У Вас же по умолчанию записан лог. ноль digitalWrite(RELAY1, LOW), поэтому реле включены.
А вообщем то потрудитесь прочесть хотя бы что здесь написано http://arduino.ua/ru/prog/ .Это понятно, что значит low, high.
Я спрашиваю, почему и как, а не что значит.
Почему по умолчанию на output идет high, а не low.
Прописать в loop сразу low не годится, потому как оно будет повторятся и надо чтобы реле иногда было включено постоянно, после какого события (само собой не идет речь после reset события).
У меня нигде не прописано digitalwrite(relay1, low) или иное на включение.
Так вопрос тогда нужно задать корректно и код привести тоже корректней а то получилось привели код инициализации пинов а пишите о включении. Вам уже дали правильный ответ что шильд реле как и светодиод включается лог. 0. (поскольку в шилде стоит оптопара). Да и я написал что реле вкл. лог. 0, думал Вам это известно, собственно это несложно было проверить .
Неактивний
В данном случае, ничего.
Был у меня случай:
int16_t A
int16_t B
uint16_t CA = B - C
Не помню на какой версии IDE, но результат вычислялся неправильно.
Ой, да ладно придумывать.
Неактивний
alex_dol пише:В данном случае, ничего.
Был у меня случай:
int16_t A
int16_t B
uint16_t CA = B - C
Не помню на какой версии IDE, но результат вычислялся неправильно.
Ой, да ладно придумывать.
Скорее всего одна из переменных А или В принимали в некоторых случаях отрицательные значения, а переменная С, объявленная как беззнаковая - выдавала билиберду. Вообще с типами данных надо быть аккуратнее, особенно если пишите программу для управления баллистическими ядерными ракетами :-)
Неактивний