Hoe geef je aan dat er sprake is van meerdere meters in Next

Software die niet past in bovenstaande onderwerpen
Berichten: 305
Geregistreerd: 23 Okt 2016, 20:29

Hoe geef je aan dat er sprake is van meerdere meters in Next

Berichtdoor benvo » 02 Apr 2017, 14:44

Hallo allemaal;

Op mijn Nextion staan meerdere (4) meters. Maar wat ik niet kan vinden is hoe ik dit in mijn Arduino sketch aangeef.
Ik bedoel dit:
Een lichtmeter is "NexGauge (0,1,"z0")
Een tweede lichtmeter is "NexGauge(0,2,"z1")
De derde lichtmeter is "NexGauge(0,3,"z2")
Verder heb ik een temperatuurmeter "NexGauge(0,4,"z3")

In mijn Arduino sketch , bijvoorbeeld, kan de licht meter "z0" aangegeven zijn als "NexGauge pointer=NexGauge(0,1,"z0");"

Maar.. hoe doe ik dat dan met de volgende drie? Zo probeerde ik, NexGauge pointer two=NexGauge(0,2,"z1"), NexGauge pointer three enz. enz. maar dan werkt niet.

Groet,
Ben.

Advertisement

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

Re: Hoe geef je aan dat er sprake is van meerdere meters in

Berichtdoor Koepel » 02 Apr 2017, 15:26

Dat zijn vier dingen, dus dat worden vier objecten in je sketch. Verzin vier namen voor de objecten.
Ik hoop dat je nog weet dat ik het over "objecten" had in de C++ taal.

Om duidelijk te maken dat het zelf verzonnen namen zijn, kies ik deze namen: "MijnLichtmeter", "LichtMeterTwee", "Drie", "z3".

Daar kan geen spatie tussen, want het zijn namen van objecten. Je ook geen spatie in de naam van een integer variabele zetten.
Code: Alles selecteren
int De Luchtdruk Buiten = 100;   // fout
int De Luchtdruk Binnen = 105;    // fout
int de_temperatuur_op_de_bodem_van_de_vijver = 0;  // goed
int x = 4;  // goed


Dus vier objecten maken:
Code: Alles selecteren
NexGauge MijnLichtMeter = NexGauge( 0, 1, "z0");
NexGauge LichtMeterTwee = NexGauge( 0, 2, "z1");
NexGauge Drie = NexGauge( 0, 3, "z2");
NexGauge z3 = NexGauge( 0, 4, "z3");


Daarna kun je in je sketch de waarde zetten, bijvoorbeeld zo:
Code: Alles selecteren
    MijnLichtMeter.setValue( 120);
    LichtMeterTwee.setValue( 270);
    Drie.setValue( 30);
    z3.setValue( 90);


De naam van een component op het scherm kun je zelf kiezen. Je zit dus niet vast aan die "z0", "z1", "z2", "z3". Je kunt daar al in de Nextion Editor iets voor invullen. De naam van het object in de Arduino sketch kun je ook zelf kiezen.

Met de generator van Nico worden de objecten automatisch gemaakt. De objecten krijgen dezelfde naam die componenten in Nextion Editor hebben. Als voorbeeld heb ik daarom hierboven het object "z3" dezelfde naam gegeven als in de Nextion Editor.

Zou je dit een paar keer willen lezen, en vertellen wat je niet begrijpt.

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

Re: Hoe geef je aan dat er sprake is van meerdere meters in

Berichtdoor benvo » 02 Apr 2017, 16:57

Dit is heel duidelijk, Koepel!

Nu zal ik alleen nog wat berekening naar de "naalden" hoek moeten maken.

De meter is zo gezet:
NexGauge lichtrood=NexGauge(0,1,"z0")

Toegepast op onderstaand sketchdeel zou het dit moeten zijn:

//Dit sketchdeel geeft een licht intensiteit waarde, "currentPercent".

int channel=0;
float intensityNow=Channels[channel].GetLightIntensityInt(now);
float maxIntensity=255;
float a=intensityNow/maxIntensity;
float currentPercent=a*100;

//omrekening licht intensiteit waarde naar naar graden voor lichtschaal
// licht in percentage is linear
//licht uit (0) angle=-45 degrees
//licht 100% aan angle=+225degrees
//range light in percent is 100
//range of angle is 270(225+45)
//float intensity
float angle = (currentPercent/100.0*270.0)-45.0;

int rood=int(angle);
lichtrood.setValue(rood);

Maar de meter reageert nog niet.


Dank je wel, voor je reactie!

Groet,
Ben.

Gebruikers-avatar
Berichten: 4828
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Hoe geef je aan dat er sprake is van meerdere meters in

Berichtdoor nicoverduin » 02 Apr 2017, 18:01

Aangezien je nog wel eens voor verrassingen zorgt, graag elke keer de hele sketch hier zetten.
Docent HBO Software Engineering, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

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

Re: Hoe geef je aan dat er sprake is van meerdere meters in

Berichtdoor benvo » 02 Apr 2017, 18:14

Nico, hoe kan je dat nu denken! ;)

Hoewel deze keer moet ik schaamtevol erkennen dat dit keer er heel iets anders mis was...
Alles werkt naar behoren, er bleek een kabeltje, dat heel vaak is gebruikt(!), een breuk te hebben. En dat net op de te testen meter.
Maar ik heb hem gevonden, hij werkt dus!


Dank jullie wel voor jullie reacties!


Groet,
Ben.

Terug naar Overige Software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast