hulp gevraagd voor arduino regelunit voor distilleer apparaat

Hoi mas

De comentaren staan bij mij allemaal strak in een lijn.
Alleen als ik het hier neer kopier niet meer.

Ik begin het nu een beetje te snappen.
Alleen de { } snap ik niet helemaal
Telkens als ik een stukje code schrijf en dit wil controleren wat het doet en werkt.
Krijg ik foutmeldingen van expecting { this before enz
Waardoor ik de code dan niet kan uploaden naar mijn arduino
Wat ik dan doe is dan steeds er een bij zetten tot de fout code verdwijnt en ik de code kan uploden.
Kan hier op internet ook geen uitleg over vinden.
Zo er graag een boek over leze.
Maar deze kan ik nergens gratis vinden en downloaden.
Zou er wel een willen kopen maar omdat ik niet weet of ik het juiste boek
Heb voor mij durf ik dit niet.

Zou nog even over mijn eerste vraag terug willen komen.
Als de code begin in het stukje setup wat hij eenmaal doet.
Dan zet hij eerst een stukje tekst neer ter intro en steld hij alles in
Nu heb ik hier in de code verwerkt dat de begin tekst blijft staan totdat je de keuze ok intoets.
Dit werkt allemaal goed.
Als je oke kiest gaat hij naar mm2 menu 2 even genoemd
Daar kun je een keuze maken uit twee
Distilleren en instellingen.
Druk je in dit menu op pijltje rechts links dan gebeurd er niks.
Omdat ik dat niet heb gemaakt.
Pijl omhoog omlaag voor de keuze te maken met de pijl
En selekteren met ok.
Kies je nu voor instellingen kom je in een nieuw scherm instellingen genoemd.
Dit heb ik weergegeven met een stukje tekst instellingen
Dit heb ik gedaan om weer een nieuw menu te gaan opbouwen.
En te kijken of de code tot hier werkt.
Dit werkt ook.
Alleen als je in het nieuwe menu bent heb ik daar nog geen functies of iets aan gekoppeld.
Alleen scherm leegmaken zet de cursor op de goede plek en print de tekst instellingen.
Bedien ik nu de toetsen omhoog omlaag rechts links gebeurt er niks zoals het hoort.
Maar duw ik op toets ok
Gaat hij terug naar mm2 menu 2.
En dit is eindelijk niet de bedoeling.
Weet iemand waar de fout zit wat dit veroorzaakt?
Mvg Rolf

Ik zie het met die commentaren, bij mijn geplakte stukje van vannacht is het ook een zooitje geworden nadat ik ze allemaal netjes opgelijnd had.

Ja, van de oorzaak van je probleem heb ik wel een idee.
Met de { en } maak je een apart stukje code dat afgebakend is van andere code.
Als je dus een if.. regel maakt, en je wil dat bepaalde code alleen word uitgevoerd als de voorwaarde van die if..klopt, én dat stukje dat je wil uitvoeren meer dan 1 regel is, dan kun je dat tussen de { } zetten.
Alles wat na de { komt die bij die if.. regel begint en tot de eerstvolgende } word alleen uitgevoerd als die if.. klopt.

if (ditiswaar==1) {
deze regel word nu uitgevoerd zolang ditiswaar 1 is;
en deze regel word dan ook uitgevoerd;
}

if (ditisnietwaar==1) alleen wat er achter de if.. regel staat word nu uitgevoerd als ditisnietwaar 1 is;
deze regel na ditisnietwaar word altijd uitgevoerd omdat die dus niet afhankelijk is van de inhoud van ditisnietwaar;

Ik hoop dat je nu duidelijk word wat die { en } doen, namelijk meerdere regels code inpakken binnen een voorwaarde die je gesteld hebt, wat anders niet zou kunnen.
Als je de { en } beter toepast, zul je denk ik wel zien dat je niet ongewenst meer in een menu terecht komt.

Hoi Mas

het is allemaal wat duidelijker geworden.
Maar ik krijg het niet voor elkaar om de fout weg te krijgen.
Zou je me kunnen vertellen waar de fout zit?
Dan kan ik weer veder en kan ik kijken waarom het fout ging.
Nu zie ik het niet.
mvg Rolf

Hoi Rolf.

De fout is de regel die je hebt toegevoegd om van de foutmeldingen af te komen.
Dat is wat ik symptoom bestrijding noem.
Daarmee zorg je dat er niet meer geklaagd word, maar het probleem los je niet op.
Verder doet die regel niet wat het commentaar erbij suggereert, en dat zet jou vroeg of laat ook op het verkeerde been:

  }}}}}                                                       // sluit 1/2/3/4/5

