const int POT=0; // Аналоговый вход A0 для подключения потенциометра
int valpot = 0; // переменная для хранения значения потенциометра
// список контактов подключения светодиодной шкалы
const int pinsled[8]={4,5,6,7,8,9,10,11};
int countleds = 0; // переменная для хранения значения шкалы
void setup()
{
for(int i=0;i<10;i++)
{
// Сконфигурировать контакты подсоединения шкалы как выходы
pinMode(pinsled[i],OUTPUT);
digitalWrite(pinsled[i],LOW);
}
}
void loop()
{
valpot = analogRead(POT); // чтение данных потенциометра
// масштабируем значение к интервалу 0-8
countleds=map(valpot,0,1023,0,8);
// зажигаем количество светодиодов, равное countled
for(int i=0;i<8;i++)
{
if(i<countleds) // зажигаем светодиод шкалы
digitalWrite(pinsled[i],HIGH);
else // гасим светодиод шкалы
digitalWrite(pinsled[i],LOW);
}
}
/*https://playarduino.ru/uroki-arduino/urok-po-arduino-3-potentsiometr-arduino-ispolzuem-potentsiometr-v-proektah-arduino/?ysclid=lm6gvskqdc2442861
Потенциометр является переменным делителем напряжения. Потенциометры бывают разных размеров и форм, но все имеют три вывода.
Номинал потенциометра определяет сопротивление между крайними выводами, оно неизменно, поворотом шкалы мы изменяем сопротивление между средним и
крайним выводов от 0 до номинала потенциометра, либо от номинала до нуля.
В этом уроке мы будем использовать аналоговый вход Arduino, и рассмотрим работу потенциометра в качестве аналогового датчика, и будем демонстрировать
показания аналогового датчика с помощью шкалы из 8 светодиодов.
Для получения аналоговых данных, Arduino имеет аналоговые входы, оснащенные 10-разрядным аналого-цифровым преобразователем для аналоговых преобразований.
Точность АЦП определена разрешением. 10-разрядный означает, что АЦП может разделить аналоговый сигнал на 210 различных значений.
Следовательно Arduino может присвоить 210=1024 аналоговых значений, от 0 до 1023.
Опорное напряжение определяет максимальное напряжение, его значение соответствует значению 1023 АЦП. При напряжении 0 В на контакте АЦП возвращает
значение 0, опорное напряжение возвращает значение 1023. Несмотря на то, что возможно изменить опорное напряжение, мы будете использовать опорное
напряжение 5 В.
И так, начнем с описания проекта. Восемь, подключенных к контроллеру Arduino, светодиодов расположены в ряд. Мы считываем показания с аналогового входа
Arduino, к которому подключен потенциометр, и отображаем его значение на шкале из 8 светодиодов. Если сопротивление потенциометра (между первым и
средним выводом) равно 0, то не горит ни один светодиод, при максимальном сопротивлении потенциометра горят все 8 светодиодов.
*/