Bi-directioneel RC-control zelfbouw! (verslag)

Hoi! Zo nu en dan een beetje rommelen aan m'n rc truck om de boel een beetje warm te houden, het waakvlammetje zeg maar...

Verder wel iets meer bezig met uitzoekwerk. Microcontrollers/TFT schermpjes, programmeeromgeving op pc.

Met Arduino ( icm mikroPascal ) draai ik al een tijdje. Waar ik mee bezig ben, maak ik ook af!
De Raspberry Pi is er nu ook in 'pico' uitvoering. Dit is dan meer een microcontroller ipv een microprocessor.
Onndertussen is er ook veel 'Pascal' spul beschikbaar voor deze pico.

Lazarus-IDE gebruik al al wat jaren, zie hier voorbeeld:



Met Lazarus kan ik dus ( via ingebouwde cross compiler ) code schrijven voor de PICO.

Na flink wat mieren, niet met de code zelf maar de hele set-up om zover te komen, een kant en klaar voorbeeld proggie in de PICO gekregen, knipperledje:


Op dit project, iig op de zender van 'bi-directioneel RC-control zelfbouw! (verslag)'

komen een paar kleine OLED schermpjes, die ik aanstuur met een PICO. Deze krijgt de opdrachten vd Arduino in mn zender.
De Arduino blijdft dus gewoon. Ik krijg de schermpjes niet werkend met m'n Arduino namelijk.

Is nog ff de vraag of er uberhaupt een 'groot' touch/TFT op de zender komt.

Wordt vervolgd...
 
Onlangs m'n 'echte' programmer ontvangen.
Spoedig verder met dit topic.

Heb er zin in iig!
trsv8.jpg



Wordt vervolgd...
 
Hoi!

Na flink wat gemier, een proggie in een ATXMEGA128A1 board gekregen.
Da's iig een mooie stap naar 'verder'!


WIN_20221017_14_41_42_Pro.jpg





Volgende stap is een TFT-tje met touchscreen aansluiten. Type ILI9341.

To be continued...
 
Juiste touch-TFT-tjes zijn omnderweg.

Zoals gezeg, het programmeren vd ATXmega's lukt maar iets klopte er niet.
Ik had als test een 100Hz en 100kHzz blokgolfje geprogrammeerd.
De 100Hz bv kwam er uit als 12,5 Hz, factor 8 te weinig dus!
Het getal 8 is 2^3. Dus een bitje in een register ergens niet goed.


Hulp gekregen via het forum/site waar ik o.a. de progger heb gekocht.
Mbv van wat voorbeeldcode voor in m'n software, kreeg ik vervolgens de clock op de juiste frequentie en mn' testsignaal kwam er op 100Hz en 100kHz uit!
Ik was me voorheen er niet van bewust dat dit kon met code. Dacht aan programmeersettings ipv code.


Zoals je ziet heb ik in de software ontwikkel omgeving de clockfrequentie op 32MHz staan maar uiteindelijk na het programmeren werd het wat anders.
Met de gekregen code, draait ie op 32MHz. E rzijn ook adere clockfrequenties mogelijk. 32MHz is max.

32MHz.jpg
 
Ik was me voorheen er niet van bewust dat dit kon met code. Dacht aan programmeersettings ipv code.
Een leermomentje.
Waar ik af en toe mee te maken had en voor de hobby soms heb is het wijzigen van het kristal om de klok frequentie zonder software gegoochel op een ander getalletje te krijgen.
Ipv mooie ronde klokfrequenties kan er zomaar een 7,3728Mhz kristal in zitten, dat is voor een stabiel baudrate bij seriële communicatie een handige klok frequentie.
 
Een leermomentje.
Waar ik af en toe mee te maken had en voor de hobby soms heb is het wijzigen van het kristal om de klok frequentie zonder software gegoochel op een ander getalletje te krijgen.
Ipv mooie ronde klokfrequenties kan er zomaar een 7,3728Mhz kristal in zitten, dat is voor een stabiel baudrate bij seriële communicatie een handige klok frequentie.

Id, bij RS232 zit je met baudrate! Is wel leuk om in te verdiepen.
Het is A-synchone maar na elke byte wordt de boel weer gelijk gezet en opnieuw de bit-timer geactiveerd vanaf af nul. De foutmarge gedurende een byte mag maar zo groot zijn, zodat de laatste bit nog in de timing valt. Beter ff googlen, staat het met plaatjes etc.
 
Soldeeruurtje!

Alweer wat verder.
Alles is ( lomp ) gestekkerd uiteraard, dus afneembaar vd print.

Lomp maar wel stevig en gebruiksvriendelijk etc

TR 05.jpg
 
YES!

Volgende stap is met touchscreen geimplementeerd!

Mmm...dat valt nog ff te bezien...

Hoe/waarom/details/etc laat ik maar ff achterwege!

Heb ooit wat Raspberry Pi's gekregen en daar kan ik tegenwoordig ook in een Pascal-taal code voor schrijven.
Ik ga nu uitzoeken wat de ondersteuning is voor TFT/touch in de LAZARUS -IDE.

Zodat ik datgene mbv een PI kan doen wat ik voorheen met een AVR-controller wilde doen.

Wordt vervolgd...
 
Hier wordt je blij van!

Waar touchscreentjes nodig zijn, ga ik dus een PI gebruiken.

Hier zie je de IDE, dus de 'ontwikkelomgeving' waarin je programmeert!
pilaz-00-jpg.516410



Hier in zie je de aplicatie in debug-mode, dus nog in de IDE.
pilaz-01-jpg.516411



Als je hiermee klaar bent, dan run je de aplicatie grewoon 'los'.
Dus je klikt dan op een .exe et voila. Zonder IDE dus!
 
Gaat dus helemaal goedkomen!

Wel ff opletten want ik moet op de PI een printje zetten om een reeks analoge ingangen te creeren voor de analoge joysticks.
Dit lukt wel voor een net bedrag. Voor de digitale ingangen ( paar drukknopjes ) heb ik waarschijnlijk nog wel wat liggen.

Wordt vervolgd...
 
Tijdje terug al de definitieve microcontrolelr (board) en TFT scherm bepaald.
E.e.a. funcioneert:



Je ziet losse draden vanaf de groene controllerprint gaan.
Dit wordt natuurlijk 'mooier'. Dit dmv 2 printjes waarop alles
poorten ( meeste per 8 bits) dmv kleinere stekkertjes worden onderverdeeld.

Zojuist printjes ontvangen:
pcbs_okt2024_X_L.jpg


Versie 2 vd printjes, V1 had wat 'ontwerpfouten'.
 
Back
Top