В Альпах будет востребовано, снега нет совсем, бизнес пролетает
ну не знаю машинная это писанина или нет, я человеку объяснил что требуется , рассказал какое железо имеется , он собрал модель , написал код, я залил его - все работало., а FLProg - для удаленного подключения и мониторинга,
я так понимаю , разьясните если это не так, ( если желание есть, если нет желания - то на нет и суда нет
Он не написал код, а собрал кубики и экспортировал это в код. Т.е. это машинная генерация, а не человеческая писанина. Сам автор в этом коде скорее всего нифига не поймет. Но если вас устраивает, то и ладно
У меня один из заказчиков попросил подправить код. Я когда глянул - просто офигел. Первая мысль “это ж надо так запутать код!”) А потом понял, что это как раз одна из визуальных сред, типа FLProg.)
Просто программа так видит, машинное зрение однако.
void setup() {
pinMode(13, OUTPUT); // объявляем пин 13 как выход
pinMode(2, INPUT); // объявляем пин 2 как вход
}
void loop() {
if (digitalRead(2) == HIGH) // когда на пин 2 поступает высокий сигнал
{
digitalWrite(13, HIGH); // зажигаем светодиод
}
if (digitalRead(2) == LOW) // когда на пин 2 поступает низкий сигнал
{
digitalWrite(13, LOW); // выключаем светодиод
}
}
```взял код из робототехника 18
правильно ли понимаю если необходимо сделать 2 кнопки и 2 диода то необходимо присвоить им нужные значения на нужных пинах,
void setup() {
pinMode(13, OUTPUT); // объявляем пин 13 как выход
pinMode(12, OUTPUT); // объявляем пин 12 как выход
pinMode(2, INPUT); // объявляем пин 2 как вход
pinMode(3, INPUT); // объявляем пин 3 как вход
}
void loop() {
if (digitalRead(2) == HIGH) // когда на пин 2 поступает высокий сигнал
if (digitalRead(3) == HIGH) // когда на пин 3 поступает высокий сигнал
{
digitalWrite(13, HIGH); // зажигаем светодиод
digitalWrite(12, HIGH); // зажигаем светодиод
}
if (digitalRead(2) == LOW) // когда на пин 2 поступает низкий сигнал
if (digitalRead(3) == LOW) // когда на пин 3 поступает низкий сигнал
{
digitalWrite(13, LOW); // выключаем светодиод
digitalWrite(12, LOW); // выключаем светодиод
}
}
примерно так? или я неправильно мыслю, если нет - направьте куда смотреть для исправления
введите или вставьте сюда код
```pinMode(13, OUTPUT); // объявляем пин 13 как выход
pinMode(12, OUTPUT); // объявляем пин 12 как выход
pinMode(2, INPUT); // объявляем пин 2 как вход
pinMode(3, INPUT); // объявляем пин 3 как вход
}
void loop() {
if (digitalRead(2) == HIGH) // когда на пин 2 поступает высокий сигнал
if (digitalRead(3) == HIGH) // когда на пин 3 поступает высокий сигнал
{
digitalWrite(13, HIGH); // зажигаем светодиод
digitalWrite(12, HIGH); // зажигаем светодиод
}
if (digitalRead(2) == LOW) // когда на пин 2 поступает низкий сигнал
if (digitalRead(3) == LOW) // когда на пин 3 поступает низкий сигнал
{
digitalWrite(13, LOW); // выключаем светодиод
digitalWrite(12, LOW); // выключаем светодиод
}
}
Представь, что ты машина (компилятор), ты читаешь код и выполняешь его сверху вниз.
Так вот это вот поделие (что выше) как будет выполняться?
Просто словами опиши, как сможешь.
для меня 12 и13 вывод это то место куда я должен либо подать напряжение либо нет
2 и 3 это откуда я жду сигнал опять же в виде присутствия напряжения либо отсутствия
9 и 10 строки - если на этих входах есть напряжение ( а это нажата кнопка ) то надо на 12 и13 выход подать напругу
если нет - то обесточить.
компилятор забраковал 2 строку - там лишние знаки спереди были, потом ругался на 8 строку , я это исправил , но показывает на самый низ- что там - я пока не понял
О ТАМ СКОБКИ НЕХВАТАЛО
Я фигею от таких конструкций.
Почему не написать просто:
digitalWrite(13, digitalRead(2));
В вашем коде выше состояние пинов 12 и 13 будет изменяться ТОЛЬКО при одинаковом состоянии пинов 2 и 3. Т.е. если на 2 и 3 одновременно HIGH, то одновременно зажигаются 12 и 13 и наоборот
пока не знаю этого , вот и пытаюсь - спасибо
да - компилятор код залил - но по факту не то что я ожидал, видимо строки надо писать отдельно на каждую кнопку,?
Конечно
спасибо - 2 строчки заменили столько писанины , хотя та писанина что то тоже в голову отложила , хотя ещё не разложил по полкам , к голове просто каша
Сергей, на какой странице книги остановился?
Не эквивалентно.

Не эквивалентно.
В смысле: неатомарная инструкция преобразуется в атомарную?
С++ для чайников но 37, блокнот программиста полностью , но информацию не могу по полкам разложить, сколько то прочитаю пытаюсь параллельно уроки поискать, чтобы не только письменная информация была, со схемами проще - но пока …
Можно и так сказать.
А по простому (для ТС) между двумя digitalRead
проходит какое-то время, за это время может изменится уровень на 2-ом пине, может прерывание случиться, да и вообще до хрена чего может произойти.
Особенно интересно изменение уровня. Может получиться так, что сработают ОБЕ ветки ветвления или не сработает НИ ОДНА.