Dat is niet waar, wat eerder waar is, is:

  }}}}}                                                       // sluit 4/3/2/1/loop

De eerste } sluit dus de laatste { af en dat is dus wat je erg goed in de gaten moet houden.
De IDE helpt je daarbij want als je een } intypt, dan laat de IDE zien bij welke { die } hoort door en een heel klein blauw randje omheen te zetten.

Doordat deze accolades niet kloppen, klopt de hele sketch niet meer en word het erg lastig om het te repareren.

Zo zie ik ergens staan:

  else KeyDet = 0;                                         // The key is the same as last key, so no new pressed key
    mm = 3;                                                  // Remember the screen has been cleared and the menu is already displayed

Daar staat dus: als er aan geen van de voorgaande voorwaarden voldaan word, dan is KeyDet nul (met als commentaar geen nieuwe toets gedrukt).
Vervolgens word zonder enige voorwaarde de menu mode op 3 gezet.
Ik kan me niet voorstellen dat dat de bedoeling was.

Het is heel veel werk om deze fouten te repareren, omdat er een aantal dingen met elkaar vergeleken meten worden.
Dat gaat mij vanavond niet lukken maar ik wil er als ik wat tijd heb best een gooi naar doen.
Ondertussen heb ik een tipje voor je.
Als je een stukje gaat schrijven wat tussen de accolades komt, zet dan tijdens het typen na de {, gelijk een } op de volgende regel, en voorzie beide regels van een passend commentaar, zoals een getal of net dat wat voor jou duidelijk is.
Daarna kun je meer regels tussen de {} toevoegen tot je hebt wat je wilde doen.

Ik ben bezig jouw sketch nog eens te bekijken.
Dat gaat nog wel ff duren want zoals gezegd is er veel te repareren.
Het probleem lijkt te beginnen op regel 76, waar zomaar ineens de menu mode naar 3 gezet word, dit stukje:

else KeyDet = 0;                                         // The key is the same as last key, so no new pressed key
    mm = 3;                                                  // Remember the screen has been cleared and the menu is already displayed

Oorspronkelijk zat daar de afhandeling van mm == 2 in, en werd na die afhandeling overgeschakeld naar de volgende menu mode (3 dus).
Dat heb ik uitgevonden door mijn voorbeeld te vergelijken met wat je nu hebt.
Ik heb ook alle commentaren vertaald naar Nederlands zodat dat wat gemakkelijker leest voor jou.
Maar ik ga 'm pas hier neerzetten als ik denk dat ie het wel weer zal doen.

En daar gaan nog wel een paar nachtjes slapen overheen (en de eerste slaap ga ik nu doen).

Hoi Mas helemaal geweldig!

Krijg het wel een beetje voor elkaar maar niet naar mijn zin.
Ik ben wel alvast begonnen met de andere onderdelen te regelen.
ssr relay geregeld.
5x ds18b20 waterdicht met snoer
en nog veel meer
ook ben ik een stappen plan aan het maken wat ik wil gaan doen.
het menu is een en dan de rest er nog bij inzetten.
Ik zie aan de tijden dat je reageerd ook een echte nachtwaker bent?
Ik lig meestal tussem 2:00 en 2:30 op bed.
Jij nog iets later als ik dit zo zie

mvg Rolf

Ik probeer rond 0:00 te gaan slapen, maar ik heb geen tijd om te gaan slapen.
Dus word het meestal zo rond 1:00, en gaat de wekker weer om 5:25.
Dan werken meestal van 8:00 tot ongeveer 20:00 (soms vroeger thuis, soms veel later), eten koken en opeten gevolgd door wat ontspannen door tv te kijken en/of het internet af te struinen.
Word er moe van als ik het terug lees..

