Hoi MAS3
Als eerste, bedankt voor je compliment! Dat doet mij goed.
Ik heb nog geen tijd gehad om verder te kijken in de sketch. Ik zal eerst je reply eens laten bezinken en kijken wat ik dmv je adviezen kan vinden. Hopelijk kan ik het komende weekend nog wat tijd vinden om verder te komen. Ik ga denk ik ook proberen om de sketch van neopixels over te zetten naar neopixels matrix. Volgens mij is dit veel makkelijker en geeft mij meer opties in de toekomst.... Ja ik ben nog veel meer van plan.... maar eerst dit goed zien te krijgen en dan stapje voor stapje verder. Ook ben ik aan het arduino boek voor dummies begonnen. Dit is goed geschreven en heb er al een aantal tips uitgehaald welke ik wil gaan proberen.
Verder zal ik je nog wat antwoorden uit je vorige post geven.
MAS3:
Die foto is neem ik aan het resultaat van de sketch die je probeert.
Daar is een patroon in te herkennen.
En dat betekent dat het niet om random oplichtende LEDs gaat.
Wanneer dit telkens de afbeelding is die je krijgt, is het ook geen random resultaat.
Inderdaad, dit is de sketch welke ik graag werkend zie, iets tekenen in het teken programma en dan laten visualiseren op mijn matrix.
Je hebt helemaal gelijk. De pixels worden niet random geplaatst maar door de verkeerde tel som op de verkeerde plek. Random is een verkeerde woord keuze van mij. want als ik deze tekening weer krijg ik dezelfde led's.
MAS3:
Het patroon ziet er voor mij uit als een telfout.
Dat begint al met het aantal pixels in het online tooltje (15 x 15) en dat van jouw matrix (16 x 16).
Begin je links boven op die foto ?
En ga je dan naar rechts of naar beneden ?
De eerste positie van zo'n matrix is normalerwijze niet 1,1.
Het is gebruikelijk dat je bij nul begint en dan is de eerste pixel dus 0,0.
Wanneer het online tooltje dezelfde oriëntatie heeft, dan is de eerste pixel op 0,0 dus groen.
En dat is in je afbeelding ook zo.
Je 2e pixel op 0,1 is ineens rood (dat kan ik nog niet verklaren).
De 3e pixel op 0,2 is geel (denk ik), dat klopt dan weer en de volgende 12 pixels op rij 1 kloppen dan ook.
In je tooltje zijn ook 13 gele pixels achtereen van links naar rechts, dus dat stukje klopt ook
Ik zie ook 15 groene pixels, de enige kleur die 1 volle lijn in beslag neemt, rood en blauw hebben er 14 en geel komt er met 13 een beetje bekaaid vanaf.
Het moet wel een telfout zijn omdat het met de neopixel matrix library wel werkt.
Als ik 16x16 als matrix instel dan werkt mijn matrix niet meer, en wanneer ik in de getintouch debug kijk zie ik ook dat ik geen communicatie heb tussen de arduino en het teken programma. zet ik in mijn sketch de matrix naar 15x15 dan werkt het wel. Ik heb dan niets anders dan de matrix veranderd. Het tekentooltje hoort ook bij de sketch. deze veranderd naar de matrix grootte welke ik in sketch op geef.
Maar dit zet mij nu aan het denken...ik kan wel een lagere matrix instellen.... maar dan wordt het effect nog vreemder omdat hij natuurlijk wel hardware matig de leds ziet en zou dus tellen van "rij 0- pos. 0.0 tm 14" dan zou rij 2 daaronder moeten beginnen maar dit is dan nog "rij-0 pos 15" daarna begin ik pas aan rij 1. klopt mijn beredenering? (sorry lastig uit te leggen via tekst)
De 0.0 positie van mijn matrix is rechts boven, en loopt dan van rechts naar links in een zizag patroon naar beneden. De kleur van mijn 0.0 led zou dus rood moeten zijn.... maar deze is op mijn matrix groen.
Ps mijn matrix op de foto ligt net zoals het teken veld van het tekenprogramma. Daar bedoel ik mee, dat de 0.0 positie van mijn matrix is rechts boven, en loopt dan van rechts naar links in een zizag patroon naar beneden.
MAS3:
Zo, na een half uurtje analyseren en typen ga ik nu een poging wagen te verklaren wat er mis zou kunnen gaan:
Wanneer het patroon in het tootlje van linksboven naar rechts loopt en dan doorgaat op de volgende lijn naar rechtsonder, dan doet jouw matrix dat niet.
De eerste lijn van 15 pixels klopt.
Die lijn begint met groen RECHTS boven en loopt dan naar links.
Vervolgens komt er weer een groene op positie 15 (nu dus links) van de eerste lijn, gevolgd door 14 lege pixels en dan de rode.
De 2e lijn loopt dus wel van links naar rechts, en maakt zo dus het zigzag patroon.
Daarmee word het patroon beschreven en word het gehele plaatje ook verklaard tot en met de laatste oplichtende blauwe pixel rechtsonder.
Wanneer je een geheugen probleem met de Uno hebt, moet je eens proberen een patroon op een enkele lijn te tekenen, waarbij je niet telkens een nieuwe kleur maakt maar de hoeveelheid kleuren ook afwisselt.
Daarna doe je hetzelfde met bijvoorbeeld 3 lijnen.
Voor je matrix maakt het niets uit hoeveel pixels je in je sketch reserveert, maar in je sketch moet je mogelijk oppassen dat het totaal niet te hoog word.
Maar met 48 pixels maak je 3 volle lijnen en kom je dan dus zeker niet in de problemen.
Zet je het tooltje op 16 x 16 en vul je vervolgens niet meer dan de 3 lijnen die je gereserveerd hebt, zul je ook goed uitkomen.
Als je niet goed uitkomt, is het tooltje dus niet geschikt voor een zizag patroon, en kun je de lering trekken dat je niet alles wat je op het internet vind ook kunt vertrouwen.
Maar ik denk dat het wel klopt en dat alleen het aantal pixels en de oriëntatie niet juist is.
Vertrouw daarom vooral ook niet wat ik hier heb neergezet, maar controleer het aan de hand van de simpele gereedschapjes die ik je hier geboden heb.
Een display (zoals je matrix) is een heel sterk debug middel.
Ik laat dit stukje even bezinken en ga je tips proberen.
Het gekke is wel dat er vanuit de app ontwikkelaar geen forum is en minimaal support in de trend van: dit is de code en redt je er mee....
De bijgevoegde sketch in mijn 1e post is dan ook de welke er bij geleverd wordt. Hierin heb ik alleen de pin aanduiding van 3 naar 6 gezet en de matrix van 8x8 naar 16x16.
MAS3:
Ik zie niet zo goed waarom je je die moeite zou nemen tenzij je het juist leuk vind dit uit te zoeken (en het wellicht beter te doen, wie weet).
Wanneer je geen problemen hebt net de NeoMatrix library, is het ook niet waarschijnlijk dat het geheugen een probleem vormt, maar het kan wel door de rest van je sketch die ook ruimte nodig heeft.
Hier geef je argumenten aan de library zodat die weet waar ie mee moet werken.
Er zijn meerdere argumenten, gescheiden door een komma.
Het eerste argument vertelt 'm over hoeveel Neopixels we het hebben.
Als je dan ziet "MATRIX_COLS * MATRIX_ROWS, " en daar eens een keer of 2 over nadenkt wat daar nu eigenlijk staat, dan blijkt dat een formule te zijn en niet 2 aparte waarden.
Een * in een formule staat voor vermenigvuldigen, en jij had eerder al tegen je sketch gezegd dat MATRIX_COLS de waarde 16 heeft, en MATRIX _ROWS ook.
Dan kom je dus uit op 16 maal 16 pixels, is 256, tel ze maar na.
MATRIX_PIN is dus de pin waarop je de display hebt aangesloten.
NEO_GRB vertelt dat het hier gaat over pixels die zijn opgebouwd in de volgorde Groen, Rood , Blauw (bij monitoren is het meestal Rood, Groen, Blauw).
Dus als je die verkeerd zou hebben ingevuld, krijg je verkeerde kleuren op de juiste pixels.
NEO_KHZ800 betekent dat de data er met 800 kilohertz uitgeklokt (sorry, uitgestuurd) word (das best vlot).
Die wil je zo hoog mogelijk hebben voor een vlotte weergave, maar moet natuurlijk wel overeen komen met wat je pixels nog kunnen bijhouden.
Als dit je 1e project met Arduino of vergelijkbaar is, dan is het nogal ambitieus en daarom petje af dat je al zover gekomen bent.
Ik wil heel graag de matrix library toepassen...maar dan kom ik met de rest van de sketch in de knoop...of te wel hoe ik de sturing van het tekentooltje (de app getintouch) werkend krijg. Hier ga ik wel een poging aan wagen.
Zoals al eerder vermeld kom ik met de neo matrix library wel op de juiste instellingen en krijg met de bijgeleverde test sketch "howdy" correct scrollend op mijn matrix.
Ik hoop dat het een beetje duidelijk is wat ik probeer te vertellen....dit is soms best lastig omdat via tekst te doen.
Nogmaals bedankt voor je hulp!
Voor nu zeg ik goed weekend allemaal!
I'll keep you updated!
Groet Gert-Jan