Tartalomjegyzék:

Digilog_Bike POV kijelző: 14 lépés
Digilog_Bike POV kijelző: 14 lépés

Videó: Digilog_Bike POV kijelző: 14 lépés

Videó: Digilog_Bike POV kijelző: 14 lépés
Videó: Servo Motor with Arduino | Arduino Starter kit by Digilog.pk 2024, Július
Anonim
Image
Image

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ó

Ötlet Koncepció
Ötlet Koncepció

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

Anyagok listája
Anyagok listája
Anyagok listája
Anyagok listája

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

Eszközök
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

Image
Image
Keret készítése
Keret ké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épek és fogalmak felvázolása
Végső képek és fogalmak felvázolása
Végső képek és fogalmak vázlata
Végső képek és fogalmak vázlata
Végső képek és fogalmak vázlata
Végső képek és fogalmak vázlata

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

Vágja le a mozgó képet
Vágja le a mozgó képet
Vágja le a mozgó képet
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

Szoftver előkészítése
Szoftver előkészítése
Szoftver előkészítése
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

Hardver tápegység készítése
Hardver tápegység készítése
Hardver tápegység készítése
Hardver tápegység készítése
Hardver tápegység készítése
Hardver 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)

Hardver I/O készítése és KIMENET ellenőrzése (NeoPixel működik)
Hardver I/O készítése és KIMENET ellenőrzése (NeoPixel működik)
Hardver I/O készítése és KIMENET ellenőrzése (NeoPixel működik)
Hardver I/O készítése és KIMENET ellenőrzése (NeoPixel működik)
Hardver I/O készítése és KIMENET ellenőrzése (NeoPixel működik)
Hardver I/O készítése és 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

Összeszerelés és rögzítés a kerékhez
Összeszerelés és rögzítés a kerékhez
Összeszerelés és rögzítés a kerékhez
Összeszerelés és rögzítés a kerékhez

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

BEMENET (HALL érzékelő adatok) ellenőrzése
BEMENET (HALL érzékelő adatok) ellenőrzése
BEMENET (HALL érzékelő adatok) ellenőrzése
BEMENET (HALL érzékelő adatok) ellenőrzése
BEMENET (HALL érzékelő adatok) ellenőrzése
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 használata
Szoftver használata
Szoftver használata
Szoftver használata
Szoftver használata
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

teljes
teljes
teljes
teljes
teljes
teljes

Befejezte a POV gyártását, amely három képet képez egy képet.

Ajánlott: