verwijderde topic over tekst op display na druk op knop?

Ik zou de hardware voorlopig maken zoals Shooter heeft voorgesteld.
Een 4x20 LCD, arrays voor de pinnummers en pinstatus, en een gesymboliseerde weergave van die 46 pinnen op je 4x20 LCD. Je kunt ze bijvoorbeeld in groepen van 6,8 of 10 weergeven, zodat je met wat fantasie kunt bepalen/aflezen welke pinnummers een signaal/boodschap hebben door te geven.
Als een pin geen signaal heeft kun je een spatie, streepje of een 'o' weergeven, als er wel een signaal is dan zet je er b.v. een 'X' neer.

Het is mogelijk ook van belang dat je kortdurende signalen/pulsen kunt aantonen en weergeven. Dat zou je kunnen doen door de pinnen snel te pollen en de status/verandering in een array op te slaan en weer te geven d.m.v. pijltje omhoog of omlaag dat laat zien dat er een verandering op een pin is geweest. <>Het pollen van de pinnen doe je dan direct in de loop, vele malen per seconde, de weergave naar de LCD (updaten) doe je maar eens per seconde ofzo , LCD's zijn nogal traag<>

De besturing kun je natuurlijk met een paar drukknoppen doen maar ik zelf zou hiervoor een 'rotary switch' kiezen waarvoor je hier: rotary-encoder een prima routine vind. Je kunt dan met draaien door de array stappen en de pinnen een voor een selecteren , door op die plaats het symbool, o,X,^,* of wat dan ook, te laten knipperen weet je welke pin er op dat moment geselecteerd is.
Met een druk op een knop (rotary switch met ingebouwde schakelaar) aktiveer je de routine die het LCD leegmaakt en dan het pinnummer/pinnaam met de omschrijving/mededeling die bij de geselecteerde pin hoort op de LCD weergeeft. Opnieuw een druk op de knop en je komt weer terug in het scherm met de 46 gesymboliseerde pinnummers.

Allicht kun je later als het naar behoren werkt en je de hardware en software goed begrijpt de weergave omzetten naar een grafische display (TFT/LCD/OLED). Met een mega2560 heb je daar wel genoeg pinnen en geheugen voor.
Maar je moet je wel realiseren dat het besturen van een grafische display iets gecompliceerder is dan wat karakters weergeven op een eenvoudige 4x20 LCD. Uiteraard heb je dan wel meer mogelijkheden om symbolen, text en cijfers duidelijker en logischer weer te geven en te rangschikken.

P.S. Zo'n IT cursus voor de arduino lijkt me een prima idee.

Oke dan maar voor de 4*20 (wil het niet moeilijker maken dan het is), maar 46 signalen duidelijk maken op 4 vaste lijnen lijkt mij iet te halen, net omdat ze in combinaties kunnen komen, kan vb 4,10 en 33 zijn, maar voor hetzelfde geld kunnen het er 10 of 15 zijn.
dan word het moeilijk om te stellen dat 31 de rechtse pinker is of de handrem.

Mijn voorkeur gaat nog steeds naar een scrol menu, als het kan natuurlijk.
11 gelijktijdige ingangen hoog, 11 boodschappen en laat maar lopen, eventueel met een versnel drukknopje.

we hebben systeemanalyzers die volgens hetzelfde principe werken, is gekend onder het volk.

mvg

Dat heb ik je proberen uit te leggen:

Je kunt op een 4x20 display tot wel 80 symbolen (die gekoppeld zijn aan een object) kwijt.
Je moet zorgen dat de signalen die iets te vertellen hebben duidelijk eruit springen, dit doe je door de objecten die geen boodschap hebben onopvallend te maken d.m.v. een spatie of puntje .
Met een enkele knop (rotary-switch) kun je elk symbool selecteren, je laat het symbool dat je d.m.v. de draaiknop hebt geselecteerd knipperen en als je op de schakelaar drukt zie je de volledige boodschap die bij dit symbool hoort. Je hebt dan weer 80 karakters om de omschrijving te geven van het object en foutmelding, Eenvoudig uitbreidbaar tot meerdere schermen per foutmelding.

