Inhoudsopgave:
Video: Lissajous-figuren op 8X8 Led Matrix - Ajarnpa
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Door simpletronicVolg meer van de auteur:
Over: Muziek: al meer dan 40 jaar mijn beroep… Elektronica: altijd mijn geliefde hobby. Meer over simpletronic »
Een lichtpunt dat oscilleert in 2 loodrechte assen tekent een patroon genaamd "Lissajous Figure" (1857) of "Bowditch Curve" (1815). Patronen variëren van eenvoudig tot complex, afhankelijk van de frequentieverhouding en fase van de 2 assen. Een 1:1 verhouding met 0 faseverschil tekent een rechte lijn in een hoek van 45°. In dit project zwaait de frequentieverhouding van de 2 assen langzaam heen en weer tussen 1:1 en 2:1. Deze patronen zijn eenvoudig te genereren met een oscilloscoop en 2 sinusgolfoscillatoren. In het midden van de 19e eeuw deflecteerde Joules Antoine Lissajous een lichtstraal met spiegels die aan stemvorken waren bevestigd. Hij creëerde ook een SAND PENDULUM. Dit project toont Lissajous-figuren op een 8X8 led-matrix (of 64 afzonderlijke leds voor een groter apparaat) en wordt aangestuurd door een PIC16F627-microcontroller.
Stap 1: Bekijk video
De beweging van de actieve led in pixels/seconde is ongeveer 20X de framesnelheid van deze video. Om die reden kunnen de patronen "springerig" lijken. Het echte apparaat heeft een veel vloeiendere visuele prestatie.
Stap 2: Schema:
PIC16F627 vormt het hart van het project.
Stap 3: Decoder
PORTB-pinnen van de mcu drijven de 8 gemeenschappelijke anodes (X-as) aan. PORTA (Y-as / LED-kathodes) heeft maximaal 7 pinnen, configureerbaar als outs. Om de nodige 8 outs te verkrijgen, stuurt PORTA met 2 pinnen een decoder aan die is gemaakt met 3 Nand-poorten (74HC00) die 3 outs levert vanaf 2 pinnen van de mcu.
Stap 4: Het genereren van de "sinus"-golven:
De "sinus" beweging van de pixel wordt verkregen door het lezen van een opeenvolging van 22 byte patronen uit een tabel in het geheugen voor respectievelijk de X-as en de Y-as. De snelheid waarmee deze patronen worden gelezen, bepaalt de periode van de sweep.
Stap 5: Tabel lezen voor POORT A
Tabel gelezen voor PORTA is iets anders dan PORTB. Poort A drijft de kathoden aan en is Actief-LAAG. Pinnen 0 & 1 sturen 3 gemeenschappelijke kathodes aan via 74HC00 en poortdecoder.
Stap 6: Basisstroomschema
Download link naar HEX & ASM code voor PIC16F627
Stap 7: Bekijk de video
slow motion die de beweging van de actieve pixel toont