J’essaie d'afficher ce que je recoi du port Com.
Mon PC envoi les données et l'Arduino les affiche sur un LCD.
Hors je n'affiche pas du tout ce que j’envoie.
ex: un "a" affiche "O" ..... :~
voici le code:
#include <LiquidCrystal.h>
char incomingByte;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup(){
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// initialize the serial communications:
Serial.begin(9600);
lcd.write(65);
lcd.write(66);
lcd.write(67);
}
void loop()
{
// when characters arrive over the serial port...
if (Serial.available()) {
// wait a bit for the entire message to arrive
delay(100);
// clear the screen
lcd.clear();
// read all the available characters
while (Serial.available() > 0) {
// display each character to the LCD
incomingByte=Serial.read();
lcd.write(incomingByte);
}
}
}
Merci de votre aide.
Edit de Jean-François : merci de mettre le code entre les balises "code" .
Essaye un cast en char incomingByte = (char)Serial.read();
Serial.read retourne un byte (unsigned char) sans cast explicite il est fort probable que la conversion unsigned -> signed ne se fasse pas correctement.
Edit: essaye celui là : http://arduino.cc/en/Tutorial/LiquidCrystalSerial
vérifie bien la vitesse du port série et que ton lcd est bien câblé si ce code plante c'est ton écrans qui pose probléme ...
Oui je les ai essayé les 2: même problème.
mon lcd fonctionne car il m'affiche bien le Hello World...
j'ai cru a un moment que cela venais de mon câble série un poil trop long mais, maintenant qu'il fait 10cm c'est la même chose...
J'vais essayé avec l'arduino mini que j'ai sous la main.
Merci de ton aide.
olivbout:
Oui je les ai essayé les 2: même problème.
mon lcd fonctionne car il m'affiche bien le Hello World...
j'ai cru a un moment que cela venais de mon câble série un poil trop long mais, maintenant qu'il fait 10cm c'est la même chose...
J'vais essayé avec l'arduino mini que j'ai sous la main.
Merci de ton aide.
Peut être un soucis avec l'arduino alors ? Dis nous ce que ça donne avec l'arduino mini, c'est quand même bizarre.
J'ai refait des essais, en reliant le PC via le port usb de l'arduino, cela fonctionne.
Mais je désir me servir des broches TX/RX + masse via à une DB9 reliée au PC com1 et la ça ne fonctionne pas.
Il y a t-il un moyen de sortir du port usb arduino en DB9 ?
olivbout:
J'ai refait des essais, en reliant le PC via le port usb de l'arduino, cela fonctionne.
Mais je désir me servir des broches TX/RX + masse via à une DB9 reliée au PC com1 et la ça ne fonctionne pas.
Il y a t-il un moyen de sortir du port usb arduino en DB9 ?
... fallait le dire tout de suite !
Le port DB9 sort du +12/-12v branché directement sur l'arduino ça fait pfffit ! Il faut faire un dongle rs232/ttl avec un max232 par exemple.
Bonjour,
Hier j'ai réalisé l'interface que skywodd m'a donné et maintenant tout est OK.
L'arduino a tenu le coup malgré les 12v dans les pattes
Maintenant il me reste à enregistrer les données sur une carte SD et les mettre à dispo sur réseau...
Merci a tous !