16x2 отключение/включение подсветки

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем Максим B, 10 ноя 2015.

  1. Максим B

    Максим B Гуру

    Как правильно реализовать вкл/выкл подсветки текстового дисплея 16x2 через кнопку, нжны ли резисторы или просто разрывать контакт? Спасибо.
     
  2. Radius

    Radius Гик

    Для подсветки в дисплее стоят обычные светодиоды, токограничивающие резисторы уже встроены, поэтому можно просто разрывать контакт. Если хотите это делать с Ардуино, то не подключайте на прямую к пину, а используйте транзисторный ключ.
     
    Максим B нравится это.
  3. Максим B

    Максим B Гуру

    А со схемкой не поможете, спасибо.
     
  4. Radius

    Radius Гик

    upload_2015-11-11_12-19-40.png
    Транзистор любой npn.
     
    Tomasina, Sparkfire и Максим B нравится это.
  5. А в чем так красиво нарисована схемка? : )
     
  6. Максим B

    Максим B Гуру

    Ну и собственно упралвение осущ. через low, HIGH на порту - я прав??? Сегодня попробую.
     
  7. Максим B

    Максим B Гуру

    ИМХО: дак Diptrace, или EagleCad ... наверное
     
  8. Radius

    Radius Гик

    Схема нарисована в PCAD. Управление транзистором через LOW(выключить) и HIGH(включить) на порту Ардуино.
     
  9. Максим B

    Максим B Гуру

    Взял такой транзистор BC548B и даже с кт940а - подключил как вы нарисовали - и не работает (((
    Код (Text):

    // Подключаем стандартную библиотеку LiquidCrystal
    #include <LiquidCrystal.h>
     
    // Инициализируем объект-экран, передаём использованные
    // для подключения контакты на Arduino в порядке:
    // RS, E, DB4, DB5, DB6, DB7
    LiquidCrystal lcd(4, 5, 10, 11, 12, 13);

    int led = 8;

    void setup()
    {
      pinMode(led, OUTPUT);  
          // устанавливаем размер (количество столбцов и строк) экрана
        lcd.begin(16, 2);
        // печатаем первую строку
        lcd.print("Hello world!");
        // устанавливаем курсор в колонку 0, строку 1. То есть на
        // самом деле это вторая строка, т.к. нумерация начинается с нуля
        lcd.setCursor(0, 1);
        // печатаем вторую строку
        lcd.print("foo bar baz");
    }
     
    void loop()
    {
      digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(1000);               // wait for a second
      digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
      delay(1000);      
    }
     
    подключено к пину d8 нано. Напряжение на Базе 0,87 (((
     
    Последнее редактирование: 13 ноя 2015
  10. круто, спасибо : )
     
  11. Radius

    Radius Гик

    Проверьте полярность подключения подсветки в LCD. Можно просто подать +5 В на пины подсветки и убедиться что она работает. Либо ошиблись в цоколевке транзистора. Схема простая и 100% рабочая.
     
  12. Максим B

    Максим B Гуру

    В том то и дело, что схема протая. 15 пин подсветки это +5, 16 GND. Если напрямую подать +5- все ок, подсветка горит норм.
     
  13. Radius

    Radius Гик

    Тогда разбирайтесь с ногами транзистора.
     
  14. Максим B

    Максим B Гуру

    Спасибо - все получилось ))) Это мой косяк- схемы надо уметь читать )
     
  15. DrProg

    DrProg Вечный нерд

    Сам с эти парился, и чуть не спалил Про Мини пока разобрался. Там какая то нога либо в землю, либо в никуда. Если подать +5, МК начинает дико греться. Проверьте и не наступите на те же грабли!
     
    ИгорьК нравится это.