Nection/Arduino connectie.

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 340
Geregistreerd: 23 Okt 2016, 20:29

Re: Nection/Arduino connectie.

Berichtdoor benvo » 26 Mrt 2017, 11:43

Hallo allemaal,

@koepel, je hebt het geraden(?), het is inderdaad de bedoeling dat er drukknoppen maar ook een controlelamp op het Dashboard komt. Daarachter een Menu. Zo wil ik bv. de instellingen van mijn ledbalken vanuit dat menu kunnen wijzigen. Nu doe ik dat door de computer doormiddel van de USB aansluiting. Eerst wil ik de andere meters nog in een programma bouwen om te zien of alles daadwerkelijk functioneerd. De regel sendCommand staat al niet meer in de sketch, ik heb per ongeluk de een na laatste versie gestuurd. Er zijn nl. nogal wat dingetjes die ik eerst moest begrijpen alvorens verder te gaan. One step at the time....

Maar voornamelijk dank zij Nico en jou bijdrage is dit alvast gelukt!

Nog even over de wijzers, er bestaat een programma waar besluitvormingsprocessen kunnen worden vastgelegd. (Mijn oude beroep was Marketingmanager) Tot mijn verbazing wordt het ook gebruikt voor Gauges mét mooie wijzers!
De tweede URL heeft ook mooie wijzers maar geeft niet veel informatie prijs...
https://www.youtube.com/watch?v=x6gq0rE-tVo
https://www.youtube.com/watch?v=Q-XwAnYvdk4

Graag laat ik jullie het vervolg zien.

Groet,
Ben.

Advertisement

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

Re: Nection/Arduino connectie.

Berichtdoor benvo » 27 Mrt 2017, 18:30

Hallo allemaal,

Koepel riep het al, "mooie dingen toevoegen", nou, daar ben ik dus mee bezig. In Inkscape heb ik twee knoppen gemaakt die moeten gaan functioneren als een "lampje" dat aan/uit knippert als er iets mis is met de temperatuur.
Ze zijn, vind ik zelf, mooi geworden. Ik dacht ze boven op elkaar te zetten waarbij dan in de bijbehorende sketch afwisselend Pc 01 en Pc 02 aangezet worden. Misschien is dit mogelijk, zoek ik nog naar.
Maar eerst eens een andere vraag: Kan de Nexion Editor niet omgaan met transparantie? Mijn plaatjes zijn zonder achtergrond in png formaat ingevoerd maar krijgen, zodra ze in de Editor staan een donkerblauwe achtergrond. Niet mooi voor ronde lampjes. Ik heb, uiteraard, hier op gegoogeld. De vraag wordt heel vaak gesteld, een antwoord komt er niet of het zijn antwoorden die nietszeggend zijn zoals, niet belangrijk voor nu, of misschien in de toekomst. Wie dan de antwoordgever is en of deze in een positie is om het desbetreffende antwoord te geven wordt ook niet duidelijk.
'k Ben benieuwd of jullie dezelfde ervaring hebben?
Afbeelding
Afbeelding

Groet,
Ben.

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

Re: Nection/Arduino connectie.

Berichtdoor benvo » 27 Mrt 2017, 19:25

Deze meneer heeft een oplossing die je feitelijk ook al toepast wanneer je naalden in je meters zet, a cropped image. Misschien kan ik eens proberen of ik iets in die richting kan vinden.
http://tech.scargill.net/coding-the-nextion/

Groet,
Ben.

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

Re: Nection/Arduino connectie.

Berichtdoor Koepel » 27 Mrt 2017, 19:34

De grijze ring (met een lampje dat uit staat) zet je in de achtergrond, en vervolgens zet je daar in de Nextion Editor een plaatje bovenop. In je sketch kun je dat plaatje wijzigen met ...setPic(). Het lampje valt binnen de grijze ring, dat maakt het eenvoudig.

Ik heb zo iets, en ik moest even zoeken naar de juiste positie van het plaatje (van de lamp) in de Nextion Editor. Met de cursor-toetsen kun je het een pixel schuiven, totdat het precies op z'n plaats staat.

Om een lampje te laten knipperen kun je met millis() doen.

Het is ook mogelijk om commando's in de Nextion Editor in te voeren, waarbij een ingedrukte knop automatisch een ander plaatje krijgt, of het met een timer laten knipperen. Ik doe het zelf liever in de sketch, dan kan ik het wijzigen zonder dat ik de Nextion Editor nodig heb om iedere keer nieuwe firmware te uploaden.