Maar zo laat als jij concludeert ben ik meestal niet meer bezig hoor.
Misschien dat je de klok in je profiel hier op de site even moet aanpassen zodat de juiste tijd getoond word.
Die klok is hier een beetje een onding.

Tijd nu volgens mijn pc is 23:05 en volgens de site 22:59

Hoi.

Ik heb nog maar eens gekeken naar de sketch.
Ik heb er wat commentaren bijgezet en/of vertaald naar het Nederlands.
En ik heb het een en ander uitgezocht met de {accolades}.
Die heb ik op de plaatsen neergezet waar ik denk dat ze moeten staan, maar ik weet niet 100 % zeker dat dat klopt.
Dat komt dan weer omdat je er zelf nog wat aan hebt toegevoegd en waarvan ik niet altijd weet wat daar precies de bedoeling van is.

De sketch heb ik bijgevoegd, aan jou dan om te testen of het nu weer doet wat je wil.
Zo niet dan even aangeven wat er fout gaat.
Misschien dat ik er dan nog een keer naar kan kijken.

Distiller_december_ino.ino (11.9 KB)

Hoi Mas

Ik heb er nog even naar gekeken.
Ik heb hem gelijk even geupload naar mijn uno.
Het werkt totdat ik in het menu Distilleren/instellingen kom.
Ik kan dan geen keuze maken omdat er geen pijltje meer zichtbaar is.

Zal ook eens kijken wat er mis gaat.
Bedankt alvast voor de tijd die je er alweer ingestoken hebt.

mvg Rolf

Net even mee bezig geweest.
wat ik de code zie is dat we in menu 2 zitten
en dat je het bedienen van het pijltje mm3 noemt

  ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  MENU 2
  if (mm ==2)                                              
  {                                                                      // 4
    lcd.clear();                                                    // Maakt het scherm leeg voor het nieuwe menu
    lcd.setCursor(0,0);                                      // Zet de cursor op de eerste regel op de eerste positie
    lcd.print("   -MAAK U KEUZE-");                  // Zet de tekst neer: "-MAAK U KEUZE-"
    lcd.setCursor(1,1);                                      // Zet de cursor op de tweede regel op de tweede positie.
    lcd.print("DISTILLEREN");                           // Zet de tekst neer: "DISTILLEREN"
    lcd.setCursor(1,2);                                      // Zet de cursor op de derde regel op de tweede positie.
    lcd.print("INSTELLINGEN");                         // Zet de tekst neer: "INSTELLINGEN"
    lcd.setCursor(0,3);                                      // Zet de cursor op de vierde regel op de eerste positie
    lcd.print("           Press<OK>");                   // Zet de tekst neer: "Press<OK>"
  } 
  
  else KeyDet = 0;                                           // toetswaarde isdezelfde als de vorige keer, dus er is geen nieuwe toets gedrukt
