Controlelampjes motorfiets op Nextion display

algemene C code
Berichten: 3
Geregistreerd: 30 Nov 2020, 22:49

Controlelampjes motorfiets op Nextion display

Berichtdoor Martin van den Berg » 30 Nov 2020, 23:17

Hallo, ik wil in het dashboard van mijn motorfiets de controlelampjes voor oliedruk, neutraal, grootlicht en waarschuwing zijstandaard via een Arduino Nano en een Nextion Enhanced display zien. Later wil ik dit nog uitbreiden met een temperatuursensor en klok. De lampjes worden met 12V aangestuurd en die regel ik met L7805CV spanningsregelaars naar 5V. Het probleem is echter dat ik het niet voor elkaar krijg om een 5V spanning via een digitale pin om te zetten in een 'vis' command. Ik kom na vele pogingen tot de volgende code:

#include <Nextion.h>

#include <SoftwareSerial.h>

SoftwareSerial nextionSerial(10, 11); // RX, TX


Nextion nextion(0, 1);


void setup() {
nextionSerial.begin(9600);

pinMode(2, INPUT_PULLUP);
}

void loop() {
//read the pushbutton value into a variable
int sensorVal = digitalRead(2);

if (sensorVal == HIGH) {
Serial.print("vis 6,1");
} else {
Serial.print("vis 6,0");
delay(50);
}
nextion.listen();
}

In deze code is '6' de id voor de afbeelding van het oliedruklampje in mijn HMI bestand. Deze afbeelding wil ik dus zien als er 5V op pin 2 komt.
Ziet iemand waar ik een fout maak? Ik heb het al op zoveel verschillende manieren geprobeerd.

Advertisement

Gebruikers-avatar
Berichten: 480
Geregistreerd: 15 Nov 2015, 11:54

Re: Controlelampjes motorfiets op Nextion display

Berichtdoor Gij Kieken » 30 Nov 2020, 23:40

Wat doe je als het lampje uit is?
Trek je het signaal dan naar massa?(gnd)
Doe je dat niet dan blijft die ingang gewoon Hoog door je Input Pull-up.

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Controlelampjes motorfiets op Nextion display

Berichtdoor Koepel » 01 Dec 2020, 02:18

Je kunt beter geen 'hard' voltage met een ingang van een Arduino verbinden.
Om 12V te detecteren kun je beter twee weerstanden nemen en een "voltage divider" of "spanningsdeler" maken. Dat is vele malen veiliger en eenvoudiger.

Kun je de RX en TX ook op andere pinnen zetten ?
De AltSoftSerial werkt namelijk beter in deze situatie: https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html.

Mijn klokje met een Nextion display loopt al jaren, en ik ben het een beetje vergeten.
Kun je me verstellen wat dit doet: Nextion nextion(0, 1);

Er hoort drie keer een 0xFF na een commando.
Kun je het op deze manier eens proberen:
Code: Alles selecteren
nextionSerial.print( "vis 6,1\xFF\xFF\xFF");
nextionSerial.print( "vis 6,0\xFF\xFF\xFF");


Een Serial.print("Hallo"); stuurt de tekst naar de seriële monitor op de computer. Als je dat wilt zien, dan zul je ook een Serial.begin(9600); moeten doen.

Is dit project misschien te hoog gegrepen ?
Heb je programmeer-ervaring ? Het geeft niet in welke taal.

Berichten: 3322
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Controlelampjes motorfiets op Nextion display

Berichtdoor shooter » 01 Dec 2020, 20:18

serial.print stuurt het naar pin 0 en 1, moet je het wel aanzetten natuurlijk, als je het via 10 en 11 wil sturen dan heb je dus bijv softwareserial nodig die kun je dus aanroepen met nextionserial etc.
paul deelen
shooter@home.nl

Berichten: 3
Geregistreerd: 30 Nov 2020, 22:49

Re: Controlelampjes motorfiets op Nextion display

Berichtdoor Martin van den Berg » 02 Dec 2020, 21:20

Gij Kieken schreef:Wat doe je als het lampje uit is?
Trek je het signaal dan naar massa?(gnd)
Doe je dat niet dan blijft die ingang gewoon Hoog door je Input Pull-up.


Als het lampje uit is ligt de digitale pin aan massa. Dat zou goed moeten gaan.

Berichten: 3
Geregistreerd: 30 Nov 2020, 22:49

Re: Controlelampjes motorfiets op Nextion display

Berichtdoor Martin van den Berg » 02 Dec 2020, 21:30

Koepel schreef:Is dit project misschien te hoog gegrepen ?
Heb je programmeer-ervaring ? Het geeft niet in welke taal.


Hoi Koepel.
Mijn programmeer ervaringen zijn denk ik 35 geleden begonnen door basic programma's op mijn vaders Exidy Sorcerer computer in te voeren.
Vanuit een boekje en daarna op cassettebandje. Daarna als automonteur ervaring opgedaan met can-bus netwerken.
Dat het te hoog gegrepen is vind ik niet, al gaat het allemaal niet snel. Hoeft ook niet want het is een hobbyproject voor de winter.
Ik vind de combinatie van programmeren en de uitvoering heel interessant en weet zeker dat ik mijn doel hierin ga bereiken.
Voor nu ga ik aan de slag met jullie opmerkingen. Als ik weer tegen iets aan loop laat ik van mij horen.

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 5 gasten