Вольтметр
- Войдите на сайт для отправки комментариев
Пнд, 23/12/2019 - 23:41
int anodPins[] = {A1, A2, A3, A4}; int segmentsPins[] = {5, 6, 7, 8, 9, 10, 11, 12}; void setup() { Serial.begin(9600); for (int i = 0; i < 4; i++) { pinMode(anodPins[i], OUTPUT); } for (int i = 0; i < 8; i++) { pinMode(segmentsPins[i], OUTPUT); } } int seg[10][8] = { {1, 1, 1, 1, 1, 1, 0, 0}, //Цифра 0 {0, 1, 1, 0, 0, 0, 0, 0}, //Цифра 1 {1, 1, 0, 1, 1, 0, 1, 0}, //Цифра 2 {1, 1, 1, 1, 0, 0, 1, 0}, //Цифра 3 {0, 1, 1, 0, 0, 1, 1, 0}, //Цифра 4 {1, 0, 1, 1, 0, 1, 1, 0}, //Цифра 5 {1, 0, 1, 1, 1, 1, 1, 0}, //Цифра 6 {1, 1, 1, 0, 0, 0, 0, 0}, //Цифра 7 {1, 1, 1, 1, 1, 1, 1, 0}, //Цифра 8 {1, 1, 1, 1, 0, 1, 1, 0} //Цифра 9 }; void loop() { int sensorValue = analogRead(A0); //float voltage = sensorValue * (5.0 / 1023.0); Serial.println(sensorValue); int v = sensorValue; for (int k = 0; k < 8; k++) { digitalWrite(segmentsPins[k], ((seg[v][k] == 1) ? LOW : HIGH)); } digitalWrite(anodPins[3], HIGH); delay(1); digitalWrite(anodPins[3], LOW); }
Нужно выводить значение потенциометра (0-1023) на 4 сегментный 7 разрядный индикатор
Подскажите как сделать это могу выводить только значение до 9
Подскажите как сделать это могу выводить только значение до 9
и что, этот код работает? - удивительно... должен виснуть практически мгновенно
У вас тут выводится цифра только в последний разряд. Чтобы выводить все число до 1023 - нужно
1) разбить число на отдельные цифры (например 734 -> "7", "3", "4")
2) вывести каждую цифру на свой индикатор
В вашем коде ничего похожего нет
Код работает без проблем. Да я понимаю что выводит все в последний разряд я не понимаю как правельно разбить число
Код работает без проблем. Да я понимаю что выводит все в последний разряд я не понимаю как правельно разбить число
Чтобы правИльно разбить число, нужно в строке поиска, которая справа сверху набрать "разбить число на цифры", увидеть сколько раз на форуме обсуждался этот вопрос, прочитать, воспользоваться.
Код работает без проблем.
вот это вот работает при v от 0 до 1023? не верю
Вы сами-то понимаете, что этой строчкой перепахиваете всю память контроллера?
Спасибо за помощь
похоже студентам задали работу с динамической индикацией... сразу два однотипных вопроса на форуме.
Ну нам только материал отправили
Разбили число на цифры по разрядам, вывели первый разряд, подали активный уровень на управление первого разряда, задержка, сняли активный уровень, вывели второй разряд, подали активный уровень на управление второго разряда ...........