Je suis débutant, j'aurais besoin de réponses pédagogiques et simples.
Voilà ou j'en suis, j'ai fais un programme qui me permet que lorsque un objet passe devant un capteur (ici un lazer) , un appareil se met en route, (ici une électrovanne "EV").
J'ai établi 2 délais :
1er // le lazer est coupé, on attend X seconde puis on démarre l'EV.
2eme // l'EV est actionné pendant X seconde.
Pour mon projet j'ai besoin de pouvoir changer rapidement ces 2 valeurs X.
Maintenant ma question est t'il possible avec un Nextion de créer une interface afin de changer ces valeurs.
Sinon comment changer les délais d'un programme simplement sans passer par un ordinateur.
L'idée de pouvoir changer les valeurs d'un programmes avec un petit écran me plait beaucoup.
Merci pour ta réponse. J'ai découvert l'arduino depuis seulement 2semaines, je trouve ça passionnant.
Dans ta réponse je découvre l'EEPROM.
D'après se que j'ai lu, c 'est une mémoire morte. En effet c 'est intéressant. Cette mémoire est elle intégré au Nextion ? ou faut t'il la rajouter au montage ?
Je n'ai pas encore commander l’écran car j'attend de bien comprendre ce que je vais faire. Mais il semble que le logiciel Nextion permet de faire les tests sans écran.
Dans un premier temps J'aimerai afficher les 2 valeurs "delay" (fin du programme si dessous.
Comment procède t'on ? J'imagine que je dois dire à l'Arduino transmet cette valeur au Nextion.
Et ça je ne sais pas faire.
/*
* Laser Sensor
* Declanche electrovanne sur pin 8, avec delais de mise en route.
*/
#define DETECT 2 // pin 2 for sensor
#define ACTION 8 // pin 8 for EV
void setup() {
Serial.begin(9600);
Serial.println("Robojax.com Laser Module Test");
pinMode(DETECT, INPUT); //define detect input pin
pinMode(ACTION, OUTPUT); //define ACTION output pin
}
void loop() {
int detected = digitalRead(DETECT); // read Laser sensor
if( detected == HIGH)
{
digitalWrite(ACTION,LOW); // EV off
Serial.println("Detected!");
}else{
delay(2000); // delais avant activation
digitalWrite(ACTION,HIGH); // EV ON
Serial.println("No laser");
delay(1000); // duree d activation
}
}
je n'ai plus qu'a attendre que quelqu'un d’expérimenté ds le domaine puisse m'aider.
Au passage c'est tu si il est possible de faire ça en bluetooth avec un un smartphone ?
Il faut d'abord créer ton interface avec le logiciel nextion, ensuite tu affiches via une liaison série en donnant le nom de l'objet et les infos à ajouter.
Tu peux envoyer les commandes directement en texte par la liaison série (c'est de que je fais en général) ou utiliser la librairie nextion.
Encore merci pour vos réponses.
J'ai beau chercher aucun tuto ne m'aide à se sujet.
Le tuto Cyrob est très bien mais il ne va pas plus loin (2vidéos) principalement sur l'interface Nextion.
La communication entre arduino et nextion est succincte. Les tutos sur la liaison série s’arrête principalement à l'envoie d'un message "hello world". ou faire varier une led 0/1. Et pour couronner le tout je suis une bille en anglais.
Rien n'explique comment je peux envoyer et modifier mon code pour envoyer ma valeur "delay" sur un écran (nextion ou simple lcd) et la modifier ensuite.
En même temps delay stop le programme donc il est peut être pas possible de lire cette donné ou la changer. je ne sais pas.
J’atteins certainement mes limites en terme de compréhension dans un domaine que je découvre tout juste.
Je pense que je n'aurais pas plus d'aide sur le sujet. Je tente une dernière question.
Je vais tenter un autre topic avec "Encodeur rotatif et LCD", on verra bien.
Dans mon cas je cherche à pouvoir changer 2 valeurs "delay" à l'aide d'outils. encodeur rotatif et lcd, nextion smartphone....
Quel est le moyen le plus simple ?
Par ou commencer ? Dans mes recherches et mon apprentissage sur ce sujet.
Comme Henri, je ne connais pas le Nextion, mais je le vois comme un écran un peu élaboré qui peut exécuter des commandes liées à une interface homme machine.
Du coup, je verrais mieux deux sliders avec un bouton de validation. Ce lien montre comment créer un slider et des boutons. Mais c'est en anglais, il faut le traduire automatiquement si nécessaire.