Отображение числе с перевернутым индикаторов.
- Войдите на сайт для отправки комментариев
Пт, 06/05/2022 - 20:58
Всем привет. В общем были часы китайские, стали часы с ардуино ))) Сам дисплей повторил как на китайских с перевернутой точкой
Пишу код, который бы отобразил нормально число например 11:
/* a = 8 b = 9 c = 10 d = 11 e = 12 f = 6 g = 7 dt = 5 */ int Digit1 = 2; // индикатор 1 int Digit2 = 3; // индикатор 2 int segA = 8; int segB = 9; int segC = 10; int segD = 11; int segE = 12; int segF = 6; int segG = 7; int segDT = 5; void setup() { pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); pinMode(segDT, OUTPUT); pinMode(Digit1, OUTPUT); pinMode(Digit2, OUTPUT); digitalWrite(segA, HIGH); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, HIGH); digitalWrite(segF, HIGH); digitalWrite(segG, HIGH); digitalWrite(segDT, HIGH); digitalWrite(Digit1, HIGH); digitalWrite(Digit2, HIGH); } void loop() { clear(); digit(11); } void digit(int x){ switch (x) { case 1: digitalWrite (Digit1,LOW); digitalWrite (segB,LOW); digitalWrite (segC,LOW); break; case 11: digitalWrite (Digit1,LOW); digitalWrite (segB,LOW); digitalWrite (segC,LOW); digitalWrite (Digit2,HIGH); digitalWrite (segF,HIGH); digitalWrite (segE,HIGH); break; } } void clear(){ digitalWrite(segA, HIGH); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, HIGH); digitalWrite(segF, HIGH); digitalWrite(segG, HIGH); digitalWrite(segDT, HIGH); digitalWrite(Digit1, HIGH); digitalWrite(Digit2, HIGH); }
Понимаю, что надо как-то инвертировать отображение- пробовал через отдельные функции, пробовал через отдельные переменные - нифига не пашет. Как это реализовал Китай??? СПАСИБО
https://img.tttcdn.com/product/xy/500/500/p/gu1/E/L/E1286BL/E1286BL-1-1bff-Saff.jpg Не вставилась картина сверху ((
Нашел косяк и исправил. Вот код:
Как этот код можно упростить??? СПАСИБО
Упростить - изучив массивы и циклы.
Так и не понял, что там "инвертировать". На картинке вроде обычные часы
Индикатор, наверное, вверх ногами припаян.
Это ж от разводки зависит. Если у перевёрнутого вместо а, подключить d, то и в софте менять ничего не надо.