//    mm = 3;                                                    // Onthoud dat we het scherm hebben gewist en het menu al word weergegeven 
                                                                        // -- Dit is een restant dat niet geknipt is toen de sketch aangepast werd en een gedeelte verwijderd werd (mm 2) --
                                                                        // -- Hierdoor word er zomaar en altijd naar een verkeerde menu modus geschakeld, en loopt de hele sketch in de soep --
  }
  if (mm ==3){                                          // ALS IK DEZE VERANDER IN MM==2 IS HET PIJLTJE WEER AANWEZIG
  switch (Item){;                                               // 
case 1:{ 
  lcd.setCursor(x,y);                                        // Omdat we een toetsdruk hebben geregistreerd naar een ander menu item, zetten we de cursor nog een keer op de oude positie
  lcd.print(" ");                                                  // En wissen we 'm door er een spatie overheen te zetten
  y=1;                                                               // Na het wissen van de oude pijl, kan die nu naar de nieuwe positie worden gezet
  x=0;                                                               // Tellen begint bij nul, niet bij één
  break;
}                                                                      // Sluit case 1
case 2:{
  lcd.setCursor(x,y);
  lcd.print(" ");
  y=2;
  x=0;
  break;
    }                                                                   // Sluit case 2
  }                                                                     // Sluit switch  

lcd.setCursor(x,y);                                          // Zet de cursor op de goede plek.
lcd.write(Arrow);                                             // en laat de pijl zien

als ik dit omzet in mm2 werkt het weer en is het pijltje terug.
wat me wel opvalt is dat het pijltje heel slecht reageerd op de druktoetsen.
Lijkt wel of hij het loslaten van de toets ook regestreerd.
meschien hier een vertraging inzetten?

Okee, ben weer aan het rommelen ermee.
Je kunt dit niet echt op deze manier oplossen.
De reden is dat we alleen dingen willen doen die nog niet gedaan zijn en ook geen dingen die nog niet gedaan hoeven worden.
Dat alleen al omdat we anders continu het scherm opnieuw beschrijven met gegevens die er al staan waardoor het scherm slecht leesbaar word.
Daarom maken we eerst een menu, en als dat eenmaal gemaakt is gaan we dat menu bedienden met de pijltjes.
We weten waar we mee bezig zijn door de waarde van de menu modus (MM).
Dus MM bepaalt of we het menu maken, of we dat al gedaan hebben en nu met de pijltjes bezig zijn, of dat we misschien wel helemaal niet in het menu zitten en dat daarom ook niet op het scherm hoeven te schrijven.
Door deze aanpak is het relatief eenvoudig om meerdere menu's erbij te maken.
Dat gaat dan wel telkens per 2 menu modes of een combinatie van menu mode 3 (waar de pijltjes worden afgehandeld) en een andere modus waaraan je dan weer kunt zien hoeveel items er beschikbaar zijn.
Als er voor de eerste optie gekozen word, kun je eenvoudig de stukken MM ==2 en MM == 3 kopiëren en er MM == 4 en MM == 5 van maken en daarna aanpassen naar wens.

Wat er nu dus schijnbaar nog fout gaat, is het verschil maken tussen MM==2 en MM==3.
Ik denk dat ik dat inmiddels ook weer gerepareerd heb.
Maar ik ga wel nog ff de hele gang na om te zien of ik nog meer kan vinden om te verbeteren.
Daar gaat weer wat tijd inzitten dus ik weet niet direct wanneer dat hier verschijnt.

Zo, ben er dus weer een tijdje mee bezig geweest.
Ik denk dat het menu nu gerepareerd is.
Ik ben nu niet thuis dus kan niet even de code in mijn Uno zetten om te testen.
Daarvoor zou ik een aantal regels moeten aanpassen die te maken hebben met een ander display (1602) en mogelijk andere toetswaardes, maar omdat je menu nu nog klein is zou dat verder wel moeten werken.
Probeer de bijgevoegde sketch nog maar eens om te zien hoe het nu is.

De belangrijkste verandering is het verplaatsen van de regel die "3" afsluit (nu op regel 63).
Ik vermoed dat je lastige toetsverwerking kwam doordat er dus dingen door mekaar liepen.

Distiller_december_2.ino (12 KB)

Geweldig!!

Heb hem net geprobeerd en het werkt!!
Het display is nu ook veel stabieler en het knippert ook niet meer met het intoetsen van de knoppen.
Er zitten nog twee kleine foutjes in.
1
Als ik nu in het menu Distilleren/Instellingen ben.
En ik kies voor optie 2 INSTELLINGEN en ik druk normaal op de OK toets.
Dan gaat hij naar het menu INSTELLINGEN en gelijk weer terug naar menu 2 DISTILLEREN-INSTELLINGEN.
Dit gaat uiteraard zeer snel en haast niet te zien.
Druk ik de toets OK nu heel snel in dan werkt het wel en komt hij in het volgende menu Instellingen (mm=4).
En dan is het goed.

2

het tweede probleem is en dat was de vorige keren ook zo.
Is dat wanneer ik nu in menu mm=4 ben (instellingen)
en ik druk op de ok toets gaat hij weer terug naar het menu distilleren/instellingen.
Dit wil ik er eindelijk uit hebben.
Omdat ik in het volgende menu (mm=4)
weer andere opties wil invoegen.
en ik wil alleen terug naar het begin menu distilleren / instellingen
Als ik hier een keuze voor maak.
Hoop dat je dit begrijpt wat ik hier mee bedoel.

De commentaren die je bij de code hebt gezet hebben me nu een hoop geleerd.
Dit was net de info die ik miste om sommige dingen te begrijpen mijn dank hiervoor.

Ik hoop dat ik vanaf nu wat makkelijker het menu kan opbouwen door je commentaren.

Ik hoop dat je samen met mij eerst de andere twee foutjes wilt oplossen.
Voordat ik veder ga met het menu opbouwen.
Zodat ik zonder problemen veder kan gaan stap voor stap.
En dat ik dit hier dan kan posten.
Kom ik dan een fout tegen of iemand anders.
Kunnen we hierop gelijk inspringen
En leer ik hier het meest van.

Ik denk dat het probleem met het terug keren naar het begin menu .
Te maken heeft met de eerste optie van de code.
Waarin er eerst ok geselecteerd moet worden, om met het menu te beginnen.
PRESS OK

Ik denk dat hij dit stukje constant mee neemt in de loop en hierdoor eindelijk de twee foutjes ontstaan.
Wat denk jij daarvan=

Alvast bedankt voor deze hulp in het oude jaar.
En vooral voor het goed beginnen in het nieuwe jaar met dit projeckt!!

groeten Rolf

Zie net dat dit draadje als tweede
het meest word gelezen!!
Zijn er hier dan zoveel stokers

Ik had ook al gezien dat dit veel gelezen word.

Dat je display nu niet meer knippert, is precies waarom ik het menu in 2 stappen doe.
Dat is dus eerst het menu afbeelden, en dan de bediening van dat menu zonder het hele scherm te wissen en weer opnieuw te schrijven (dat is een wat uitgebreidere manier om te zeggen "hij knippert").
Dat gebeurde de laatste keer dus omdat je als het ware mm2 en mm3 had samengevoegd.

Het stukje met "Press OK" is nieuw en door jou gemaakt, ik zal daar nog eens extra naar kijken want dat had ik tot nog toe niet gedaan.
Ik had eerder al iets gemaakt om te voorkomen dat je onbedoeld heen en weer gaat springen tussen de menu's.
Dat zal ik nog eens bekijken.
Mogelijk moet na het registreren van de enter toets die waarde even op slot gedaan worden, maar das dus iets wat bekeken moet worden.
Als die waarde inderdaad zoals jij vermoed twee keer word verwerkt terwijl void.loop 1 keer doorlopen word, dan moet dat dus opgelost worden.

Ik zal dan ook nog even naar mm 4 kijken, daar heb ik ook weinig aandacht aan besteed omdat ik vond dat daar niets gebeurt (ik geloof dat dat een leeg menu is).

Ik kan je niet vertellen wanneer ik daar tijd voor heb, dus je geduld blijft nodig.

Nou, weer een toevoeging gemaakt.

Ik heb nu menu modus 4 en 5 toegevoegd, en helemaal onderaan staat dat nog een keer als commentaar.
Dat onderste stukje kun je als macro gebruiken.
Als je een nog een menu verder wil gaan, kun je dat stukje als basis pakken.
Knippen tussen de /* en */, en dan in loop plakken.
Daarna aanpassen aan jouw wensen, en je hebt er weer een menu bij getoverd.
Hier zijn nu 3 regels (waarvan 1 de titel is) gebruikt, maar je kan dus ook hier weer uitbreiden tot 4 regels en meerdere kolommen zoals in mijn eerste voorbeeld van een paar maanden geleden.

Ik heb ook wat ingebouwd dat moet voorkomen dat je maar heel kort in je menu blijft.
Ik had namelijk ooit iets gemaakt om te zien of er een nieuwe toets was ingedrukt.
Dan werd de variabele KeyDet 1.
In dat geval werd die toets pas afgehandeld.
Alleen werd KeyDet nergens meer gewist, in ieder geval niet in mm 3.
Dus als je dan in mm 4 terecht kwam, dan was KeyDet nog steeds 1 maar er was in werkelijkheid helemaal geen nieuwe toets geregistreerd.
Door de waarde direct te wissen (er een 0 van te maken), nadat geconstateerd was dat deze 1 was, kan dat niet meer gebeuren.
Ik weet niet zeker of dat het probleem ook echt was, maar het was in ieder geval iets dat niet klopte.
Omdat mm 4 en 5 direct na mm 2 en 3 worden uitgevoerd als aan de voorwaarden word voldaan, moest deze aanpassing sowieso gemaakt worden.

Distiller_januari.ino (21.2 KB)

super heb hem geupload en het werkt bijna.
Het probleem wat er nu nog inzit
Is nog steeds dat hij kijkt of er op ok gedrukt word.
Dit heb ik toen zelf ingezet.
als ik nu instellingen selecteer en duw rustig op ok gaat hij weer terug naar mm=2
Kies ik instellingen en druk snel op toets ok
gaat hij wel netjes naar mm=4

Dit komt volgens mij door mijn toegevoegde code in het begin van de scets.
Ik denk dat hij bij elke keer bij het doorlopen van de loop.
Controleerd of de ok toets word gebruikt.

Ik zou dit ook kunnen oplossen door in plaats van press oke
hier een delay neer kan zetten van een paar seconden
en het stukje code verwijderen van press oke.
Wat denk jij daarvan?

Een delay vind ik bijna altijd een slecht idee.
De delays die niet in de loop zitten zijn wel ok, maar in de loop vind ik dat daar betere oplossingen voor zijn.

Het probleem dat je nu nog ziet komt vermoedelijk omdat dat het eerste is wat je doet als je een toetsdruk hebt binnengehaald.
Het maakt nu ook niet uit in welke menu mode je dan bent.
Daarom kun je beter controleren of niet alleen zojuist de OK toets werd gedrukt, maar ook of we wel in mm 1 zitten, want alleen dan willen we met de OK toets in mm 2 terecht komen.
Dus heb ik de regel:  if ((key ==4))       // Waneer toets 4 "OK" gedetecteerd word ga dan naar menu 2
Aangepast als volgt:  if ((mm==1)&&(key ==4))  // Waneer toets 4 "OK" gedetecteerd word ga dan naar menu 2
Hierdoor worden beide voorwaarden gecontroleerd voor er naar mm 2 word gegaan in het opstartscherm.

Dan heb ik er nog een extra veiligheidje ingebouwd.
Wanneer in mm 5 het menu word verlaten door op item 2 te gaan staan en de OK toets word gedrukt, dan word niet alleen de menu modus omgeschakeld, maar word ook de informatie van de toets gewist door er -1 (betekent geen toets gedrukt) in te zetten.
Toch klopte daar nog iets anders niet zie ik net.
Want er werd ook naar mm 4 teruggeschakeld als je in mm 5 zat.
Dat betekent ook dat wanneer je daar eenmaal inzit, je er niet meer uit kunt.
Want mm 4 word maar 1 keer uitgevoerd, en dan word direct naar mm 5 omgeschakeld.
Dat was ook een foutje.
Er moet naar een andere menu mode dan 4 worden omgeschakeld.
Het lijkt me wel logisch dat je dan naar mm 2 wil gaan maar je zegt zelf dat dat niet de bedoeling is.
Waar wil je heen als je uit menu 4 (en 5) gaat door exit te kiezen ?
Of heb je die keuze om dat menu te verlaten niet ?

In mm 2 word de hoofdkeuze gemaakt tussen distilleren of instellingen.
En in mm 1 word nu alleen nog maar gewacht op de OK toets.
Je kunt ook in mm 1 meetwaardes op je scherm zetten die dan worden getoond zolang er niet op OK word gedrukt.
Dat kun je doen nadat je een keer in mm 2 bent geweest om de keuze te maken tussen instellen en distilleren.
Als je dat wil dan laat je dus eerst je startscherm zien zoals nu, en een volgende keer als je het menu verlaten hebt komen dan je waardes tevoorschijn.
Dat heb ik nu dus niet ingebouwd, dus kom je terug in mm 2.

Ik heb weer een aangepaste versie aangehangen.

Edit: Leesbaarheid en tiepvaud verbeterd.

Distiller_januari_1.ino (21.4 KB)

Hoi mas

Inderdaad een betere oplossing dan die van mij.
Ook vind ik het wat profesioneler overkomen.
Inplaats van een delay

Wat je schrijft aan het eind is uiteindelijk mijn bedoeling.
Bij instellingen kun je alle waarden gaan aanpassen.
Als je dit hebt gedaan kom je weer in het menu instellingen distilleren.
Dan gaan we distileren waarin je in een paar stapen het distilleren begint.
En je in een begin scherm komt met temperaturen .
Ben bezig om een overzicht te maken in blokken wat ik wil.
Deze zal ik je van de week even toe sturen.
Heb je een idee wat ik wil maken.
Waarschijndelijk heb je hier ook ideeen over.

Ben ook bezig om de onewire dallas temp sensors in de ketel te plaatsen.
Hierna ga ik de naald kraan automatiseren.
Weet nog niet of ik dit met een servo of stappen motor ga doen.
Wat zou het makkelijksre zijn met software schrijven?

Al met al nog een hoop te doen.
Maar dit uitdokteren maken en over lezen om te leren.
Vind ik reuze leerzaam om te doen.

Nou dan word er in een volgende versie mm 0 toegevoegd.
Als je begint en er een welkomst scherm word weergegeven, ben je dan in mm 0.
Daar kom je ook nooit meer terug als je er eenmaal uit bent.
Na het drukken op de OK toets gaat het zo als het nu is, maar als je dan het menu uiteindelijk verlaat door te kiezen voor distilleren, kom je in mm 1.
mm 1 is dan dus wat het meest op je scherm zal staan en dat zijn dus je meetwaardes en zo van het distilleren zelf.

Voor je naaldkraan (geen idee wat dat is), is aansturen met een servo het eenvoudigst.
Niet alleen vanwege de software, maar ook vanwege de hardware.
Want om een stappenmotor te kunnen gebruiken voor zoiets als dit, moet je ook een sensor hebben die registreert wanneer je aan het beginpunt bent aangekomen (kraan == dicht).
Ik weet alleen niet of zo'n servo wel sterk genoeg is om dat te doen, en een servo heeft een maximale verdraaiing van 180 graden.

Hoi Mas.

Ik ben al heel wat aan het stoeien geweest met het nieuw menu.
Om te weten hoe het werkt.
Door je comentaren is het nu een stuk duidelijker!
Weet nu ook hoe dit werkt.

Ik heb nu weer een vraagje waar ik niet uit kom.
Ik heb een menu opgebouwd onder instellingen.
Ik zal het hier proberen weer te geven hoe dit op het scherm er uitziet.

  1. -INSTELLINGEN-
    Instellen temp.
    voorloop opvang.
    <+/->

Het menu heb ik nu weergegeven als hierboven
Dit staat onder mm=4
Nu dit is opgebouwd is sluit ik mm=4
En ga ik naar mm=5
Hieronder heb ik drie (cases) gemaakt.
Zodat het pijltje voor <+/-> komt te staan.
Ook is het me gelukt om het pijltje op de juiste manier over deze 3 keuzes te laten gaan.
Het selecteren is ook geen probleem.
Maar wat ik graag zou willen is om niet met de knoppen omhoog omlaag over deze 3 keuzes te gaan
Maar met pijltje links en rechts.
Omdat ik de 5 knoppen zoals onder in het bedieningspaneel wil zetten

^
< OK >
v

Zodat het wat logischer word.
Weet jij een manier om deze twee toetsen daar aan te koppelen?
De waarde van toets links is 448 en rechts is 0

Ik zal de code met het nieuwe stukje menu er bij zetten

Distiller_jan_13.ino (21.7 KB)