Проблема с цифровым входом
- Войдите на сайт для отправки комментариев
Чт, 07/05/2020 - 18:31
Всем привет еще, хочу сделать чтобы лампы индикации(акб,чек,повороты) в машине выводились в виде текста на тфт дисплей. Их я подключил на цифровые пины 10 11 12. Так же поставил подтягивающие резисторы на 4.7 КоМ на каждый цифровой вход и 4 диода - второй конец на массу.
Кароче при подаче 5в на цифровой вход загорается не только та лампа куда подал 5в а еще и остальные причем рандомно, что не так понять не могу, по умолчанию состояние лампы установлено 0. (ардуино уно )
#include <Adafruit_TFTLCD.h> // Hardware-specific library #define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin (1 -> 0 min 15 micros 0 -> 1) #define LCD_CS A3 // Chip Select goes to Analog 3 (aktiv LOW) #define LCD_RS A2 // Command/Data goes to Analog 2 (0 command, 1 data) #define LCD_WR A1 // LCD Write goes to Analog 1 #define LCD_RD A0 // LCD Read goes to Analog 0 Adafruit_TFTLCD tft(LCD_CS, LCD_RS, LCD_WR, LCD_RD, LCD_RESET); int akbPin = 10; // вход int povPin = 11; // вход int checkPin = 12; // вход int akbState = 0; //статус int povState = 0; //статус int checkState = 0; //статус void setup(void) { Serial.begin(9600); //tft.begin(0x9325); tft.begin(0x9341); ////////////////////////////////////////////// pinMode(akbPin, INPUT); pinMode(povPin, INPUT); pinMode(checkPin, INPUT); } void loop(void) { //-------------------------------------------------------------------------------- povState = digitalRead(povPin); if (povState == HIGH) { //лампа поворотов tft.setCursor(45, 150); tft.setTextColor(GREEN,BLACK); tft.setTextSize(3); tft.println(utf8rus("ПОВОРОТЫ")); } else if (povState == LOW) { tft.fillRect(10,150,220,25,BLACK);// лампа поворотов выкл } //-------------------------------------------------------------------------------- checkState = digitalRead(checkPin); if (checkState == HIGH) { //лампа чек tft.setCursor(11, 120); tft.setTextColor(ORANGE,BLACK); tft.setTextSize(3); tft.println("CHECK ENGINE"); } else if (checkState == LOW){ tft.fillRect(10,120,220,25,BLACK);// лампа чек выкл } //-------------------------------------------------------------------------------- akbState = digitalRead(akbPin); if (akbState == HIGH) { // лампа акб tft.fillTriangle (120,110,15,280,225,280,RED); tft.setCursor(50, 290); tft.setTextSize(3); tft.setCursor(90, 180); tft.setTextColor(BLACK,RED); tft.setTextSize(11); tft.println("!"); tft.setCursor(80, 190); tft.setTextSize(5); tft.setTextColor(WHITE); tft.println(utf8rus("АКБ")); } else if (akbState == LOW) { tft.fillTriangle (120,110,15,280,225,280,BLACK); //лампа акб выкл } //-------------------------------------------------------------------------------- delay(100); }
Рисуйте схему подключения, по описанию я не понял что там с диодами, да и вообще всей картины не видно.
Рисуйте схему подключения, по описанию я не понял что там с диодами, да и вообще всей картины не видно.
И кто Вам такое подключение сказал сделать? Это же полный бред, если схема верна.
Уберите диоды из схемы вообще (или закоротите их перемычками) и скажите как изменится поведение.
Miha_Axe - Миха, я в Ахе от твоей схемы....
Что и куда твои резисторы "подтягивают"?
Ну а что тут скажешь? Ждем результатов по моим подсказкам выше.
Все работает, спасибо за подсказку)
Все же хотелось бы узнать, откуда эти диоды в схеме взялись?
А в машине то 12+ вольт ... Вангую белый дым !
Ну так диоды остались, можно прифигачить куда-нибудь зачем-нибудь ))))
Все же хотелось бы узнать, откуда эти диоды в схеме взялись?
Я где то вычитал что подтягивающие резисторы ставят от 10КоМ до 100КоМ, и решил не вашим не нашим поставил 47КоМ . Я подумал что может из за того что резисторы спаяны в кучу срабатывают все лампы, решил воткнуть диоды - не помогло. Тогда вычитал что оптимальный вариант подтягивающего резистора 10Ком, от 5КоМ и ниже, сильная подтяжка, а от 20КоМ до 100Ком - слабая подтяжка. Так как 10 под рукой не было поставил 4.7КоМ , но диоды не убрал.
Не читай надписи на сортирных стенах, читай умные книшки. Список в песочнице
Вообще диоды не лишние, только стоят не там.
И какой эффект дают эти диоды со своим падением напряжения порядка 0,6В?