Die link die je gaf gebruikt volgens mij de mogelijkheid om een andere achtergrond te kiezen. Dat is een iets andere benadering en werkt prima bij aan/uit knoppen. Ik denk dat hij knoppen gebruikt zonder tekst en zonder plaatje, en alleen de achtergrond wijzigt. Dan wordt alleen de achtergrond binnen de knop gewijzigd en dan is de knop opeens 'aan' terwijl de rest niet wijzigt. Dus wanneer je het lampje alleen maar aan en uit wilt doen, dan kan dat ook. Dan heb je maar twee plaatjes ter grootte van het hele scherm. Dan hoef je ook niet meer het plaatje van de lamp precies op z'n plaats te positioneren.

Wil je meer kleuren dan zou je nog meer achtergronden kunnen maken, of je doet net zoals ik: een apart plaatje definiëren voor het lampje en dan een heel stel uitgesneden plaatjes voor verschillende kleuren van het lampje.

Dus de plaatjes van de lampjes zijn dan uitgesneden zoals deze:
Bijlagen
groen.png
groen.png (12.87 KiB) 5459 keer bekeken
rood.png
rood.png (12.27 KiB) 5459 keer bekeken

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

Re: Nection/Arduino connectie.

Berichtdoor benvo » 28 Mrt 2017, 19:42

Hallo allemaal,

Een lampje aan en uit laten gaan, het lijkt zo eenvoudig. Waarschijnlijk is het dat ook? Op het net vind je tal van voorbeelden die met een knopje een afbeelding laten zien. Maar dat zoek ik nu net niet! Ik heb twee afbeeldingen in de Nextion boven op elkaar gezet in de hoop ze afwisselend te kunnen laten zien. Het effect moet zijn dat er dus een lampje knippert. Het doel is om als er iets fout gaat dat dit lampje een waarschuwingssignaal is. Om allerlei te gebruiken commando's te vinden zoek in de Itead instruction set maar ook in de library's. Kennelijk heb ik ze nog lang niet. Bij onderstaande Sketch heb ik x een waarde gegeven die fout is. De lamp zou moeten knipperen. Dat gebeurd niet omdat de sketch fouten bevat, ik zie waar maar weet alleen niet welke invulling juist is en dus te gebruiken. De opdracht setPic moet denkelijk anders gebruikt worden? Hier is de sketch.


cpp code
Code: Alles selecteren

#include "Nextion.h"
#define nexSerial is Serial 2 //De Seriele poort naar het scerm is Serial 2

NexPicture p1 = NexPicture(0,6,"p1");
NexPicture p2 = NexPicture(0,7,"p2");


void setup() {
 
nexInit();
}

void loop() {
 

int x=5;       //Dit moet voorstellen dat er een foute waarde binnenkomt.
 
while (x<3||x>3)  //alleen als de waarde 3 is gebeurd er niets.
  {
  setPic("NexPicture p1");   //dit is het plaatje voor het "aan" lampje.
  millis(1000);

  setPic("Nexpicture p2");  //dit is het plaatje voor het "uit" lampje.
  millis(1000);
  }

}



Groet,
Ben.

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

Re: Nection/Arduino connectie.

Berichtdoor Koepel » 28 Mrt 2017, 20:05

Kijk in de Nextion Editor welke waarde de plaatjes hebben. Dat zijn dus de nummers van de plaatjes, niet van de componenten.

Er is maar één component, dus maar één NexPicture. Die is dus gekoppeld aan het component op het scherm.
Het plaatje kun je wijzigen met ...setPic. Zoek daarvoor een voorbeeld dat zoiets doet.

Kun je het CompPicture voorbeeld vinden ?
Daar staat dit:
Code: Alles selecteren
NexPicture p0 = NexPicture(0, 1, "p0");
...
  p0.setPic(number);


Dat nummer van het plaatje komt niet uit de generator van Nico rollen. Dus dat zul je zelf even moeten bekijken welk plaatje welk nummer heeft.
Ook de nummers van de fonts zul je zelf moeten bijhouden.

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

Re: Nection/Arduino connectie.

Berichtdoor benvo » 28 Mrt 2017, 21:37

Dag Koepel,

