Problème de communication

Bonsoir à toutes et à tous,

Je suis en train de me fabriquer moi même un petit moniteur avec un arduino qui m'affiche les ressources de mon PC en temps réel. J'ai donc une communication qui s'effectue entre l'ordinateur et l'arduino qui envoie les informations sur un bloc LCD. Pour le moment vous me direz tout ce qu'il y a de plus banal !
Voilà le code qui est rentré dans l'arduino:

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);

void setup() {
  lcd.init();
  lcd.backlight();
  Serial.begin(9600);

}

void loop() {
  if (Serial.available()) {
    lcd.clear();
    while (Serial.available() > 0) {
      byte data = Serial.read();
      lcd.write(data);
    }
  }
}

Et voilà le code du côté de l'ordinateur réalisé en python:

import psutil
import serial
import time

port = input("Port : ")
baud = input("Baud : ")

ser = serial.Serial(port)
ser.baudrate = baud

while True:
	memory = psutil.virtual_memory()
	memory = str(memory[2])
	to_send = "RAM : "+memory+"%"
	ser.write(to_send.encode('ascii'))
	time.sleep(1)

Donc pour info tout ce joli monde fonctionne en harmonie pour afficher les infos UNIUQUEMENT sur la première ligne de mon LCD qui en fait 2 !
ET là ça va faire maintenant trois heures que j'essaye de faire en sorte que certaines infos s'affichent sur la première ligne quand l'arduino les reçois et d'autres sur la seconde ligne mais je n'y arrive pas du tout....
Pouvez-vous m'aider ?

Merci beaucoup d'avance

Paul :slight_smile:

Bonjour,

Tu utilises lcd.setCursor(0,1);

a) lcd.write est critiqué (et on conseille de remplacer par lcd.print dans LCD.print vs LCD.write - Syntax & Programs - Arduino Forum
b) comme Kamill l'a signalé, il faut positionner le crseur avant d'écrire
c) avez vérifié, avec un programme simple, que votre lcd a éffectivement 2 lignes (ça peut arriver qu'une ligne ne soit pas accessible)

dbrion06:
c) avez vérifié, avec un programme simple, que votre lcd a éffectivement 2 lignes (ça peut arriver qu'une ligne ne soit pas accessible)

C'est plutôt rare, si l'afficheur n'est pas en panne, mais par contre des personnes ont remonté que pour accéder à la seconde ligne sur certains afficheurs il fallait adresser la ligne 3.

Merci, fdufnews: je n'avais pas pensé à adresser la ligne 3 (en mettant un autre afficheur, je retrouvais bien ce que je voulais; j'allais décider de passer aux afficheurs OLEDs I2C; couplés avec une loupe, ils sont si mignons)