INHOUDSOPGAWE:
Video: Maak u eie POV -vertoning: 3 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Die Persepsie van Visie (POV) of Persistence of Vision (dit het verskeie variasies) is 'n interessante verskynsel van menslike sig wat voorkom wanneer die visuele persepsie van 'n voorwerp nie ophou nie, ondanks die verandering van die voorwerp. Mense sien 'n beeld in tussenposes van breuke van sekondes; hierdie beelde word vir 'n baie kort tydjie ('n oomblik) in die brein gestoor. 'N Voorbeeld van hierdie verskynsel is wanneer u 'n beligtingsbron, soos LED's of gloeilampe, aanskakel en omdraai, waarneem. Ons visie word mislei om te glo dat die draai -lig eintlik 'n deurlopende sirkel is, net soos die deurlopende sirkel wat gevorm word uit 'n roterende skroef op 'n vliegtuig. POV word al baie jare gebruik, begin met die gifoskoop, om verskillende soorte illusies en animasies vir ons visie te maak; dit word gereeld gebruik om boodskappe en animasies op skerms met LED's te wys, om dit in 2D of 3D te draai vir verskillende soorte boodskappe. Die doel van hierdie app -nota is om te ontwerp en te demonstreer hoe Perceptie van Visie werk deur die woord "SILEGO" op die te bou skerm te skryf, en idees te gee om u te lei in die proses om meer komplekse ontwerpe in die toekoms te maak. Vir hierdie projek het ons 'n Dialog GreenPAK ™ SLG46880 gebruik, met 'n sokstel waarmee hierdie prototipe maklik met alle eksterne komponente met behulp van kabels verbind kan word. Die gebruik van die groter GreenPAK om POV -skerms vir algemene doeleindes te ontwerp, is baie voordelig vanweë sy robuuste komponente, soos ASM -subsisteme, waarmee u enige patroon op die skerm kan druk. Hierdie aansoek sal 'n finale resultaat toon met 'n SLG46880.
Hieronder beskryf ons die nodige stappe om te verstaan hoe die GreenPAK -chip geprogrammeer is om die POV -skerm te skep. As u egter net die resultaat van die programmering wil kry, laai GreenPAK -sagteware af om die reeds voltooide GreenPAK -ontwerplêer te sien. Koppel die GreenPAK Development Kit aan op u rekenaar en klik op die program om die persoonlike IC vir die POV -skerm te skep.
Stap 1: Skema's
Hierdie voorbeeld van POV -vertoning is gerig op 'n 2D -tipe wat in Figuur 1 getoon word, met 'n verskeidenheid elf LED's (elk met weerstande om stroom te reguleer) wat direk gekoppel is aan verskillende GPO -penne op die GreenPAK CMIC. Die kring is prototipe en gesoldeer in PCB -broodborde. Die kragtoevoer wat vir die skerm gebruik word, is 'n 9 V 10 A L1022 alkaliese battery, gekoppel aan 'n spanningsreguleerkring met behulp van LM7805V wat 5 V. lewer, benewens dat die skerm draai, is 'n GS -motor met genoeg krag nodig om al die beheerkringe wat aan die pasgemaakte staander geheg is. In hierdie geval is 'n 12 V-motor gebruik, gekoppel aan 'n hoofskakelaar, en 'n gereguleerde kragtoevoer wat verskillende spanningsvlakke deur 'n draaiskakelaar lewer, sodat die motor met verskeie snelhede kan draai.
Stap 2: GreenPAK -ontwerp
By die ontwerp van verskillende soorte boodskappe en animasies vir 'n POV -skerm met behulp van GreenPAK, moet ons die gereedskap en beperkings van die chip ken. Op hierdie manier kan ons 'n vaardige ontwerp skep deur die minste elektroniese komponente te gebruik om die POV -skerm te bereik. Hierdie ontwerp gebruik die nuwe voordele wat die SLG46880 CMIC bied, met die fokus op die komponent Asynchronous State Machine Subsystems. Die SLG46880 ASM Subsystem -instrument kan voordeliger wees as die vorige GreenPAK ASM -gereedskap vanweë die nuwe funksies wat meer ingewikkelde staatsmasjienontwerpe moontlik maak. Sommige van die relevante interne komponente van die ASM Subsystems is:
● ASM Macrocell met 12 state
● Dinamiese geheue (DM) Macrocell
● F (1) Berekening Macrocell
● Onafhanklike komponente van die staat
Hoe meer staatsmasjiene die makro -selle met die chip toelaat om te skep en te konfigureer, hoe meer ontwerpsmoontlikhede. Elkeen van die twaalf state is gebruik om verskillende breuke van die te vertoon woord te skryf, met verskillende kombinasies van die LED's, waarvan sommige twee keer of meer keer herhaal is, en in sommige gevalle word die tydsberekening van herhaalde toestande verander, omdat dieselfde patroon kan op verskillende tye vir verskillende letters gebruik word. State is gestruktureer in Tabel 1.
Tabel 1 toon aan hoe elk van die bestaande toestande in die ontwerp verband hou met die letters in die woord “SILEGO”. Dit stem ooreen met die LED -opset wat in Figuur 2 getoon word.
Soos u kan sien, bereik al die state wat saam uitgevoer word op verskillende tydstip die volledige opbou van die woord; Figuur 3 toon aan hoe toestande verbind/verwant is. Alle toestand se oorgange is in die orde van millisekondes, en elk van die kolomme in die diagram van Figuur 2 verteenwoordig een millisekonde (1 ms). Sommige van die state duur 3 ms, 4 ms en ander, lank genoeg met die minimum spoed van die motor wat gebruik word vir die videodemonstrasie teen ongeveer 460 RPM.
Dit is belangrik om die snelheid van die motor in ag te neem en te meet om die tydsberekening vir algemene ontwerp te ken en te bereken. Op hierdie manier kan die boodskap gesinkroniseer word met die motorsnelheid, waardeur dit vir die menslike oog sigbaar is. 'N Ander oorweging om die oorgang van state minder onmerkbaar en duideliker vir ons visie te maak, is om die snelheid van die motor te verhoog tot meer as 1000 omw / min, en die tydsberekening van die toestande is in die orde van mikrosekondes gestel, sodat die boodskap glad gesien kan word. U vra u moontlik af: hoe sou u die snelheid van die motor met die boodskap of animasie kan sinkroniseer? Dit word bereik deur 'n paar eenvoudige formules. As u 'n motorsnelheid van 1000 omw / min het, om te weet hoe lank die gelykstroommotor per omwenteling in sekondes neem, dan:
Frekwensie = 1000 RPM / 60 = 16,67 Hz Tydperk = 1 / 16,67 Hz = 59,99 ms
Deur die tydperk te ken, weet u hoe lank die motor 'n draai neem. As u 'n boodskap soos "Hallo wêreld" wil druk, as u eers die tydperk van elke draai ken, is dit net die kwessie van hoe groot u wil hê dat die boodskap op die skerm moet verskyn. Volg die duimreël om die gewenste boodskap op die gewenste grootte te druk:
As u byvoorbeeld wil hê dat die boodskap 40 % van die skerm se ruimte beslaan, dan:
Boodskapgrootte = (tydperk * 40 %) / 100 % = (59,99 ms * 40 %) / 100 % = 24 ms
Dit beteken dat die boodskap vir elke draai in 24 ms gewys word, dus die leë spasie of die res van die spasie in 'n beurt (as u nie iets na die boodskap wys nie), behoort te wees:
Leë spasie = Periode - Boodskapgrootte = 59,99 ms - 24 ms = 35,99 ms
Ten slotte, as u die boodskap in daardie 40% van die periode moet wys, moet u weet hoeveel state en oorgange die boodskap nodig het om die verwagte boodskap te skryf, byvoorbeeld: as die boodskap twintig (20) oorgange het, dan:
Enkelstaatperiode = Boodskapgrootte / 20 = 24 ms / 20 = 1,2 ms.
Elke staat moet dus 1,2 ms duur om die boodskap korrek te vertoon. U sal natuurlik agterkom dat die meeste van die eerste ontwerpe nie perfek is nie, dus u kan sommige parameters tydens fisiese toetse verander om die ontwerp te verbeter. Ons het Macrocells van Dynamic Memory (DM) gebruik om toestand oorgange te vergemaklik. Twee van die vier DM -blokke het matriksverbindings sodat hulle met blokke buite die ASM -substelsel kan wissel. Elke DM Macrocell kan tot 6 verskillende konfigurasies hê wat in verskillende toestande gebruik kan word. DM -blokke word in hierdie ontwerp gebruik om die ASM oor te skakel na die oorgang van een toestand na 'n ander. Die Silego [3] -toestand word byvoorbeeld twee keer oor die oorgange herhaal; dit moet die begin en die einde van die hoofletter "I" met dieselfde patroon skryf, maar dit moet eers na Silego [4] gaan om die patroon van die middel van die hoof "I" te skryf, en dan wanneer Silego [3] vir 'n tweede keer uitgevoer word, moet dit in die status No Message gaan en die res van die oorgange voortgaan. Hoe is dit moontlik om te voorkom dat Silego [3] met Silego [4] in 'n oneindige lus val? Dit is eenvoudig, daar is 'n paar LUT's wat as SR Flip Flops gekonfigureer is wat Silego [3] sê om nie Silego [4] keer op keer te kies nie, maar die status No Message vir die tweede keer. Die gebruik van SR-flip-flops om oneindige lusse te voorkom wanneer een van die toestande herhaal word, is 'n goeie manier om hierdie probleem op te los, en benodig slegs 'n 3-bis LUT wat gekonfigureer is soos getoon in Figuur 4 en Figuur 5. Hierdie proses gebeur op dieselfde tyd as die ASM -uitset laat Silego [3] na Silego [4] gaan, dus die volgende keer dat die staatsmasjien Silego [3] uitvoer, sal dit in kennis gestel word om die status No Message te kies om die proses voort te sit.
'N Ander ASM -blok wat nuttig was vir hierdie projek, is die F (1) Computational Macrocell. Die F (1) kan 'n lys van spesifieke opdragte uitvoer om die gewenste data te lees, te stoor, te verwerk en uit te voer. Dit kan 1 bietjie op 'n slag manipuleer. In hierdie projek is die F (1) -blok gebruik om bisse te lees, te vertraag en uit te voer om sommige LUT's te beheer en toestande moontlik te maak (soos in Silego [1] om Silego [2] in te skakel).
Die tabel in Figuur 1 verduidelik hoe elk van die LED's aan die GPO -penne van die GreenPAK gerig is; die gepaardgaande fisiese penne word aangespreek vanaf die ASM Output RAM in die matriks, soos in tabel 2 getoon word.
Soos u in tabel 2 kan sien, is elke pen van die chip gerig op verskillende ASM -uitsette; ASMOUTPUT 1 het agt (8) uitsette wat almal gebruik word wat direk gekoppel is aan eksterne GPO's behalwe OUT 4. ASM OUTPUT 0 het vier (4) uitsette waar OUT 0 en OUT 1 direk aan PIN 4 en PIN 16 onderskeidelik gekoppel is; OUT 2 word gebruik om LUT5 en LUT6 terug te stel by Silego [5] en Silego [9] state en laastens word OUT 3 gebruik om LUT6 in te stel by Silego [4] en Silego [7]. ASM nRESET word nie in hierdie ontwerp aangeskakel nie, dus word dit net gedwing om HIGH aan VDD te koppel. Boonste en onderste LED's is by hierdie projek gevoeg om ekstra animasie te maak terwyl 'SILEGO' vertoon word. Hierdie animasie handel oor 'n paar reëls wat mettertyd met die motor se beweging sirkel. Hierdie lyne is wit LED's, terwyl die letters wat gebruik is om die letters te skryf rooi is. Om hierdie animasie te bereik, gebruik ons die GreenPAK se PGEN en CNT0. Die PGEN is 'n patroongenerator wat die volgende bietjie in sy skikking op elke rand van die klok uitvoer. Ons het die motor se beurtydperk in 16 afdelings verdeel, en die resultaat is ingestel op die uitsetperiode van CNT0. Die patroon wat in die PGEN geprogrammeer is, word in figuur 6 getoon.
Stap 3: Resultate
Om die ontwerp te toets, het ons die aansluiting van die SLG46880 met 'n lintkabel op die printplaat gekoppel. Twee eksterne borde is aan die stroombaan gekoppel, waarvan een die spanningsreguleerder bevat en die ander die LED -skikking. Om die boodskap vir demonstrasie te begin vertoon, het ons die logiese kring aangeskakel wat deur die GreenPAK beheer word, en dan die GS -motor aangeskakel. Die spoed moet moontlik aangepas word vir behoorlike sinchronisasie. Die finale uitslag word in figuur 7. getoon. Daar is ook 'n gepaardgaande video met hierdie aansoeknota.
Gevolgtrekking Die persepsie van visie wat in hierdie projek aangebied word, is ontwerp met die Dialog GreenPAK SLG46880 as die hoofbeheerder. Ons het getoon dat die ontwerp werk deur die woord "SILEGO" met LED's te skryf. Enkele verbeterings wat aan die ontwerp aangebring kan word, sluit in:
● Deur meer GreenPAK's te gebruik om die hoeveelheid state te verhoog om 'n langer boodskap of animasie te druk.
● Voeg meer LED's by die skikking. Dit kan nuttig wees om LED's op die oppervlak te monteer eerder as LED's deur die gat om die massa van die draaiende arm te verminder.
● Deur 'n mikrobeheerder in te sluit, kan u die boodskap wysig deur I2C -opdragte te gebruik om die GreenPAK -ontwerp te herkonfigureer. Dit kan gebruik word om 'n digitale klokskerm te skep wat die syfers bywerk om die tyd akkuraat te vertoon
Aanbeveel:
Maak u eie USB -waaier - Engels / Francais: 3 stappe
Maak u eie USB -waaier | English / Francais: ENGLISH Vandag het ek op webwerwe gesien dat ons 'n USB -waaier kan koop. Maar ek het gesê hoekom nie myne maak nie? Wat u nodig het: - Elektrisiën of eendband vir kleefband - 'n PC -waaier - 'n USB -kabel wat u nie kan dien nie - 'n Draadsnyer - 'n Skroewedraaier - 'n Snoermossel
Maak u eie fotovoltaïese 5V -stelsel: 4 stappe (met foto's)
Maak u eie fotovoltaïese 5V-stelsel: dit gebruik 'n boksomskakelaar as 'n 5V-uitgang om die battery te laai (Li Po/Li-ion). En Boost -omskakelaar vir 3,7V battery na 5V USB -uitset vir benodigde toestelle 5 V. Soortgelyk aan die oorspronklike stelsel wat loodsuurbattery as 'n energieopslaglaad gebruik
Maak u eie (wipplank) dubbele LED -dimmer: 4 stappe
Maak u eie (wipplank) dubbele LED-dimmer: Vandag sal ek u wys hoe u die dubbele LED-dimmer met slegs 555 timer skyfies saam met algemene komponente kan maak. of N-kanaal) wat die helderheid van 'n LED aanpas, dit gebruik twee MOS
Maak u eie grondvogsensor met Arduino !!!: 10 stappe
Maak u eie grondvogsensor met Arduino !!!: OOR !!! In hierdie instruksies gaan ons 'n grondvogsensor FC-28 met Arduino koppel. Hierdie sensor meet die volumetriese inhoud van water in die grond en gee ons die vogvlak as uitset. Die sensor is toegerus met beide analo
Maak u eie POV LED Globe: 5 stappe (met foto's)
Maak u eie POV LED Globe: In hierdie projek sal ek u wys hoe ek 'n paar staalstukke gekombineer het met 'n Arduino, 'n APA102 LED Strip en 'n Hall -effek sensor om 'n POV (persistentie van visie) RGB LED Globe te skep. Daarmee kan u allerhande sferiese prente maak