Innehållsförteckning:

Persistence of Vision Fidget Spinner: 8 steg (med bilder)
Persistence of Vision Fidget Spinner: 8 steg (med bilder)

Video: Persistence of Vision Fidget Spinner: 8 steg (med bilder)

Video: Persistence of Vision Fidget Spinner: 8 steg (med bilder)
Video: The Doctrine of Repentance | Thomas Watson | Christian Audiobook 2024, November
Anonim
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner
Persistence of Vision Fidget Spinner

Detta är en fidget spinner som använder Persistence of Vision -effekten som är en optisk illusion där flera diskreta bilder smälter in i en enda bild i det mänskliga sinnet.

Texten eller grafiken kan ändras via Bluetooth Low Energy -länk med hjälp av ett PC -program som jag har programmerat i LabVIEW eller genom att använda en fritt tillgänglig smartphone BLE -app.

Alla filer är tillgängliga. Schematisk och fast programvara är ansluten till denna instruktionsbok. Gerber -filer finns tillgängliga på denna länk eftersom jag inte kan ladda upp zip -filer här: Gerbers

Steg 1: Skillnad mellan andra POV -enheter på marknaden

Skillnad mellan andra POV -enheter på marknaden
Skillnad mellan andra POV -enheter på marknaden

En av de viktigaste egenskaperna är att den visade grafiken inte beror på rotationshastigheten tack vare dess innovativa lösning för att hålla rotationsvinkeln. Det betyder att den visade grafiken uppfattas densamma vid både högre och lägre rotationshastigheter (till exempel när fidget -spinnaren saktar ner när den hålls i handen). Mer om detta i steg 3.

Detta är också en av de viktigaste skillnaderna mellan olika POV -enheter på marknaden (POV -klockor etc.) som måste ha en konstant rotationshastighet för att bilden ska visas korrekt. Det är också värt att notera att alla komponenter är utvalda för att ha lägsta möjliga energianvändning i ett försök att förlänga batteriets livslängd

Steg 2: Teknisk beskrivning

Teknisk beskrivning
Teknisk beskrivning
Teknisk beskrivning
Teknisk beskrivning
Teknisk beskrivning
Teknisk beskrivning
Teknisk beskrivning
Teknisk beskrivning

Den använder förstärkt Microchip PIC 16F1619 mikrokontroller som kärnan. MCU: n har en inbyggd perifer enhet för vinkelklocka som använder en omnipolär hallsensor DRV5033 och en magnet för att hålla reda på den aktuella rotationsvinkeln.

Grafiken visas med totalt 32 lysdioder, 16 gröna och 16 röda ljusdioder (nominell ström 2mA). Dioderna drivs av två 16 -kanals konstantströmskiftregisterdrivrutiner TLC59282 anslutna i seriekedjan. För att få fjärråtkomst till enheten finns en Bluetooth Low Energy -modul RN4871 som kommunicerar till mikrokontrollen via UART -gränssnitt. Enheten kan nås antingen från en persondator eller en smartphone. Enheten slås på med en kapacitiv beröringsknapp som är inbäddad under lödmasken på kretskortet. Utsignalen från den kapacitiva IC PCF8883 matas till ELLER -logikporten BU4S71G2. Den andra ingången till ELLER -grindarna är en signal från MCU. Utsignalen från ELLER-grindar är ansluten till Enable-stiftet på en steg-ner-omvandlare TPS62745. Genom att använda denna inställning kan jag slå på/stänga av enheten med bara en knapp. Kapacitiv knapp kan också användas för att växla mellan olika driftsätt eller till exempel för att slå på bluetooth -radion endast när det behövs för att spara energi.

Step down converter TPS62745 konverterar 6V nominellt från batterierna till en stabil 3.3V. Jag har valt denna omvandlare eftersom den har hög effektivitet med låg belastning, låg viloläge, fungerar med en liten 4,7uH spole, den har integrerad ingångsspänningsomkopplare som jag använder för att mäta batteriets kapacitet med minimal strömförbrukning och utspänningen är användar- kan väljas med fyra ingångar snarare än återkopplingsmotstånd (reducerar BOM). Enheten somnar automatiskt efter 5 minuters inaktivitet. Den nuvarande konsumtionen i sömn är mindre än 7uA.

Batterierna sitter på baksidan enligt bilden.

Steg 3: Håll koll på rotationsvinkeln

Att hålla koll på rotationsvinkeln
Att hålla koll på rotationsvinkeln
Att hålla koll på rotationsvinkeln
Att hålla koll på rotationsvinkeln

Rotationsvinkeln spåras "av hårdvara" snarare av programvara vilket innebär att CPU: n har mycket mer tid till sitt förfogande för att utföra andra uppgifter. För det har jag använt Angular Timer perifer som är inbyggd i den använda mikrokontrollern PIC 16F1619.

