Inhoudsopgave:
- Stap 1: Verschil tussen andere POV-apparaten op de markt
- Stap 2: Technische beschrijving
- Stap 3: Houd de draaihoek bij
- Stap 4: Toegang op afstand
- Stap 5: PC-toepassing
- Stap 6: Lettertype
- Stap 7: Jig programmeren
- Stap 8: Conclusie
Video: Persistentie van visie Fidget Spinner - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Dit is een fidget-spinner die het Persistence of Vision-effect gebruikt, een optische illusie waarbij meerdere afzonderlijke afbeeldingen in de menselijke geest tot één enkel beeld versmelten.
De tekst of afbeeldingen kunnen worden gewijzigd via Bluetooth Low Energy-link met behulp van een pc-applicatie die ik heb geprogrammeerd in LabVIEW of door een gratis verkrijgbare BLE-app voor smartphones te gebruiken.
Alle bestanden zijn beschikbaar. Schema en firmware zijn gekoppeld aan deze Instructable. Gerber-bestanden zijn beschikbaar via deze link omdat ik hier geen zip-bestanden kan uploaden: Gerbers
Stap 1: Verschil tussen andere POV-apparaten op de markt
Een van de belangrijkste kenmerken is dat de weergegeven graphics niet afhankelijk zijn van de rotatiesnelheid dankzij de innovatieve oplossing voor het bijhouden van de rotatiehoek. Dit betekent dat de weergegeven afbeelding hetzelfde wordt waargenomen bij zowel hogere als lagere rotatiesnelheden (bijvoorbeeld wanneer de fidget-spinner langzamer gaat draaien wanneer hij in de hand wordt gehouden). Meer hierover in stap 3.
Dit is ook een van de belangrijkste verschillen tussen verschillende POV-apparaten op de markt (POV-klokken, enz.) Die een constante rotatiesnelheid moeten hebben om het beeld correct weer te geven. Het is ook vermeldenswaard dat alle componenten zijn geselecteerd om het laagst mogelijke energieverbruik te hebben in een poging om de levensduur van de batterij te verlengen
Stap 2: Technische beschrijving
Het maakt gebruik van een verbeterde Microchip PIC 16F1619 microcontroller als kern. De MCU heeft ingebouwde Angular Timer-randapparatuur die de omnipolaire Hall-sensor DRV5033 en één magneet gebruikt om de huidige rotatiehoek bij te houden.
De grafische weergave wordt weergegeven met in totaal 32 LED's, 16 groene en 16 rode lichtdioden (nominale stroom 2mA). De diodes worden aangedreven door twee 16-kanaals constante stroom schuifregisterdrivers TLC59282 die in een serieschakeling zijn aangesloten. Om op afstand toegang tot het apparaat te krijgen, is er een Bluetooth Low Energy-module RN4871 die via de UART-interface met de microcontroller communiceert. Het apparaat is toegankelijk vanaf een pc of een smartphone. Het apparaat wordt ingeschakeld met behulp van een capacitieve aanraakknop die is ingebed onder het soldeermasker op de printplaat. De uitvoer van het capacitieve IC PCF8883 wordt toegevoerd aan de logische OF-poort BU4S71G2. De andere ingang naar de OF-poorten is een signaal van de MCU. De uitgang van OF-poorten is verbonden met de Enable-pin van een step-down-converter TPS62745. Door deze opstelling te gebruiken, kan ik het apparaat in- of uitschakelen met slechts één druk op de knop. De capacitieve knop kan ook worden gebruikt om tussen verschillende bedrijfsmodi te wisselen of om bijvoorbeeld de bluetooth-radio alleen in te schakelen wanneer dat nodig is om energie te besparen.
Step-down converter TPS62745 converteert 6V nominaal van de batterijen naar een stabiele 3.3V. Ik heb voor deze converter gekozen omdat hij een hoog rendement heeft bij lichte belastingen, een lage ruststroom, werkt met een kleine 4.7uH-spoel, hij heeft een geïntegreerde ingangsspanningsschakelaar die ik gebruik om de capaciteit van de batterij te meten met minimaal stroomverbruik en de uitgangsspanning is gebruikers- selecteerbaar door vier ingangen in plaats van feedbackweerstanden (vermindert de stuklijst). Het apparaat gaat automatisch in slaapstand na 5 minuten inactiviteit. Het stroomverbruik in slaap is minder dan 7uA.
De batterijen bevinden zich aan de achterkant zoals op de foto te zien is.
Stap 3: Houd de draaihoek bij
De rotatiehoek wordt "door hardware" gevolgd door software, wat betekent dat de CPU veel meer tijd tot zijn beschikking heeft om andere taken uit te voeren. Daarvoor heb ik Angular Timer-randapparatuur gebruikt die is ingebouwd in de gebruikte microcontroller PIC 16F1619.
De ingang naar de Angular Timer is een signaal van Hall-sensor DRV5033. De Hall-sensor genereert een puls elke keer dat er een magneet langskomt. De Hall-sensor bevindt zich op het draaiende deel van het apparaat, terwijl de magneet zich op een statisch onderdeel bevindt waarvoor de gebruiker het apparaat vasthoudt. Omdat ik slechts één magneet heb gebruikt, betekent dit dat de Hall-sensor een puls zal produceren die zich elke 360° herhaalt. Tegelijkertijd genereert de Angular Timer 180 pulsen per omwenteling waarbij elke puls 2° rotatie vertegenwoordigt. Ik kies 180 pulsen, en niet 360° bijvoorbeeld, omdat ik 2° de perfecte afstand vond tussen de twee kolommen van een gedrukt karakter. De Angular Timer verwerkt al die berekeningen automatisch en past zich automatisch aan als de tijd tussen de twee sensorpulsen verandert doordat de rotatiesnelheid verandert. De positie van de magneet en Hall-sensor is weergegeven in de bijgevoegde foto.
Stap 4: Toegang op afstand
Ik wilde een manier om de weergegeven tekst dynamisch te veranderen en niet door deze alleen maar hard in de code te coderen. Ik heb voor BLE gekozen omdat het een zeer kleine hoeveelheid energie gebruikt en de gebruikte chip RN4871 slechts 9x11,5 mm groot is.
Via BT-link is het mogelijk om de weergegeven tekst en de kleur ervan te wijzigen - rood of groen. Het batterijniveau kan ook worden gecontroleerd om te weten wanneer het tijd is om de batterijen te vervangen. Het apparaat kan worden bestuurd via een computertoepassing die is geprogrammeerd in de LabVIEW grafische programmeeromgeving of door gebruik te maken van een vrij beschikbare smartphone BLE-applicaties die de mogelijkheid hebben om rechtstreeks naar de geselecteerde BLE-kenmerken van een aangesloten apparaat te schrijven. Voor het verzenden van de informatie van een pc/smartphone naar het apparaat heb ik één dienst gebruikt met drie kenmerken, elk geïdentificeerd door een handvat.
Stap 5: PC-toepassing
In de linkerbovenhoek hebben we bedieningselementen voor het opstarten van de National Instruments BLE-servertoepassing. Dat is een opdrachtregeltoepassing van NI die een brug slaat tussen de BLE-module op een computer en LabVIEW. Het gebruikt het HTTP-protocol om te communiceren. De reden voor het gebruik van deze applicatie is dat LabVIEW alleen native ondersteuning heeft voor Bluetooth Classic en niet voor BLE.
Na succesvolle verbinding wordt het MAC-adres van een aangesloten apparaat aan de rechterkant weergegeven en is dat deel niet meer grijs weergegeven. Daar kunnen we de bewegende afbeeldingen en de kleur ervan instellen of gewoon een patroon verzenden om de LED's aan of uit te zetten wanneer het apparaat niet draait, ik heb dat voor testdoeleinden gebruikt.
Stap 6: Lettertype
Het Engelse alfabetlettertype werd gegenereerd met behulp van een gratis beschikbare software "The Dot Factory", maar ik moest een paar wijzigingen aanbrengen voordat ik het naar de microcontroller kon uploaden.
De reden daarvoor is de PCB-layout die "niet in orde" is, wat betekent dat de uitgang 0 van de LED-driver misschien niet is verbonden met de LED 0 op de PCB, OUT 1 is niet verbonden met LED 1 maar eerder met LED15 bijvoorbeeld, en enz. De andere reden is dat de software alleen 2x8bit-lettertypen mag genereren, maar het apparaat heeft 16 LED's voor elke kleur, dus ik had een 16-bits hoog lettertype nodig. Dus ik moest software maken die een paar bits zou verschuiven om de PCB-lay-out te compenseren en combineer ze tot één 16-bits waarde. Daarom heb ik een aparte applicatie ontwikkeld in LabVIEW die het in "The Dot Factory" gegenereerde lettertype als invoer neemt en het transformeert om aan de behoeften van dit project te voldoen. Omdat de lay-outs van de rode en groene LED-printplaten anders zijn, moest ik twee lettertypen gebruiken. De uitvoer voor het groene lettertype wordt weergegeven in de onderstaande afbeelding.
Stap 7: Jig programmeren
Op de afbeelding ziet u de programmeermal waarmee het apparaat is geprogrammeerd.
Omdat ik na elke programmering het apparaat moet oppakken en ronddraaien om de veranderingen te zien, wilde ik geen standaard programmeerheaders gebruiken of gewoon de programmeerdraden solderen. Ik heb Pogo-pinnen gebruikt met een kleine veer erin, zodat ze heel strak op de via's op de PCB passen. Door deze opstelling te gebruiken, kan ik de microcontroller zeer snel programmeren en hoef ik me geen zorgen te maken over het programmeren van draden of het overgebleven soldeer na het desolderen van die draden.
Stap 8: Conclusie
Samenvattend wil ik erop wijzen dat ik door het gebruik van Angul Timer-randapparatuur met succes een POV-apparaat heb bereikt dat niet afhankelijk is van de rotatiesnelheid, dus de kwaliteit van de weergegeven afbeeldingen blijft hetzelfde bij zowel hogere als lagere snelheden.
Door een zorgvuldig ontwerp is het gelukt om een energiezuinige oplossing te implementeren die de levensduur van de batterijen verlengt. Wat betreft de nadelen van dit project wil ik erop wijzen dat er geen manier is om de gebruikte batterijen op te laden, dus vervanging van de batterij is zo nu en dan vereist. Batterijen zonder naam van de plaatselijke winkel gingen ongeveer 1 maand mee bij dagelijks gebruik. Gebruik: Dit apparaat kan worden gebruikt voor verschillende promotionele doeleinden of als leerhulpmiddel bij bijvoorbeeld elektrotechniek of natuurkunde. Het kan ook worden gebruikt als een therapeutisch hulpmiddel om de aandacht te vergroten voor mensen met ADHD (Attention Deficit Hyperactivity Disorder) of om symptomen van angst te kalmeren.
Eerste prijs in de PCB Design Challenge
Aanbevolen:
DIY-persistentie van visie: 6 stappen (met afbeeldingen)
DIY-persistentie van visie: in dit project zal ik u kennis laten maken met het perspectief van visie of POV-weergave met een paar benodigdheden zoals Arduino en Hall-sensoren om een roterend display te maken dat alles weergeeft wat u maar wilt, zoals tekst, tijd en andere speciale tekens
Generator: Fidget Spinner Generator 3 in 1: 3 stappen
Generator: Fidget Spinner Generator 3 in 1: fidget spinner generator 3 in 1 - nu kunt u uw fidget spinner generator configureren (drie keuzes) de micro generator gebruikt 3 neodymium bollen en 3 neodymium schijven (led en kleine spoel ijzer minder)Vind ons OP INSTAGRAM en zie een eenvoudige elektrische
Een Fidget Spinner in CAD modelleren: 6 stappen
Een fidget-spinner in CAD modelleren: ik had niet echt veel nagedacht over het hebben van een fidget-spinner totdat mijn kleine broertje er een voor me kocht als cadeau. En ik ben er dol op! Nu heb ik een paar verschillende en ik heb er bijna altijd een bij me. Persoonlijk geloof ik echt dat fidget-speelgoed nuttig kan zijn
HackerBox 0046: Persistentie: 9 stappen
HackerBox 0046: Persistentie: Groeten HackerBox Hackers over de hele wereld! Met HackerBox 0046 experimenteren we met persistente elektronische papieren displays, LED-persistentie van vision (POV) tekstgeneratie, Arduino-microcontrollerplatforms, elektronische prototyping en rec
Slimme IoT-visie: 8 stappen
Smart IoT Vision: dit is een project gericht op de smart city-context. In deze kwestie zijn er drie grote problemen die we oplossen: – energiebesparing in openbare verlichting; 2 – de veiligheid van de stad verbeteren; 3 – de doorstroming van het verkeer verbeteren.1 – Door LED-verlichting op straten te gebruiken, wordt de s