Аналоговой вход в виде цифрового.

br0lviv
Offline
Зарегистрирован: 11.06.2018

добрый день, собственно вопрос. Правильно будет использование аналогового входа (остались только они))) как цифровой вот в таком виде. Подтяжку через резистор 10 км конечно же на землю. Далее вход будет использован для кнопки, хочется читать ее как HIGH и LOW. Какие последствия и каких подводных камней ожидать? Спасибо, не пинайте.



#define pin A0 
void setup () {
pinMode(pin, INPUT);
}
 
void loop () {
byte asdigital;
if(analogRead(pin) < 512){
asdigital=0; 
}
else 
{
asdigital=1;
}
}

 

br0lviv
Offline
Зарегистрирован: 11.06.2018
 #define pin A0 


void setup () {
pinMode(pin, INPUT);
}

void loop () {
int asdigital;
if(analogRead(pin) < 512){
asdigital=0; 
}
else 
{
  asdigital=1;
}
}

 

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

Чисто аналоговыми входами являются только А6 и А7. Все остальные (А0 - А5) являются в том числе и цифровыми. Поэтому не нужно использовать функцию analogRead(). Вместо неё используйте функцию digitalRead() и считывайте входы как цифровые.

Цитата:

Аналоговые входы (analog pins) могут быть использованы как цифровые вход/выходы (digital pins). Обращение к ним идет по номерам от 14 (для аналогового входа 0) до 19 (для аналогового входа 5).

5N62V
Offline
Зарегистрирован: 25.02.2016

Jeka_M пишет:

 Поэтому не нужно использовать функцию analogRead(). 

Хотя можно и использовать. Особенно рекомендуется в случаях, когда у вас на один вход подключено несколько кнопок.

bwn
Offline
Зарегистрирован: 25.08.2014

Jeka_M пишет:

Чисто аналоговыми входами являются только А6 и А7. 

А кстати, почему на 328 в дипе они возвращают рандомные значения? Или кристалл одинаковый, просто лап не хватило?

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Jeka_M пишет:

Чисто аналоговыми входами являются только А6 и А7.


Вот спасибо, подсказали, а то я вчера всю голову сломал почему у меня шаговик на А7 пине не работал, думал сдох, перевесил на 13ый.

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

bwn пишет:

Jeka_M пишет:

Чисто аналоговыми входами являются только А6 и А7. 

А кстати, почему на 328 в дипе они возвращают рандомные значения? Или кристалл одинаковый, просто лап не хватило?

А6 нормальные значения выдаёт - меряю напряжение на sim800

bwn
Offline
Зарегистрирован: 25.08.2014

andycat пишет:
bwn пишет:

А кстати, почему на 328 в дипе они возвращают рандомные значения? Или кристалл одинаковый, просто лап не хватило?

А6 нормальные значения выдаёт - меряю напряжение на sim800

Их физически снаружи нет. Я то разогнался, что будет либо 0, либо 1023, обшибся, в районе 400 болтаются.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

andycat пишет:
bwn пишет:

Jeka_M пишет:

Чисто аналоговыми входами являются только А6 и А7. 

А кстати, почему на 328 в дипе они возвращают рандомные значения? Или кристалл одинаковый, просто лап не хватило?

А6 нормальные значения выдаёт - меряю напряжение на sim800

А 328 в DIP'е?

Тогда на какой ножке Вы меряете?

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

andriano пишет:

andycat пишет:
bwn пишет:

Jeka_M пишет:

Чисто аналоговыми входами являются только А6 и А7. 

А кстати, почему на 328 в дипе они возвращают рандомные значения? Или кристалл одинаковый, просто лап не хватило?

А6 нормальные значения выдаёт - меряю напряжение на sim800

А 328 в DIP'е?

Тогда на какой ножке Вы меряете?

нет, не в DIPе, не правильно понял ответ bwn, меряю на arduino nano v3 robotdyn, а так да, посмотрел уже - в dip корпусе A6 A7 нет пинов.