Dat programmeren van een rotary switch is echt zo moeilijk niet, bij het draaien heb je een software teller die op of afloopt (rechtom/linksom) , dus van 1 tot 46 en daarna weer op 1 springt. Ieder symbool heb je in een array gekoppeld aan een pinnummer en text bestandje.

Het enige verschil met een professionele analyser zoals jij die beschrijft is dat je de verplichtte handeling moet doen van: draaien voor selecteren van het nummer en drukken op de draaiknop om de volledige foutmelding te lezen.

Dit is heel wat eenvoudiger te implementeren dan een volledig grafische U.I. (User-Interface).

De omzetting naar een volledig grafische U.I. is (later) ook wel te doen met wat extra programmeerwerk, maar je kunt beter eerst relatief eenvoudig beginnen.
Je zou niet de eerste techneut zijn die een project niet gerealiseerd krijgt omdat hij teveel hooi op zijn vork heeft genomen.

Je kunt ook best een scrollende 4x20 LCD maken waarop je de foutmeldingen ziet scrollen. Is eigenlijk nog eenvoudiger dan een rotary-switch gebruiken.

Maar ik kan je wel vertellen dat text op een 4x20 karakter display latten scrollen zeer moeilijk leesbaar is. Dit komt omdat je niet per beeldlijn kan scrollen maar alleen een volledige regel tegelijk en dat is echt niet lekker leesbaar

Het grote voordeel van een grafische U.I is natuurlijk dat het scrollen tamelijk vloeiend gaat. Dit kost wel wat rekenwerk maar 't is wel te doen met een Mega2560.

Wil je werkelijk scrollen, of bedoel je dat je door pagina's wil bladeren ?
Scrollen betekent dat de inhoud van het scherm continu in beweging is.
Bij een 1602 of 2004 LCD gaat dat altijd schokkerig en omdat zulke schermen nogal traag zijn, word het dan al snel erg lastig lezen.

Misschien is dat wel een optie die je nog niet overwogen hebt, dat je door een aantal schermen moet bladeren om de hele test te kunnen zien.
Maar dat betekent wel dat interactie (== bedienen) verplicht zou zijn.

Als je echt op de scrollende toer wil gaan kun je natuurlijk gewoon een 12864 monochroom grafische LCD nemen i.p.v. een 4x20 karakter display. Een veel gebruikte is die met een ST7920 controller of soms ook nog wel verkrijgbaar een ouder type met een KS0108 controller.
Het schermpje heeft een werkzaam oppervlak van ca. 40x72 mm, dus is ietsje hoger dan een 4x20 LCD en heeft 128 x 64 pixels, zodoende kun je er met een standaard font ca. 8 regels text van 20 karakters op kwijt. Deze kun je dan vloeiend laten scrollen.

Er zijn diverse libraries die deze LCD's ondersteunen. Ik heb zelf wel met de U8glib library gewerkt, scrollen is daarmee geen probleem. Het programmeren is wel iets gecompliceerder dan het aansturen van een 4x20 karakter display, maar het is goed te doen ook wel voor een beginner met genoeg doorzettingsvermogen.

ok, ik stel dit voor, zeggen jullie wat ik het best aankoop, ik ga dit proberen te vinden in een lokale webshop (geen china dus), zodat ik het zo snel mogelijk hier heb, en dan spreken we eventueel een bepaalde dag, moment of, naar jullie believen natuurlijk, om een sketch te maken. (Samen)
Ik zou een FB messenger kunnen voorstellen, whatsapp, maakt mij niet uit.

Mvg

Ik stel voor dat je er een wedstrijd van maakt, wie voor jou de beste sketch kan schrijven :grin:

Was niet direct mijn plan, maar sinds je je aanbied, (hoofddoel is dat ik eruit leer, dus geen abacadabra).

