Проблема с цифровым входом
- Войдите на сайт для отправки комментариев
Чт, 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В?