Potentiometer vervangen door Slider Nextion

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 4
Geregistreerd: 22 Nov 2018, 16:39

Potentiometer vervangen door Slider Nextion

Berichtdoor jarnovh » 22 Nov 2018, 16:59

Hallo iedereen,

Ik ben bezig met een project waarbij ik gebruik maak van een Nextion Enhanced display.
Nu werk ik met potentiometers die analoog worden gelezen door de Arduino en de waarde wordt verrekend en voorgesteld op de display, maar ik zou de potentiometers willen vervangen door Nextion sliders. (zodat ik geen potmeters meer nodig heb)
Iemand die mij hierbij kan helpen ? Ik weet wel hoe ik de slider waarde kan koppelen bijvoorbeeld aan een nextion number maar niet hoe ik deze kan gebruiken in arduino.

Kort stukje programma, zoals ik het nu doe:

void MIN_druk()
{
pot_MIN_aw = analogRead(A1);
pot_MIN_aw = map(pot_MIN_aw,0,1023,127,306);
MIN = ((pot_MIN_aw - pot_MIN_druk_0bar) * 1.2 / (pot_MIN_druk_12bar - pot_MIN_druk_0bar)) * 10;
String command_4 = "min_x_0.txt=\""+String(MIN,1)+"\"";
Serial.print(command_4);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
String command_5 = "min_x_3.txt=\""+String(MIN,1)+"\"";
Serial.print(command_5);
Serial.write(0xff);
Serial.write(0xff);
Serial.write(0xff);
}

Voor een touch drukknop gebruik ik bitSet en bitClear maar dit lukt niet bij sliders.
Heb al tal van voorbeelden opgezocht maar vind niets dat mij helpt.

Hopelijk kan er mij iemand helpen

Advertisement

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

Re: Potentiometer vervangen door Slider Nextion

Berichtdoor Koepel » 22 Nov 2018, 21:36

Hallo, welkom op dit forum.

Je gebruikt dus niet de ITEAD Nextion Arduino library ?
Hoe lees je de gegevens die het Nextion scherm naar de Arduino stuurt ?

Gebruik je de Arduino Uno ? en je hebt het scherm aan pin 0 en 1 ? Dat is lastig.
Of heb je een Arduino Leonardo ? Dat werkt beter.

Waarom gebruik je die drie Serial.write(0xff) ?
Je kunt dat in een text stoppen.
Serial.print("min_x_0.txt=\"10\"\xFF\xFF\xFF")
Of anders kun je ze ook alle drie samen nemen:
Serial.print("\xFF\xFF\xFF")

Berichten: 4
Geregistreerd: 22 Nov 2018, 16:39

Re: Potentiometer vervangen door Slider Nextion

Berichtdoor jarnovh » 22 Nov 2018, 23:35

Koepel,

Ik gebruik het ITEADLIB_Arduino_Nextion library.

Voor bijvoorbeeld Nexbuttons doe ik het zo:

void hand_downPushCallback(void *ptr)
{
bitSet(hand_omlaag, HIGH);
}

void hand_downPopCallback(void *ptr)
{
bitClear(hand_omlaag, HIGH);
}

Zo kan ik in de void loop() de byte hand omhoog gebruiken.

geheugen_1=bitRead(hand_omhoog, 1);
if (geheugen_1 == 0)
{
geheugen_11 = 0;
timer_1 = 0;
}
if (geheugen_1 == 1)
{
if (timer_1 != 0)
{
if (millis() - timer_1 > inschakelvertraging_1)
{
geheugen_11 = 1;
}
}
else
{
timer_1 = millis();
}
}


ik weet niet hoe ik dit moet doen met een Nexslider, zodat ik de slider waarde kan lezen en gebruiken in de void loop() ?

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

Re: Potentiometer vervangen door Slider Nextion

Berichtdoor Koepel » 23 Nov 2018, 00:08

Die heeft ook een callback functie: https://github.com/itead/ITEADLIB_Arduino_Nextion/blob/master/examples/CompSlider/CompSlider_v0_32.ino.

Je kunt ook een commando geven en dan op het antwoord wachten.
Dat zijn alle "get" functies: https://github.com/itead/ITEADLIB_Arduino_Nextion/blob/master/NexSlider.h.

Volgens mij doen de bitSet() en de bitClear() iets anders dan je denkt.
Kijk eens naar bitSet(), bitClear() en bitWrite().
https://www.arduino.cc/reference/en/language/functions/bits-and-bytes/bitset/.

Ik zou die bitSet() en zo al helemaal niet gebruiken. Je kunt een "bool" variabele gebruiken om iets true of false te maken.

Berichten: 4
Geregistreerd: 22 Nov 2018, 16:39

Re: Potentiometer vervangen door Slider Nextion

Berichtdoor jarnovh » 23 Nov 2018, 13:13

Koepel,

Ik weet dat er ook een callback functie is voor de sliders en kan deze ook toepassen, voor bijvoorbeeld de slider waarde op het scherm te laten verschijnen in een NexText.

Maar kan ik de slider waarde ergens opslaan in de arduino en vervolgens inlezen in de void loop() ? (zoals bij een potmeter)
Moet ik dit dan aanpakken met de "get" en "set functies" ?

Alvast bedankt voor je hulp

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

Re: Potentiometer vervangen door Slider Nextion

Berichtdoor Koepel » 23 Nov 2018, 15:42

Je kunt een globale variabele maken en het daar in opslaan. Een globale variabele wordt gedeclareerd boven de setup() functie.
Je kunt de callback gebruiken om die globale variabele steeds bij te houden, of je kunt in de loop() een "get" functie gebruiken. Ik weet niet welke handiger is, kies maar iets.

Kun je hier eens lezen wat ik schreef over "void" : https://arduinoforum.nl/viewtopic.php?f=25&t=2947&start=10#p22188.
Als een functie geen return waarde heeft, dan wordt de return waarde als "void" aangeduid. Maar het is gewoon een functie. De kern van het verhaal is deze zin van Nick Gammon: "Think of the word function as being there in spirit".

Berichten: 330
Geregistreerd: 23 Okt 2016, 20:29

Re: Potentiometer vervangen door Slider Nextion

Berichtdoor benvo » 23 Nov 2018, 15:52

Kijk even in de voorbeelden van De Nextion Arduino library. Onder het kopje CompSlider vind je, denk ik, wel iets waar je wat aan hebt.

Berichten: 4
Geregistreerd: 22 Nov 2018, 16:39

Re: Potentiometer vervangen door Slider Nextion

Berichtdoor jarnovh » 26 Nov 2018, 21:02

Koepel,

Heb het gevonden en het de potentiometers kunnen vervangen.
Ook heb ik het "bit" gebeuren vervangen door een globale variabele.
Bedankt voor je hulp.

Gr.: jarno

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten