Проблема с экраном

Тема в разделе "Arduino & Shields", создана пользователем M0ln1a, 23 авг 2015.

  1. M0ln1a

    M0ln1a Гик

    Здравствуйте!
    Месяц назад я начал делать мини центр управления компьютером.
    Детали проекта:
    1) Функции устройства
    На экране 16*2 будет сделано меню, на котором выписаны функции. Выбор осуществляется 3-мя кнопками. При нажатии на кнопку "ОК", в компьютере будет выполнена нужная функция. Это так называемая "Клавиатура горячих клавиш"
    2) Платформа - Arduino Due
    3) Демо код (Не все функции):

    Код (Text):
    #include <LiquidCrystal.h>
    #include <OneButton.h>


    byte function = 0;
    byte LCD = 0;

    OneButton button1(0, true);
    OneButton button2(1, true);
    OneButton button3(2, true);
    LiquidCrystal lcd(4, 5, 10, 11, 12, 13);

    void setup()
    {
     
      lcd.begin(16, 2);
      Keyboard.begin();
      button1.attachClick(Click1);
      button2.attachClick(Click2);
      button3.attachClick(Click3);
    }

    void loop()
    {
      button1.tick();
      button2.tick();
      button3.tick();
      LCD = function;
      if(LCD = 1)
      {
       
        lcd.print("Help");
      }
      if(LCD = 2)
      {
       
        lcd.print("Copy");
      }
      if(LCD = 3)
      {
       
        lcd.print("Cut");
      }
      if(LCD = 4)
      {
       
        lcd.print("Select all");
      }
      if(LCD = 5)
      {
       
        lcd.print("Delete");
      }
      if(LCD = 6)
      {
         
        lcd.print("Undo");
      }
      if(LCD = 7)
      {
       
        lcd.print("Paste");
      }
      if(LCD = 8)
      {
        lcd.print("New Folder");
      }
      if(LCD = 9)
      {
        lcd.print("New Name");
      }
      if(LCD = 10)
      {
        lcd.print("Windows Security");
      }
      if(LCD = 11)
      {
        lcd.print("Task Manager");
      }
      if(LCD = 12)
      {
      lcd.print("Web");
      }
      if(LCD = 13)
      {
        lcd.print("Settings");
      }
      if(LCD = 14)
      {
        lcd.print("To perform");
      }
      if(LCD = 15)
      {
        lcd.print("Set language");
      }
      if(LCD = 16)
      {
        lcd.print("My Computer");
      }
      if(LCD = 17)
      {
        lcd.print("Virus");
      }
    }
    void Click1()
    {
      function = function + 1;
      if (function > 17)
      {
        lcd.clear();
        function = 1;
      }
    }
    void Click2()
    {
      function = function - 1;
      if (function < 1)
      {
        lcd.clear();
        function = 17;
      }
    }
    void Click3()
    {
      if(function = 1)
      {
        Keyboard.press(KEY_F3);
      }
      if(function = 2)
      {
        Keyboard.press(KEY_LEFT_CTRL && 'C');
      }
      if(function = 3)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 4)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 5)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 6)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 7)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 8)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 9)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 10)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 11)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 12)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 13)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 14)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 15)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 16)
      {
        Keyboard.press(KEY_F1);
      }
      if(function = 17)
      {
        Keyboard.press(KEY_F1);
      }
    }
    Проблема: При включении, на экране появляются сразу все названия функций. Как 2 бегущих строки...
    Мне нужно, чтобы на экране было по одной функции. Желательно на русском языке. Но при использовании библиотек LiquidCristalExt, ...Rus и lineMaster (Если не ошибаюсь) - экран пустой... Работает только подсветка!
    Помогите пожалуйста!
    Заранее спасибо!

    И ещё (если кто знает) : Почему на Windows 10 IDE можно запустить только от имени администратора? Версия IDE - 1.6.5.
    Как это исправить?
     
  2. Unixon

    Unixon Оракул Модератор

    Замените "=" на "==" во всех if ().
     
  3. M0ln1a

    M0ln1a Гик

    Спасибо, но у меня почему то перестала работать плата...:( Я подключил USB и вдруг появилась искра (Почему - не знаю). Теперь вечно загружает скетч! Что делать? Попробовать через Native порт?
     
  4. M0ln1a

    M0ln1a Гик

    По Native компьютер ничего не видит... Я сломал плату или нет????
    Но светодиод горит
     
  5. M0ln1a

    M0ln1a Гик

    Плата работает, но экран - нет...
    Теперь он не горит! Как это исправить?
     
  6. Vad33

    Vad33 Капитан-оригинал

    Нужно учитывать, что Arduino Due это 3,3v на выводах. И маленький выходной ток.
    Поэтому с другими платами (5v) нужно ОЧЕНЬ внимательно подключать.
    Желательно через преобразователи уровня сигнала.
    Поэтому нужно смотреть на схему соединений, чего-как, где коротит и чего сдохло.
     
  7. M0ln1a

    M0ln1a Гик

  8. Vad33

    Vad33 Капитан-оригинал

    Информация неполная, чтобы делать какие то выводы.
    В угадайку играть не хочется.
     
  9. M0ln1a

    M0ln1a Гик

    А что ещё надо указать? Код есть, описание проекта есть, пример работы экрана есть. Вы скажите, я напишу!
     
  10. Vad33

    Vad33 Капитан-оригинал

    Код только частично, описание без схемы - мутное.
    Плата то ли работает, то ли нет. Одни загадки...