Официальный сайт компании Arduino по адресу arduino.cc
LCD 2004
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Есть 2 програмки, одна собирает данные с датчиков, отображая их на LCD 2004, другая отправляет их по COM порту. При обьединений их экран LCD 2004 пустой и начинаются проблемы в передаче данных.
код
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
int inByte = 0; // incoming serial byte
void setup()
{
Serial.begin(115200);
lcd.init(); // initialize the lcd
lcd.backlight();
lcd.clear();
establishContact(); // send a byte to establish contact until receiver responds
}
void loop()
{
lcd.setCursor(0,2);
lcd.print ("sensor = ");
if (Serial.available() > 0)
{
inByte = Serial.read();
Serial.write(1);
Serial.write(12);
delay(1000);
}
}
void establishContact()
{
while (Serial.available() <= 0)
{
Serial.print('A'); // send a capital A
delay(300);
}
}
void establishContact() пришлось вставить, потому, что много ошибок было при передаче информации. Ошибки исчезли, начались гюки. Если взять программу передачи данных и по немногу добавлять код с передачи данных, то все работает, правда наблюдается иногда дергание экрана. Вчера все работало, утром включаю, нет индикации и данные не идут. В мониторе порта вместо "А" идет "я".
Если исправить while (Serial.available() <= 0) на while (Serial.available() > 0) то появляется индикация.
ata3d . У вас несколько ошибок . 1 вы полезли на форум не изучив его правил, в частности как вставлять код 2 не умеете пользоваться поисковиком гугл , а так же поисковиком на форуме. Ведь не вы первый и к сожалению не последний вляпались в это. И каждый раз говоритьодно и тоже надоедает , хотя не я они это говорю 3- Все считают что в Ардуне легкий вход , чем в другие языки. Точнее легкий вход в Даун-Си , на котором можно писать демопрограммы и выкладывать ролики в ютубе. Для большего Даун-Си не пригоден. Учите нормальный Си , а не детскую хрень. 4- И наконец всему виной широко используемая команда в Даун-Си delay(1000);
Насчет правил, Вы правы, моя ошибка. А насчет всего остального, код взят с примеров Arduino Tutorial и он работает. delay нужен для отладки программы обрабатывающей данные. Остается непонятным почему тухнет индикатор.
А насчет всего остального, код взят с примеров Arduino Tutorial и он работает.
Если бы работал, Вы бы сюда не пришли.
Там приводятся простейшие примеры - кирпичики. Так вот работают два простейших примера, каждый в отдельности, а Вы попытаись их тупо механически объединить - ничерта не заработало.
delay нужен для отладки программы обрабатывающей данные.
Ну, если Вы так всё замечательно знаете, то зачем постите здесь вопросы?
Остается непонятным почему тухнет индикатор.
Вам объяснили, но Вы не поняли вместо того, чтобы подумать, а если уж совсем никак, то задать уточнящий вопрос, бодренько заявили, что объяснявший типа дурачок, а у Вас всё правильно. Ну, правильно, так правильно, флаг Вам в руки.
нашел ошибку. Всем спасибо.
нашел ошибку. Всем спасибо.
<зануда вкл> Ваш пост, без сомнения, значительно поможет тем, кто воспользовавшись поиском, когда-нибудь будет это читать <зануда выкл>
Измерение влажности почвы, влажности и температуры воздуха с передачей данных по COM порту.