Tartalomjegyzék:
- 1. lépés: Ötletkoncepció
- 2. lépés: Anyaglista
- 3. lépés: Eszközök
- 4. lépés: A keret elkészítése
- 5. lépés: Vázolja fel a végső képeket és fogalmakat
- 6. lépés: Vágja le a mozgó képet
- 7. lépés: A szoftver előkészítése
- 8. lépés: Hardveres tápegység készítése
- 9. lépés: A hardver I/O létrehozása és a kimenet ellenőrzése (NeoPixel működik)
- 10. lépés: Összeszerelés és rögzítés a kerékre
- 11. lépés: A BEMENET (HALL érzékelő adatok) ellenőrzése
- 12. lépés: Kódolási algoritmus
- 13. lépés: Szoftver használata
- 14. lépés: Fejezze be
Videó: Digilog_Bike POV kijelző: 14 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Digilog
Digitális + analóg
A digitális találkozik az analóggal
saját tulajdonú gépjármű
Vizuális tartósság
Más néven afterimage display, ha nagy sebességgel rázza, az utókép megmarad.
Az emberek azt hiszik, hogy videót néznek, amikor tévét néznek. De valójában több egymást követő képet néz. Ez összetéveszthető egy képpel, mivel az utóképek a retinán maradnak az egymást követő képek megtekintésekor. Ezt a fajta illúziót POV -nak hívják.
1. lépés: Ötletkoncepció
A POV -ot úgy valósítják meg, hogy egy LED -hevedert rögzítenek a kerékpár kerékéhez.
2. lépés: Anyaglista
Számítástechnika és I/O
1. Arduino Mega 2560 [arduino] x3
2. Hall érzékelő modul V2 [YwRobot] x3
3. WS2812-5050 Rugalmas neopixel [Adafruit] x3
4. Mágneses (átmérője 15 mm, vastagsága 50 mm) x3
5. Arduino Mega tok x3
Erővonal
5. 5000mAh/3,7V lítium akkumulátor [TheHan] x3
6. AVR 5V szabályozó, töltő és PCM modul: JBATT-U5-LC [Jcnet] x3
7. 4Jumper huzal készlet 65DB/SET [OR0012] x3
3. lépés: Eszközök
Nem szükséges sok eszköz, de szüksége lesz:
1. Forrasztógép
2. A forrasztópáka
3. Ragasztópisztoly
4. Csipesz
4. lépés: A keret elkészítése
A kerékpár vágása és az alap rögzítése
A darálót a kerékpár kerekeinek levágására használták, a hegesztett acéllemezeket pedig a kerekek rögzítésére használták.
5. lépés: Vázolja fel a végső képeket és fogalmakat
Végső képként sárkányt választottunk. Mert úgy tűnt, hogy a sárkány hullámát leginkább az utókép effektus képviseli.
6. lépés: Vágja le a mozgó képet
Ossza fel a képet három részre, amelyek minden kerékpáron elférnek, és ossza el a 12 képet szín és mozgás szerint.
7. lépés: A szoftver előkészítése
1. rész: Telepítse az Arduino programot
Arduino letöltés:
(Telepítse az operációs rendszer verziójához és rendszeréhez.)
-
2. alrész. Könyvtár telepítése
*(Ha a Githubon keresztül szeretné telepíteni, látogasson el a Github Arduino Könyvtár fölötti linkre:
1. Futtassa az Arduino programot
2. Engedélyezze a hivatkozást Felső menü - vázlat - könyvtár hozzáadása -. Zip könyvtár hozzáadása
3. Válassza ki azt a. Zip fájlt, amely már telepítette a github könyvtárat4
*(Ha az Arduino program szolgáltatásait szeretné használni)
1. Futtasson Arduino programokat
2. Engedélyezze a hivatkozást Felső menü - vázlat - könyvtár - kezelőkönyvtár - „Adafruit neopixel” - „Adafruit Neopixel by Adafruit”
3. Telepítse és frissítse a könyvtárat
-
3. alrész. Telepítse az átalakító programot
1. Telepítse a Rotation Circle Program (R. C. P) programot:
2. Olvassa el a README fájlt
8. lépés: Hardveres tápegység készítése
*Így lehet táplálni az Arduino 5V feszültséget az akkumulátoron keresztül. Kérjük, kövesse az alábbi lépéseket.
1. Csatlakoztassa a lítium akkumulátort és a JBATT töltőmodult. (Referenciaként a JBATT modul beépített tápkapcsolóval rendelkezik.)
2. Csatlakoztassa a JBATT kimeneti terminálját az Arduino és a Ground terminál Vin csatlakozójához.
3. Csatlakoztassa a Micro 5 tűs USB -portot a töltőporthoz, és ellenőrizze, hogy a termék megfelelően működik -e.
4. Ezután fordítsa a beépített kapcsolót ON állásba.
5. Ha a piros LED világít, és a zöld LED világít Arduino -ban, a termék teljesítményfokozatának konfigurálása a szokásos módon befejeződik.
9. lépés: A hardver I/O létrehozása és a kimenet ellenőrzése (NeoPixel működik)
*Ez a rész érzékelőből és kimeneti fokozatból áll
1. Csatlakoztassa az Arduino és a Hall érzékelőket. Az adattű csatlakozik az Arduino 2. tűhöz.
2. Amikor az Arduino be van kapcsolva, és a mágnes szorosan érintkezik a Hall -érzékelővel, a piros LED világítani kezd.
3. Csatlakoztassa az Arduino -t és a Neopixelt. Csak 30 neopixelt használnak.
4. Csatlakoztassa az adatcsapot az Arduino 6 tűvel.
5. Csatlakoztassa az Arduino és letöltési kábelt a számítógép USB -portjához, és futtassa az Arduino -t a számítógépén.
6. Válassza az Eszköz - tábla - „Arduino / Genuino Mega vagy Mega 2560” lehetőséget az Arduino program felső menüsorából.
7. Ellenőrizze, hogy van -e olyan lista, amely közvetlenül csatlakoztatható a porthoz. Ha nincs bejelölve, kattintson rá a kiválasztásához.
8. Illessze be az alábbi kódot, majd kattintson a Feltöltés gombra a bal felső sarokban. (Ezt követően minden programfeltöltés az 5-8. Lépést követi.)
9. A konfiguráció akkor fejeződik be, amikor mind a 30 neolált pixel bekapcsol.
#1. beleértve a fejléc fájlt és az előfeldolgozást
Először el kell hoznunk az Adafruit_NeoPixel könyvtárat, amely képes a Neopixelek kezelésére.
A könyvtár objektumok deklarálásával használható.
Az Adafruit_NeoPixel osztály 3 paramétert adhat meg nyilvánosan.
Az első paraméter a LED -ek száma.
másodperc paraméter a Neopixel digitális bemenethez csatlakoztatott PIN -kód.
A harmadik paraméter a termék jellemzőinek megfelelő beviteli lehetőségek megadása. A háromszínű WS2812b termék a „NEO_GRB” bemenetet használja
#befoglalni
#define PIN 6 Adafruit_NeoPixel strip = Adafruit_Neopixel (30, PIN, NEO_GRB+NEO_KHZ800);
#2. beállít
A beállítási részben inicializálja az objektumot, és készítse elő a használatra.
Az 'Adafruit_Neopixle_Object.begin ()' beállítja az összes LED kikapcsolását.
Az „Adafruit_Neopixle_Object.show ()” kimenet a LED -ben beállított fényerővel rendelkezik.
void setup () {
strip.begin (); strip.show (); }
#3. főhurok
A főhurok művelete a ciklus segítségével a fehér LED -ek szekvenciális kimenetét (0,1 másodperc) végzi
void loop () {
for (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); strip.show (); késleltetés (100); }}
10. lépés: Összeszerelés és rögzítés a kerékre
1. Csatlakoztassa a neopixeleket. (Ügyeljen a PIN -kód ellenőrzésére)
2. Csatlakoztassa a Hall -érzékelőt. (Lásd a 9. lépést)
3. Rögzítse a keretet az Arduino -hoz a kerékpárok között. (Rögzítse az Arduino tokot párhuzamosan a kerékpár keretével).
4. Helyezze be a Neopixelhez csatlakoztatott Arduino -t. (Vigyázzon, mert a ragasztópisztoly forró).
5. Helyezze be a csatlakoztatott Hall -érzékelőt az Arduino -ba, (rögzítse a kábelköteget, hogy a Hall -érzékelő ne essen le).
6. Forrasztó az akkumulátor csatlakoztatásához. (Légy óvatos forrasztáskor).
7. Rögzítse ragasztópisztollyal. (Csatlakoztassa a töltőmodult az akkumulátorhoz a hely biztosítása érdekében).
8. Csatlakoztasson minden sort az Arduino -hoz való csatlakozás előtt, 9. Csatlakoztassa az összes pin szám szerint. (Csatlakoztassa a töltőmodul ugróvezetékeit anélkül, hogy megzavarná őket).
10. Végezze el egyszer ragasztópisztollyal, (Ügyeljen arra, hogy ne essen le).
11. lépés: A BEMENET (HALL érzékelő adatok) ellenőrzése
*Ellenőrizze a szoftver kódját, hogy az érzékelő működik -e.
1. Illessze be és töltse fel az alábbi kódot.
2. Kattintson az Arduino jobb felső sarkában található Soros monitor gombra.
3. Ha a mágnes több mint 1 másodpercig érintkezik a Hall -érzékelővel, akkor a konfiguráció befejeződik, amikor a soros monitoron megjelenik a „kontakt mágnes” szó.
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. Határozza meg a PIN -kódot és a beállítást
Az első konfigurációs PIN-szám, amely a Hall-érzékelőt használja, és a PIN-kódot csak bemenetként szolgáló portként állítja be.
Állítsa be a kommunikációt, hogy ellenőrizze a Hall -érzékelő adatait a soros monitoron.
#define HALL 2
void setup () {pinMode (HALL, INPUT); Sorozat.kezdet (9600); }
#2. főhurok
Ellenőrizze a Hall -érzékelő adatait 0,1 másodperces időközönként.
Ha a mágnest érzékeli, és az adatok megváltoznak, "kontakt mágnes" kerül a soros monitorra.
void loop () {
if (digitalRead (HALL)) {Serial.println ("kontakt mágneses"); } késleltetés (100); }
12. lépés: Kódolási algoritmus
*Hozzon létre logikát és kódolást a neopixelek vezérléséhez az érzékelő értékei alapján.
1. Illessze be és töltse fel az alábbi kódot.
2. Normális, hogy a kép nem jelenik meg megfelelően, mert nincs képkocka. De láthatja, hogy nagyjából működik.
3. Gyorsan érintse meg és engedje fel a Hall -érzékelőt és mágnest 1 másodpercen belül. Ismételje meg ezt a műveletet körülbelül 10 -szer.
4. A konfiguráció akkor fejeződött be, ha a neopixelek színei rendszeresen változnak.
#1. Beleértve a fejlécfájlokat és az előfeldolgozást
Először is meg kell értenünk, hogy az Arduino Mega memóriája nem elég nagy ahhoz, hogy képes legyen egy képfájl tárolására.
Ezért az „avr/pgmspace” fejlécfájlt különböző memóriaterületek kihasználására használják.
A neopixelek használatához az objektumot és a konfigurációt I/O pin számnak kell nyilvánítania.
A képtömb túl nagy a kódoláshoz, ezért töltse le és illessze be a csatolt fájlokat.
#befoglalni
#include #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // tömb beillesztése a 'image_array_1.txt' // "" image_array_2.txt '// "" image_array_3.txt' // "'image_array_4.txt'
#2. Globális változó és beállítás
Állítson be globális változót.
A legfontosabb dolog a fényerő beállítása, ez határozza meg a termék életciklusát.
int count = 0;
kettős v = 0; dupla last_v = 0; kettős időzítő = micros (); dupla ex_időzítő = micros (); dupla last_timer = micros (); int deg = 36; int pix = 35; int rgb = 3; dupla q_arr [2] = {0, 0}; int HALL_COUNT = 0; kettős VELO; kettős feldolgozás_időzítő = micros (); void setup () {strip.setBrightness (255); strip.begin (); strip.show (); Serial.begin (230400); }
#3. főhurok - képkifejezési kimeneti rész
Ez a kód egy feltételes nyilatkozat arról, hogyan adható ki a kerék forgási ideje felbontással.
Ez a rész nagyon fontos paraméterként használja a kerékpár egyszeri elforgatásának ciklusát.
Ezenkívül fontos, hogy a kép tömb adatait a memóriából olvassa be.
void loop () {
if ((count (ex_timer / 120.0) - (micros () - processing_timer))) {timer = micros (); if (VELO> 360000) {for (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (kép_1 [szám] [1])), pgm_read_byte (& (kép_1 [szám] [2])), pgm_read_byte (& (kép_1 [szám] [0])))); } strip.show (); } else if (VELO 264000) {for (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_2 [count] [1])), pgm_read_byte (& (image_2 [count] [2])), pgm_read_byte (& (image_2 [count] [0])))); } strip.show (); } else if (VELO 204000) {for (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_3 [count] [1])), pgm_read_byte (& (image_3 [count] [2])), pgm_read_byte (& (image_3 [count] [0])))); } strip.show (); } else if (VELO <= 204000) {for (int i = 0 + 5; i = 120)) {for (int i = 0 + 5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Szín (0, 0, 0)); } strip.show (); }
#4. fő hurok - feldolgozás és ciklusidő ellenőrzés és érzékelés
Ez az egész rendszer legfontosabb része.
Először ellenőrizze a teljes kód végrehajtásához szükséges időt, és állítsa be a LED kimeneti idejét ciklusonként.
A kerék forgatásakor észlelt idő előre jelzi a következő ciklus idejét.
A gyorsulást úgy lehet megbecsülni, hogy kivonjuk az utolsó mért ciklusidőt az időben mért ciklusidőből.
A rendszer kiszámítja a feldolgozási időt és a gyorsulást, hogy kiszámítsa, mennyi ideig világítsanak a LED -ek.
feldolgozási_időzítő = micros ();
if ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v; v = micros () - utolsó_időzítő; ex_időzítő = q_arr [0] - q_arr [1] + v; last_timer = micros (); q_arr [0] = q_arr [1]; q_arr [1] = v; szám = 0; HALL_COUNT = 0; } else if (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}
13. lépés: Szoftver használata
*Szoftver segítségével alakítsa át a képet, és illessze be a feldolgozási adatokat a kódba
1. Illessze be a fenti lépésből származó képet az előkészítési lépésben telepített R. C. P mappa képmappájába.
- A kép elhelyezése a következőképpen történik.- Négy animált kép átnevezése az 1. termékről 1.png, 2.png, 3-p.webp
2. Futtassa a Ver.5.exe fájlt.
3. Ellenőrizze, hogy az R. C. P mappában 12 pro_1_code_1.txt - pro_3_code_4.txt fájl van -e létrehozva.
4. Ha nem jön létre, módosítsa a config.txt tartalmát a következő konfigurációs fájlként.
5. A fájl létrehozása után másolja ki a teljes tartalmat a pro_1_code_1.txt fájlból, és illessze be az alábbi kódban látható részbe.
6. Adja hozzá a pro_1_code_2.txt, pro_1_code_3.txt és pro_1_code_4.txt tartalmat az 5. sorrendben megjelölt részhez.
7. Hivatkozva az 5. és 6. pontra, a pro_2_code…, pro_3_code ugyanúgy tölti ki a kódot.
14. lépés: Fejezze be
Befejezte a POV gyártását, amely három képet képez egy képet.
Ajánlott:
TTGO (színes) kijelző Micropython-szal (TTGO T-kijelző): 6 lépés
TTGO (színes) kijelző Micropython-szal (TTGO T-kijelző): A TTGO T-Display az ESP32 alapú tábla, amely 1,14 hüvelykes színes kijelzőt tartalmaz. A táblát 7 dollárnál kisebb nyereményért lehet megvásárolni (beleértve a szállítást, a banggoodon látható díjat). Ez hihetetlen nyeremény egy kijelzővel ellátott ESP32 -ért
Egy POV kijelző, hogy mindent szabályozz!: 10 lépés (képekkel)
Egy POV kijelző, hogy szabályozza őket!: Motiváció Nagyon szeretem a POV (látás állandósága) kijelzőket! Ezeket nemcsak érdekes nézni, hanem nagy kihívás is fejleszteni őket. Ez valóban interdiszciplináris feladat. Sok készségre van szüksége: mechanikai, elektronikus, programozási és
Arduino vízszintes POV kijelző: 3 lépés
Arduino vízszintes POV kijelző: A legegyszerűbb POV kijelző 5 LED-del és Arduino Nano-val
PropHelix - 3D POV kijelző: 8 lépés (képekkel)
PropHelix - 3D POV kijelző: Az embereket mindig is lenyűgözték a holografikus ábrázolások. Ennek számos módja van. A projektemben LED -csíkok forgó spirálját használom. Összesen 144 LED van, amelyek 17280 voxelt tudnak megjeleníteni 16 színben. A voxelek tömb
POV kerékpár kijelző - ESP8266 + APA102: 7 lépés (képekkel)
POV kerékpár kijelző - ESP8266 + APA102: ** NYILATKOZAT ** Ez az oktatható rész a mesterképzésem része, és mindenképpen kész. Jelenleg nincs munkaterületem, ezért nem tudom befejezni, mielőtt megfelelő teret kaptam a teszteléshez és az építéshez. Ha szeretne POV kerékpáros kijelzőt építeni