I real time? oke :slight_smile:

LOL.

I'm gone.

Nicozor:
Was niet direct mijn plan, maar sinds je je aanbied, (hoofddoel is dat ik eruit leer, dus geen abacadabra).

I real time? oke :slight_smile:

Nicozor:
Het cartoonist, neen, de behuizing van de tool, komt de display in, wil morgen aan de sketch werken, ik ben van Limburg(B) Brabant is een stukje rijden, jammer.

Als je bij in het dorp zou wonen zou ik met plezier en om niets je helpen met je project.

Welk dorp is dat dan?

Niet ver van Essen vandaan.

ach ik zit dus denk ik er precies tussen in.

Cartoonist, of iemand anders ... :slight_smile:
Kan je mij zeggen welk display ik het best zou aankopen, (veel karakters en niet te moeilijk programeren.

Ben aan een tweede project bezig, zal ik een nieuwe topic over starten ...

Hangt er vanaf hoe groot je die display wilt hebben.
Je hebt hele kleintjes zoals 0.96 inch graphic OLED display, die zijn er ook in 1.3 inch, beide 64128.
Dan zijn er de karakter displays, 2
16 of 4*20 karakters.

Dan zijn er ook graphische displays op LED LCD basis 64*128 puntjes die hebben een wat groter formaat.

Je moet eerst je minimum eisen hebben wat betreft grootte in mm/cm en wat betreft beeldpunten of karakters en ook wat betreft weergave snelheid, bij die eisen moet je dan een display zoeken die dat heeft of die beter is.

Karakter displays zijn het makkelijkst te programmeren maar als je enkel text wilt weergeven dan zijn de meeste graphische displays niet zo heel veel moeilijker.

Ik zou zelf gaan experimenteren met deze. Die heeft 72*40 mm LCD oppervlak.

Omdat ik een I2C liefhebber ben zou ik proberen om dit met een I2C PCF8574 adapterboard aan te sturen. Met de U8Glib library.
Dit is niet echt een snelle library maar die ken ik een beetje.
Zo'n graphische display kan in ieder geval wel mooi scrollen.

Maar misschien wordt dit voor jou iets te ingewikkeld en kun je beter gaan voor een 4*20 LCD display.

ok dan, dan word het de 4*20 (die heb ik met de I2C)
vanaf 4 regels met een drukknop scrollen?

Zeg maar wanneer ik online moet zijn, dan kunnen we het samen overlopen

Bij de start automatisch laten scrollen. (b.v. 3 regels/seconde)
Als je op de drukknop drukt gaat het langzamer scrollen. (b.v. 1 regel/seconde)
Nog een keer drukken dan stopt het scrollen volledig.
Nog een keer drukken dan gaat de text weer gewoon scrollen.

Met een enkele drukknop kun je al heel veel doen.
Het bedienen word er dan wel iets ingewikkelder op, maar je kunt een aardig eind komen.
cartoonist gaf je al enkele mogelijkheden.
Je kunt ook nog de tijd een factor laten spelen.
Dus 1e keer drukken = langzamer scrollen voor bijvoorbeeld 5 seconden.
2 keer drukken binnen 0,7 seconden (ik noem maar iets) = stoppen met scrollen.
Of zolang de toets ingedrukt is (en je een bepaalde minimum tijd hebt gedrukt) = stoppen met scrollen.
Voordeel daarvan is dat je dan dus weer verder scrollt als de knop losgelaten word.

En dat verder scrollen kun je ook eerst langzaam, en later sneller laten verlopen.

Hier is dus heel veel mogelijk, en allemaal leuk om uit te werken.
Je moet hiervoor dus wel iets bedenken om de tijd bij te gaan houden.
Jij moet (zoals eerder meen ik ook al aangegeven) zelf gaan bedenken wat en hoe je wil dit en of jij en/of de gebruiker daar ook mee om zal kunnen gaan.