- Vereiste componenten:
- Constructie van propellerdisplay:
- Circuit en werkuitleg:
- Programmering Toelichting:
Je hebt propellers in vliegtuigen of op zeeschepen gezien, zo niet in het echt, dan zeker in films. In deze sessie gaan we een Propeller Display ontwerpen met Arduino, LED's en een DC motor. Op dit propellerdisplay lijkt het alsof de tekst op propellermode in een cirkelvorm draait.
Het propellerdisplay lijkt op een manier als LED Matrix. Het bevat 8 LED's (Light Emitting Diodes) die gerangschikt zijn in de vorm van een 8 * 1 matrix (8 rijen en 1 kolom). Ze zijn gerangschikt in de vorm van een ladder over elkaar. Deze 8 LED's kunnen worden gemaakt om elke inhoud weer te geven, zoals tekst, cijfers, symbolen enz. Dit wordt bereikt door Perception of Vision (POV), waarbij veel stilstaande beelden snel één voor één in een reeks worden verplaatst, wat een perceptie van animatie geeft of een bewegend beeld. Hoe dit wordt gedaan, wordt uitgelegd in de onderstaande tutorial.
Vereiste componenten:
- Arduino Uno
- DC-motor
- + 3.6V LI-ION-batterij
- LED (8 stuks)
- 1KΩ weerstand (8 stuks)
Constructie van propellerdisplay:
Eerst neemt een stabiele basis; Ik gebruikte een oude pc-dvd-drive die rondslingerde. Je kunt een houten plank of een kartonnen doos krijgen. Maak vervolgens een gat in het midden van de dvd-drive (basis) en steek de as van de gelijkstroommotor erin. Zorg ervoor dat het gat strak genoeg is om de motor vast te houden en dat de motor vrij kan draaien. Ik heb Feviquick gebruikt om de as op zijn plaats te zetten.
Ondersteun de bovenkant van de motor om de oneffenheden gelijk te stellen. Ik heb er een puntbord overheen gebruikt en opnieuw snellijm gebruikt om het met een DC-motor te plakken.
Bevestig de LI-ION-batterij er bovenop. Als u geen LI-ION-batterij van hetzelfde formaat heeft, laat deze dan gewoon staan. Neem daarna elke LED en test deze met een knoopcel of een andere bron. Neem vervolgens enkele weerstanden en soldeer ze met LED's volgens de afbeelding en het schakelschema hieronder.
Het is een feit dat u zich geen zorgen hoeft te maken.
Verbind de gesoldeerde LED's en weerstanden met Arduino UNO zoals weergegeven in onderstaande afbeelding en schakelschema.
Het is een feit dat u zich geen zorgen hoeft te maken.
Monteer de UNO op de bovenkant van DC MOTOR en zet hem vast met behulp van cello tape om de installatie te voltooien. Dus de uiteindelijke Propeller-setup ziet er als volgt uit:
Circuit en werkuitleg:
Circuit van Arduino-gestuurd POV-display is heel eenvoudig, we hebben eenvoudig 8 LED's met Arduino Uno verbonden volgens het onderstaande schakelschema.
PORTD, PIN0 ------------------ LED8 POSITIEVE TERMINAL
PORTD, PIN1 ------------------ LED7 POSITIEVE TERMINAL
PORTD, PIN2 ------------------ LED6 POSITIEVE TERMINAL
PORTD, PIN3 ------------------ LED5 POSITIEVE TERMINAL
PORTD, PIN4 ------------------ LED4 POSITIEVE TERMINAL
PORTD, PIN5 ------------------ LED3POSITIEVE TERMINAL
PORTD, PIN6 ------------------ LED2 POSITIEVE AANSLUITING
PORTD, PIN7 ------------------ LED1POSITIEVE TERMINAL
Zoals we meer kolommen toevoegen in 8x8 LED-matrix om het scherm uit te breiden, op dezelfde manier in plaats van meer LED-KOLOMMEN toe te voegen, verplaatsen we de eerste LED-KOLOM naar de tweede LED-KOLOM door de beweging van DC MOTOR te gebruiken.
Om de hele situatie te begrijpen, willen we dat 'A' wordt weergegeven op het propellerdisplay. Bedenk dat de LED 'naald' eerst op POSITIE1 staat, zoals weergegeven in onderstaande afbeelding. LED-naald is de kolom van 8 LED's.
Nu zullen we de motor van stroom voorzien en hij zal gaan draaien.
Op t = 0ms: de naald staat op POSITIE 1. Op deze positie zijn alle acht LED's, van BOVENSTE LED (MSB) tot ONDERSTE LED (LSB), ingeschakeld.
Op t = 1ms: de naald staat op POSITIE 2. Hetzelfde als Positie 1, op deze positie zijn alle acht LED's, van BOVENSTE LED (MSB) tot ONDERSTE LED (LSB), ingeschakeld.
Bij t = 2ms: de naald staat op POSITIE 3. Op deze positie blijven alleen LED7, LED6 & LED3 AAN en de overige LED's zijn UIT.
Bij t = 3ms: de naald staat op POSITIE 4. Hetzelfde als Positie 3, op deze positie blijven alleen LED7, LED6 & LED3 AAN en de overige LED's zijn UIT.
Bij t = 4ms: de naald staat op POSITIE 5. Hetzelfde als Positie 3 & 4, op deze positie blijven alleen LED7, LED6 & LED3 AAN. De resterende LED's zijn uitgeschakeld.
Bij t = 5ms: de naald staat op POSITIE 6. Op deze positie worden alle acht LED's weer ingeschakeld, TOP led (MSB) naar BOTTOM led (LSB) zijn AAN.
Op t = 6ms: de naald staat op POSITIE 7. Zelfde als Positie 6, op deze positie blijven alle acht LED's branden.
Zoals hierboven uitgelegd, zullen we de juiste LED's op de juiste naaldposities inschakelen om het benodigde teken weer te geven. Als de bewegingssnelheid van de naald laag is, kunnen we elke LED-kolom afzonderlijk zien. Maar wanneer de snelheid van de motor hoog is en de naald te snel beweegt, zal het display worden gezien als continu een "A" teken.
Programmering Toelichting:
We hebben de Arduino zo geprogrammeerd dat hij de juiste LED op de juiste momenten aandrijft terwijl hij draait, zodat de LED-kolom de tekst "CIRCUIT DIGEST" in cirkelvormige positie zal weergeven.
Het programmeren van het Propeller-display is gemakkelijk te begrijpen. Een Char Array van 26x8 is genomen als vluchtige char ALPHA. Deze array bestaat uit 8 posities van de naald om elk van de 26 alfabetten weer te geven, waardoor het een array van 26x8 is. 26 rijen in Array vertegenwoordigen de 26 alfabetten en 8 kolommen in elke rij vertegenwoordigen de achtste naaldpositie om het teken tijdens het draaien weer te geven. Nu bestaat elke cel uit een binair getal dat de aan / uit-status van 8 LED's in een bepaalde positie van Needle vertegenwoordigt. Onthoud dat de naald hier verwijst naar een lijn van 8 LED's die op Arduino zijn aangesloten, zoals hierboven uitgelegd.
Nu hoef je alleen maar de DC-motor te draaien en een ' for-lus ' met acht iteraties te gebruiken om een teken weer te geven. Als je bijvoorbeeld 10 tekens wilt weergeven, moet je 10 ' for loops' uitvoeren met elk acht iteraties. We hebben dus 13 for loops gebruikt om de tekst CIRCUIT DIGEST weer te geven. Bekijk de volledige programmacode hieronder met een demonstratievideo.
Dus dit is hoe je een prachtige Persistence of Vision (POV) -illusie kunt creëren met Arduino alsof een tekst draait als een propeller.