Ingång till Angular Timer är en signal från Hall -sensorn DRV5033. Hallsensorn genererar en puls varje gång en magnet passerar förbi den. Hallsensorn är placerad vid enhetens snurrande del medan magneten är placerad på en statisk del för vilken användaren håller enheten. Eftersom jag bara använde en magnet som betyder att Hall -sensorn kommer att producera en puls som upprepas var 360 °. Samtidigt kommer Angular Timer att generera 180 pulser per varv där varje puls representerar 2 ° rotation. Jag väljer 180 pulser, och inte 360 ° till exempel, eftersom jag tyckte att 2 ° var det perfekta avståndet mellan de två kolumnerna i ett tryckt tecken. Angular Timer hanterar all den beräkningen automatiskt och justeras automatiskt om tiden mellan de två sensorpulserna ändras på grund av att rotationshastigheten ändras. Magnetens och Hall -sensorns position visas på det bifogade fotot.

Steg 4: Fjärråtkomst

Fjärranslutning
Fjärranslutning

Jag ville ha ett sätt att ändra den visade texten dynamiskt och inte bara genom att hårdkoda den i koden. Jag har valt BLE eftersom den använder en mycket liten mängd energi och det använda chipet RN4871 är bara 9x11,5 mm i dimension.

Via BT -länk är det möjligt att ändra texten som visas och dess färg - röd eller grön. Batterinivån kan också övervakas för att veta när det är dags att byta batterier. Enheten kan styras via datorprogram programmerad i LabVIEW grafikprogrammeringsmiljö eller genom att använda en fritt tillgänglig smartphone BLE -applikationer som har möjlighet att direkt skriva till de valda BLE -egenskaperna hos en ansluten enhet. För att skicka informationen från en PC/smartphone till enheten använde jag en tjänst med tre egenskaper, var och en identifierad av ett handtag.

Steg 5: PC -applikation

PC -applikation
PC -applikation

I det övre vänstra hörnet har vi kontroller för att starta National Instruments BLE-serverprogram. Det är en kommandoradsapplikation från NI som skapar en bro mellan BLE -modulen på en dator och LabVIEW. Den använder HTTP -protokoll för att kommunicera. Anledningen till att använda det här programmet är att LabVIEW endast har integrerat stöd för Bluetooth Classic och inte för BLE.

Efter lyckad anslutning visas MAC -adressen för en ansluten enhet till höger och den delen är inte nedtonad längre. Där kan vi ställa in den rörliga grafiken och dess färg eller bara skicka ett mönster för att slå på eller stänga av lysdioderna när enheten inte snurrar, jag har använt det för teständamål.

Steg 6: Teckensnitt

Font
Font

Engelska alfabetet teckensnitt genererades med en fritt tillgänglig programvara "The Dot Factory" men jag behövde göra några ändringar innan jag laddade upp det till mikrokontrollern.

Anledningen till det är PCB -layout som är "inte i ordning", vilket betyder att utgången 0 från LED -drivrutinen kanske inte är ansluten till LED 0 på kretskortet, OUT 1 är inte ansluten till LED 1 utan snarare till LED15 till exempel, och osv. Den andra anledningen är att programvaran bara får generera 2x8bit typsnitt men enheten har 16 LED för varje färg så jag behövde en 16bit hög typsnitt. Så jag behövde göra en programvara som skulle skifta några bitar för att kompensera för PCB -layout och kombinera dem till ett 16 -bitars värde. På grund av det utvecklade jag en separat applikation i LabVIEW som tar teckensnittet som genereras i "The Dot Factory" som input och omvandlar det för att passa behoven hos detta projekt. Eftersom de röda och gröna LED -kretskortslayouterna är olika behövde jag använda två teckensnitt. Utmatningen för det gröna teckensnittet visas i bilden nedan.

Steg 7: Programmering av Jig

Programmering Jig
Programmering Jig

På bilden kan du se programmeringsjiggen som användes för att programmera enheten.

Eftersom jag efter varje programmering måste ta upp enheten och snurra den för att se de ändringar som jag inte ville använda standardprogrammeringshuvuden eller bara löd programmeringstrådarna. Jag använde Pogo -stift som har en liten fjäder inuti dem så att de passar mycket tätt till vias på kretskortet. Genom att använda den här inställningen kan jag programmera mikrokontrollern mycket snabbt och behöver inte oroa mig för programmering av ledningar eller det överblivna lödet efter avlödning av dessa ledningar.

Steg 8: Slutsats

Slutsats
Slutsats

För att sammanfatta vill jag påpeka att jag med hjälp av Angul Timer -kringutrustning lyckades uppnå en POV -enhet som inte är beroende av rotationshastighet, så kvaliteten på den visade grafiken hålls densamma vid både högre och lägre hastigheter.

Genom noggrann design lyckades man genomföra en lågenergilösning som förlänger batteriernas livslängd. När det gäller nackdelarna med detta projekt vill jag påpeka att det inte finns något sätt att ladda de använda batterierna, så batteribyte krävs då och då. Batterier utan namn från den lokala butiken varade i cirka 1 månad vid daglig användning. Användningsområden: Den här enheten kan användas i olika säljfrämjande syften eller som läromedel i till exempel elektroteknik eller fysiklektioner. Det kan också användas som ett terapeutiskt hjälpmedel för att öka uppmärksamheten för personer med uppmärksamhetsbrist hyperaktivitetsstörning (ADHD) eller lugna symtom på ångest.

PCB Design Challenge
PCB Design Challenge
PCB Design Challenge
PCB Design Challenge

Första priset i PCB Design Challenge

Rekommenderad: