Quelqu’un pourrais il m'aider a modifier ce code qui pour l'instant affiche : sur l’écran un logo suivie d'un texte en boucle et la possibilité de consulter la sonde a partir du moniteur série.
Et je souhaiterais a la place une boucle avec le logo suivi de la température suivie du texte.
Voir la possibilité de passer de l'un a l'autre a l'aide d'un bouton poussoir.
J’espère avoir étais assez clair, merci d'avance a ceux qui essayerons de m'aider
pour info j'utilise les librairies : #include <avr/pgmspace.h> #include <Wire.h> #include "data.h" #include <DallasTemperature.h> #include <OneWire.h>
In file included from combo.ino:3:
/data.h:3: warning: only initialized variables can be placed into program memory area
/data.h:72: warning: only initialized variables can be placed into program memory area
/data.h:152: warning: only initialized variables can be placed into program memory area
/data.h:162: warning: only initialized variables can be placed into program memory area
/data.h:174: warning: only initialized variables can be placed into program memory area
/data.h:180: warning: only initialized variables can be placed into program memory area
combo.ino: In function 'void loop()':
combo:46: error: 'deviceAddress' was not declared in this scope
combo:48: error: cannot convert 'float' to 'char*' for argument '1' to 'void sendStrXY(char*, int, int)'
combo.ino: At global scope:
combo.ino:111: warning: 'void printBigTime(char*)' defined but not used
combo.ino:178: warning: 'void sendCharXY(unsigned char, int, int)' defined but not used
combo.ino:213: warning: 'void sendStr(unsigned char*)' defined but not used
Un while(1) dans loop() est une mauvaise pratique.
Loop() est déjà appelée dans une boucle infinie (voir le code du main() ci-dessous). Seulement la boucle infinie en question assure aussi la gestion des événements série. Donc mettre un while(1) dans loop() peut empêcher la gestion correcte du port série en réception.
#include <Arduino.h>
int main(void)
{
init();
#if defined(USBCON)
USBDevice.attach();
#endif
setup();
for (;;) {
loop();
if (serialEventRun) serialEventRun();
}
return 0;
}
Le reset_display() va faire clignoter l'écran ce qui n'est pas très agréable à regarder. Le clear_display() juste avant le sendStrXY() devrait normalement être suffisant.