copy file1 COM3 показать файл на лсд экране

uno
Offline
Зарегистрирован: 16.06.2016

файл содержит 2 строки хотябы только цифры. в идеале и буквы как написать.

 
// Подключаем стандартную библиотеку LiquidCrystal
#include <LiquidCrystal.h>
 
// Инициализируем объект-экран, передаём использованные 
// для подключения контакты на Arduino в порядке:
// RS, E, DB4, DB5, DB6, DB7
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup() 
{
    // устанавливаем размер (количество столбцов и строк) экрана
    lcd.begin(16, 2);
}    
    int incoming=0;
//void setup() {
//    Serial.begin(9600); // открывает последовательный порт, устанавливает скорость 9600 бит/c
//}
 
 
 
void loop() {
    if (Serial.available() > 0) {  //если есть доступные данные
        // считываем байт
        incoming = Serial.read();
 
        // отсылаем то, что получили
       lcd.print(incoming);
    }
}
    // печатаем первую строку
 
    // устанавливаем курсор в колонку 0, строку 1. То есть на
    // самом деле это вторая строка, т.к. нумерация начинается с нуля
 //   lcd.setCursor(0, 1);
    // печатаем вторую строку
 //   lcd.print("Hello Kitty");
//}
 
xeont
Offline
Зарегистрирован: 16.06.2016

А в чем вопрос то?

uno
Offline
Зарегистрирован: 16.06.2016

1 день пишу знаний нехватает.+ цекнот. вроде нашел что нужно. работает. 

как сделать чтобы кирилицу показывал?

#include <LiquidCrystal.h>
 
// инициализируем библиотеку LCD
LiquidCrystal lcd(12, 13, 11, 10, 9, 8);
 
void ScreenSaver()
{
  int i;
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print(" D-Link DIR-320 ");
  lcd.setCursor(0,1);
  lcd.print("  &  Freeduino  ");
  delay(3000);
  lcd.clear();
  for (i=0;i<8;i++)
  {
    lcd.setCursor(i,0);
    lcd.print("=");
    lcd.setCursor(16-i-1,0);
    lcd.print("=");
    delay(200);
  }
  lcd.clear();
}
 
void setup(){
  // устанавливаем параметры дисплея: 
  lcd.begin(16, 2);
  // инициализируем последовательный порт:
  Serial.begin(9585); //здесь не забываем указать скорость вашего порта роутера
}
 
void loop()
{
  char s;
  if (Serial.available()) 
  {
    delay(100);
    while (Serial.available() > 0) 
    {
      s=Serial.read();
 
      if (s=='^') {
        switch (Serial.read()) {
          case '1':  
            lcd.setCursor(0,1);
            Serial.read();
            break;
          case '0':
            lcd.setCursor(0,0); 
            Serial.read();
            break;
          case 'c':
            lcd.clear(); 
            Serial.read();
            break;
          case 's':
            Serial.read();
            ScreenSaver();
            break;
        } //switch
      }
      else {
        // Выводим каждый символ на LCD
        lcd.write(s);
      }
    }
  }
}

Команды, подаваемые на микроконтроллёр будут такими:

^c: — очистить дисплей

^0:text — вывести text на первой строке

^1:text — вывести text на второй строке

^s: — вывести небольшую заставочку 

uno
Offline
Зарегистрирован: 16.06.2016

Когда из терминала делаю все ок. когда командой системы Print >com5 ^1:123 На экран выводится непонятно что. хоте из проги терминал выводит 123

 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

перепиши этот #76 пример для сериала и печати в индикатор принятой строки или команды, что делать с принятой строкой - будет тебе латиница с цифрами

uno пишет:

как сделать чтобы кирилицу показывал?

что бы показывал - библиотеку и индикатор поддерживающие кириллицу http://mk90.blogspot.com/2015/03/liquidcrystalrus-161.html

что бы получать и отправлять по компорту символы кириллицы - смотри чем символ ASCII отличается от UTF-8

ASCII можно юзать посредством char

UTF-8 - ...не вникал, но знаю, что нужно заюзать два байта вместо одного

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Клапауций 232 пишет:

UTF-8 - ...не вникал, но знаю, что нужно заюзать два байта вместо одного

На самом деле - до шести байт на один символ.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

DIYMan пишет:

Клапауций 232 пишет:

UTF-8 - ...не вникал, но знаю, что нужно заюзать два байта вместо одного

На самом деле - до шести байт на один символ.

не нужно так сильно меня пугать - ты меня не убедил, что для кириллицы нужно до шести, а не два.

https://ru.wikipedia.org/wiki/UTF-8#.D0.94.D0.B8.D0.B0.D0.BF.D0.B0.D0.B7...

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Клапауций 232 пишет:

не нужно так сильно меня пугать - ты меня не убедил, что для кириллицы нужно до шести, а не два.

https://ru.wikipedia.org/wiki/UTF-8#.D0.94.D0.B8.D0.B0.D0.BF.D0.B0.D0.B7...

Я говорил не за кириллицу, а за UTF-8 вообще.

uno
Offline
Зарегистрирован: 16.06.2016

блин с терминала на ком инфа отправляется. а через дос команды нехочет. что нетак

echo ^1:hi! com9 неработает

copy c:1.txt com9 /y  тоже. файл в разных кодировках сохранял. экран мигает или выводит бред.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Так пробовал:

echo 123 > \\.\com9

?

uno
Offline
Зарегистрирован: 16.06.2016

ничего непойму дома нормально заливал прошивку. на работе нет. вроде пишит что все ок. но после этого девайс неработает.

дома вин 7 32 на работе 64. иде 1.0.5 может винда недает нормально с ком портом работать?