Inderdaad heb ik CompPicture voorbeeld gezien, daar haalde ik al het NexPicture p0 verhaal uit dat ik meende te moeten invullen met twee NexPictures. Dat voorbeeld, CompPicture, heb ik ook ingeladen. Op de release van mijn druk op het Nexion scherm komt er een ander plaatje tevoorschijn. Een wisseling tussen een wit plaatje en een groen plaatje.
Die wisseling zie je ook aangegeven met de nummers 1 en 2, (het witte plaatje die in Editor op het display scherm staat heeft ID 1) Het groene plaatje staat in het Editor picture veld linksonder. Het groene plaatje is gek genoeg helemaal niet ingevoerd, en heeft dus ook geen ID nummer(?), op mijn Editor onder het Attribute veld maar komt op mijn scherm wél tevoorschijn na de touch.



De waarde is dus het ID nummer? In dat geval heeft het "aan" lampje ID 6 (picture p1). Het "uit" lampje heeft ID 7 (picture p2) . In mijn geval heb ik in de Editor beide plaatjes bovenop elkaar gezet, dat dus in tegenstelling tot het CompPicture voorbeeld, daar staat, als gezegd, alleen het ID 1 plaatje in de display van de Editor, plaatje ID2 staat in de picture kolom linksonder. Moet ik dat ook op die manier doen?

Nu werk ik dus niet met een touch/druk op het scherm. Mijn plaatjes moeten wisselen gedurende de tijd dat er aan een voorwaarde wordt voldaan. Hoe krijg ik dat voor elkaar want een voorbeeld voor zoiets heb ik nog niet kunnen vinden!

Dank voor je reactie, Koepel.

Groet,
Ben.

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

Re: Nection/Arduino connectie.

Berichtdoor Koepel » 29 Mrt 2017, 02:26

Dit voorbeeld:
Code: Alles selecteren
NexPicture p0 = NexPicture(0, 1, "p0");
...
  p0.setPic(number);
heeft dus één component op het scherm en één object in de code. Met p0.setPic(1); zet je plaatje nummer 1 in het component, en met p0.setPic(2); zet je plaatje nummer 2 in het component. Dan zul je wel de nummers moeten weten, die staan in de Nextion Editor linksonder (samen met de fonts).

In de Nextion Editor vul ik het plaatje in waarbij de lamp uit staat. Dus als de pagina geladen is en de Arduino code heeft er nog geen plaatje in gezet, dan staat er alvast een plaatje met een lamp die uit staat. Dat staat ook al in de achtergrond, dus misschien is het een beetje dubbel op.

Alle uitgesneden plaatjes van het lampje moet je natuurlijk wel zelf inladen in de Nextion Editor.

Ik zit in linux en kan de Nextion Editor niet tegelijkertijd draaien terwijl ik dit type. Dus ik weet niet of het 'ID's genoemd worden.

Het wisselen van de plaatjes vanuit de Arduino kun je doen met millis().
Het wisselen van de plaatjes vanuit het scherm kun je doen met een timer.

Ik ga geen screendumps maken hoe het er uit kan zien, en waar wat staat en welke code daar bij hoort. Dat mag jij doen :o Laat bijvoorbeeld een screendump zien van een overzicht van alle plaatjes in de Nextion Editor.
Hier zie je plaatjes met nummer 0 (rode knop) en nummer 1 (groene knop), dat zijn de nummers van de plaatjes : https://youtu.be/4yFH2j_nImY?t=47s

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

Re: Nection/Arduino connectie.

Berichtdoor benvo » 29 Mrt 2017, 13:47

Hallo,

De screendump:

Afbeelding

En de sketch die zonder fouten inlaad maar niets doet.

cpp code
Code: Alles selecteren

#include "Nextion.h"


// Declare a picture object [page id:0,component id:1, component name: "p0"].
 
NexPicture p0 = NexPicture(0, 1, "p0");

int x=5;          // Bewust fout ingegeven waarde om alarm in te schakelen
unsigned long time= millis();

void setup(void)
{
    nexInit();   //Initialisatie Nextion
}


void loop(void)
{

while(x<3||x>3)
  {
    p0.setPic(0);   //Picture on
    time=1000;
    p0.setPic(1);  //picture off
    time=1000;
    }
   
}


Hopelijk, eigenlijk weet ik het, zie jij de fout?

Groet,
Ben.

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

Re: Nection/Arduino connectie.

Berichtdoor nicoverduin » 29 Mrt 2017, 14:04

Ik zou eens heeeeeeeeeeel goed naar de hele sketch wat je nu eigenlijk aan het doen bent??????? X????? Time=1000??????? Die sketch doet helemaal niets...
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

VorigeVolgende

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 5 gasten