Всем привет, пожалуйста дайте ответ на следующий глупый вопрос: analogRead(0); " эта команда будет пытаться читать аналоговое значение какого входа, цифрового D0 или аналогового А0" PS см. прикрепленную картинку.
У Вас же в шпаргалке все написано? Или с буквой А (латинской!) или номером больше 14. Как Вам удобнее
Кстати обратил на это внимание, что может читать с соседнего аналогового входа. Если задать вместо "0" значение "A0" перестанет перебирать другие пины?
Свободно читает соседний аналоговый вход, если перепутать пайку. Другой вопрос, когда задействовано два аналоговых пина.
Два аналоговых входа ОДНОВРЕМЕННО быть задействованы - НЕ МОГУТ в принципе. Схемотехника входного коммутатора не позволяет. Другое дело - что переключаются они быстро.
ТС, Вас троллят. analogRead(0) - ровно тоже самое, что и analogRead(A0) и ровно тоже самое, что analogRead(14). Пишите так, как Вам больше нравится. Вот, что делает analogRead первой же строкой Код (C++): if (pin >= 14) pin -= 14;
Чего не позволит? Из 15 оно сделает 1. Из 16 - 2. Нужен номер ADC канала - вот он и получается. См. исходник функции analogRead в файле wiring_analog.c
if (pin >= 14) pin -= 14; 1. Из 15 оно сделает 14, из 16 - то же. но не 1 или 2. 2. Синтаксический анализатор отличит "АналогРид" от команды "ДиджиталРид" и подставит нужные по смыслу номера пинов.
Чего? Т.е. если переменная pin равна 15, то после выполнения оператора Код (C++): if (pin >= 14) pin -= 14; она станет равной 14? Я не буду это комментировать, просто запустите и проверьте. А потом расскажете, что получилось. Ну, а пункт №2 я тем более комментировать не буду. Сами-то поняли чего сказали?