Я хочу отображать миллины на ЖК-дисплее 16x2, но проблема в том, что счетчик не начинается с нуля после добавления кода вставки MySQL. На самом деле, иногда подключение к серверу начинается через 4 сек, 40 секунд, а иногда и 79 секунд.Arduino Millis на ЖК-дисплее
Тип Arduino, который я использую: «Arduino Uno», и версия IDE Arduino - 1.6.7.
Может кто-нибудь помочь мне решить эту проблему, а вот код:
#include <Ethernet.h>
#include <LiquidCrystal.h>
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>
byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server_addr(); // IP of the MySQL *server* here
char user[] = ""; // MySQL user login username
char password[] = ""; // MySQL user login password
EthernetClient client;
MySQL_Connection conn((Client *)&client);
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("Millis");
Serial.begin(115200);
while (!Serial); // wait for serial port to connect
Ethernet.begin(mac_addr);
Serial.println("Connecting...");
if (conn.connect(server_addr, 3306, user, password)) {
delay(1000);
}
else
Serial.println("Connection failed.");
}
void loop() {
unsigned long var =(millis()/1000);
if(var%40 == 0)
{
char INSERT_SQL[] = "UPDATE Information.total SET reading=(%d) WHERE
Name='Sam';";
char query[255];
sprintf(query, INSERT_SQL, var);
MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
cur_mem->execute(query);
delete cur_mem;
}
lcd.setCursor(0, 1);
lcd.print(var);
}
И вот другой код, в котором Миллис начать с нуля (Перед установкой MySQL вставить код):
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
void setup() {
lcd.begin(16, 2);
Serial.begin(9600);
lcd.print("Millis");
}
void loop() {
unsigned long var =(millis()/1000);
var = (var==0)?1:var;
if(var%40 == 0)
{
Serial.println("Millis: ");
Serial.println(var);
}
lcd.setCursor(0, 1);
lcd.print(millis()/1000);
delay(1000);
}
Все ответы ценят ...
Не могли бы вы отредактировать свое сообщение, включив код, начинающийся с нуля? –
Вы пытаетесь обновить базу данных каждые 40 миллисекунд? –
Не могли бы вы отобразить миллисы и начать с нуля каждый раз или, по крайней мере, с момента, прошедшего с момента начала показа? –