Агуулгын хүснэгт:

Digilog_Bike POV дэлгэц: 14 алхам
Digilog_Bike POV дэлгэц: 14 алхам

Видео: Digilog_Bike POV дэлгэц: 14 алхам

Видео: Digilog_Bike POV дэлгэц: 14 алхам
Видео: Часы G Shock до 100 долларов-15 лучших часов Casio G Shock до 100 дол... 2024, Долдугаар сарын
Anonim
Image
Image

Дигилог

Дижитал + аналог

Дижитал нь аналогтой нийцдэг

POV

Харааны хүч чадал

Мөн арын зургийн дэлгэц гэж нэрлэдэг бөгөөд хэрэв өндөр хурдтай сэгсрэвэл дараа нь үлдэх болно.

Хүмүүс зурагт үзэж байхдаа видео үзэж байна гэж боддог. Гэвч үнэн хэрэгтээ тэр хэд хэдэн дараалсан зургуудыг харж байгаа. Дараалсан зургуудыг үзэх үед нүдний торлог бүрхэвчинд үлдсэн зургууд нөлөөлж байгаа тул үүнийг зураг гэж эндүүрсэн байна. Ийм хуурмаг зүйлийг POV гэж нэрлэдэг.

Алхам 1: Үзэл баримтлалын үзэл баримтлал

Үзэл баримтлалын үзэл баримтлал
Үзэл баримтлалын үзэл баримтлал

POV нь дугуйны дугуйнд LED оосор бэхлэх замаар хэрэгждэг.

Алхам 2: Материалын жагсаалт

Материалын жагсаалт
Материалын жагсаалт
Материалын жагсаалт
Материалын жагсаалт

Тооцоолол ба I/O

1. Arduino Mega 2560 [arduino] x3

2. Танхимын мэдрэгч модуль V2 [YwRobot] x3

3. WS2812-5050 Уян хатан неопиксел [Adafruit] x3

4. Соронзон (диаметр нь 15мм, зузаан нь 50мм) x3

5. Arduino Mega Case x3

Цахилгаан шугам

5. 5000mAh/3.7V лити зай [TheHan] x3

6. AVR 5V зохицуулагч ба цэнэглэх & PCM модуль: JBATT-U5-LC [Jcnet] x3

7. 4Төмөр утас хэрэгсэл 65PCS/SET [OR0012] x3

Алхам 3: Багаж хэрэгсэл

Багаж хэрэгсэл
Багаж хэрэгсэл

Маш олон багаж хэрэгсэл шаардлагагүй боловч танд хэрэгтэй болно:

1. Гагнуурын машин

2. Гагнуурын төмөр

3. Цавуу буу

4. Хутга

Алхам 4: Хүрээ хийх

Image
Image
Хүрээ хийх
Хүрээ хийх

Унадаг дугуй хайчилж, суурийг бэхлэх

Нунтаглагч нь дугуйн дугуйг дугуйнаас таслахад ашиглаж, дугуйг бэхлэхийн тулд ган хавтанг гагнаж байв.

Алхам 5: Эцсийн зураг ба үзэл баримтлалыг зурах

Эцсийн зураг ба үзэл баримтлалыг зурах
Эцсийн зураг ба үзэл баримтлалыг зурах
Эцсийн зураг ба үзэл баримтлалыг зурах
Эцсийн зураг ба үзэл баримтлалыг зурах
Эцсийн зураг ба үзэл баримтлалыг зурах
Эцсийн зураг ба үзэл баримтлалыг зурах

Бид эцсийн дүр болох лууг сонгосон. Учир нь луугийн давалгааг дүрсний дараах эффектээр хамгийн сайн дүрсэлсэн юм шиг санагдсан.

Алхам 6: Хөдөлгөөнт зургийг хайчилж ав

Хөдөлгөөнт зургийг хайчилж ав
Хөдөлгөөнт зургийг хайчилж ав
Хөдөлгөөнт зургийг хайчилж ав
Хөдөлгөөнт зургийг хайчилж ав

Дугуй тус бүрт тохирох зургийг гурван хэсэгт хувааж, нийт 12 зургийг өнгө, хөдөлгөөнөөр нь хуваана.

Алхам 7: Програм хангамжийг бэлтгэх

Програм хангамж бэлтгэх
Програм хангамж бэлтгэх
Програм хангамж бэлтгэх
Програм хангамж бэлтгэх

Дэд хэсэг 1. Arduino суулгана уу

Arduino татаж авах:

(Өөрийн OS хувилбар болон системд тохируулан суулгах.)

-

Дэд хэсэг 2. Номын санг суулгах

*(Хэрэв та Github -ээр дамжуулан суулгахыг хүсвэл Github Arduino номын сангийн дээрх линкээр зочилно уу:

1. Arduino програмыг ажиллуулна уу

2. Холбоосыг зөвшөөрөх Топ цэс - ноорог - номын сан оруулах -. Zip номын сан нэмэх

3. Та github library4 -ийг аль хэдийн суулгасан.zip файлыг сонгох хэрэгтэй

*(Хэрэв та Arduino програмын үйлчилгээг ашиглахыг хүсвэл)

1. Arduino програмуудыг ажиллуул

2. Холбоосыг зөвшөөрөх Топ цэс - ноорог - номын сан оруулах - менежментийн номын сан - ‘Adafruit neopixel’ хайлт хийх - та ‘Adafruit Neopixel by Adafruit’ харах боломжтой.

3. Номын санг суулгах, шинэчлэх

-

Дэд хэсэг 3. Хөрвүүлэгч програм суулгах

1. Rotation Circle Program (R. C. P) суулгах:

2. Та README файлыг унших хэрэгтэй

Алхам 8: Тоног төхөөрөмжийн цахилгаан хангамжийг бий болгох

Тоног төхөөрөмжийн цахилгаан хангамжийг бий болгох
Тоног төхөөрөмжийн цахилгаан хангамжийг бий болгох
Тоног төхөөрөмжийн цахилгаан хангамжийг бий болгох
Тоног төхөөрөмжийн цахилгаан хангамжийг бий болгох
Тоног төхөөрөмжийн цахилгаан хангамжийг бий болгох
Тоног төхөөрөмжийн цахилгаан хангамжийг бий болгох

*Arduino 5V хүчдэлийг батерейгаар хэрхэн яаж хангах вэ. Доорх алхмуудыг дагана уу.

1. Лити батерей болон JBATT цэнэглэх модулийг холбоно уу. (Лавлахын тулд JBATT модуль нь суурилуулсан цахилгаан унтраалгатай байдаг.)

2. JBATT -ийн гаралтын терминалыг Arduino болон Ground терминалын Вин терминалтай холбоно уу.

3. Бүтээгдэхүүний зөв ажиллаж байгаа эсэхийг шалгахын тулд Micro 5pin usb портыг цэнэглэх порт руу холбоно уу.

4. Дараа нь суурилуулсан унтраалгыг ON болгоно.

5. Хэрэв улаан LED гэрэл асаж, ногоон LED нь Arduino -д асдаг бол бүтээгдэхүүний цахилгаан шатны тохиргоог хэвийн хийж дуусгадаг.

Алхам 9: Тоног төхөөрөмжийн I/O хийх, гаралтыг шалгах (NeoPixel ажиллаж байна)

Тоног төхөөрөмж оруулах/гаргах, гаралтыг шалгах (NeoPixel ажиллаж байна)
Тоног төхөөрөмж оруулах/гаргах, гаралтыг шалгах (NeoPixel ажиллаж байна)
Тоног төхөөрөмж оруулах/гаргах, гаралтыг шалгах (NeoPixel ажиллаж байна)
Тоног төхөөрөмж оруулах/гаргах, гаралтыг шалгах (NeoPixel ажиллаж байна)
Тоног төхөөрөмж оруулах/гаргах, гаралтыг шалгах (NeoPixel ажиллаж байна)
Тоног төхөөрөмж оруулах/гаргах, гаралтыг шалгах (NeoPixel ажиллаж байна)

*Энэ хэсэг нь мэдрэгч ба гаралтын үе шатаас бүрдэнэ

1. Arduino болон Hall мэдрэгчийг холбоно уу. Өгөгдлийн зүү нь Arduino pin 2 -тэй холбогддог.

2. Arduino -ийг асааж, соронз нь Hall -ийн мэдрэгчтэй ойр байх үед улаан гэрэл асах болно.

3. Arduino болон Neopixel -ийг холбоно уу. Зөвхөн 30 неопиксел ашигладаг.

4. Өгөгдлийн зүүг Arduino pin 6 -тай холбоно уу.

5. Arduino болон татаж авах кабелийг компьютерийн USB порт руу холбоод Arduino -г компьютер дээрээ ажиллуулна уу.

6. Arduino програмын дээд цэснээс Tool - board - “Arduino / Genuino Mega or Mega 2560” -ийг сонгоно уу.

7. Боомттой шууд холбогдож болох бүтээгдэхүүний жагсаалт байгаа эсэхийг шалгаарай. Хэрэв үүнийг шалгаагүй бол дарж сонгоно уу.

8. Доорх кодыг буулгаад зүүн дээд буланд байгаа Upload дээр дарна уу. (Дараа нь бүх програмын байршуулалт 5-8 алхмуудыг дагана.)

9. Бүх 30 нүхтэй пикселийг асаахад тохиргоо дуусна.

#1. толгой файл болон урьдчилсан боловсруулалтыг багтаасан болно

Эхлээд бид неопикселийн чадвартай Adafruit_NeoPixel номын санг авчрах хэрэгтэй.

Номын санг объектуудыг зарлах замаар ашиглаж болно.

Adafruit_NeoPixel анги нь 3 параметрийг олон нийтэд оруулах боломжтой.

Эхний параметр бол LED -ийн тоо юм.

секунд параметр нь Neopixel дижитал оролтонд холбогдсон зүү дугаар юм.

Гурав дахь параметр бол бүтээгдэхүүний шинж чанарын дагуу сонголтуудыг оруулах явдал юм. Гурван өнгийн WS2812b бүтээгдэхүүн нь 'NEO_GRB' оролтыг ашигладаг

#оруулах

#тодорхойлох PIN 6 Adafruit_NeoPixel зурвас = Adafruit_Neopixel (30, PIN, NEO_GRB+NEO_KHZ800);

#2. тохируулах

Тохируулах хэсэгт объектыг эхлүүлж, ашиглахад бэлтгэнэ.

'Adafruit_Neopixle_Object.begin ()' нь бүх LED -ийг унтрааж тохируулдаг.

'Adafruit_Neopixle_Object.show ()' нь тод гэрлийг LED -ээр тохируулдаг.

хүчингүй тохиргоо () {

strip.begin (); strip.show (); }

#3. гол гогцоо

Гол давталтын үйлдэл нь LED -ийг цагаан өнгөтэй дарааллаар (0.1 секунд) гаргахын тулд for давталтыг ашигладаг

void loop () {

for (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); strip.show (); саатал (100); }}

Алхам 10: Дугуйг угсарч бэхлэх

Дугуйг угсрах, бэхлэх
Дугуйг угсрах, бэхлэх
Дугуйг угсрах, бэхлэх
Дугуйг угсрах, бэхлэх

1. Неопикселийг холбоно уу. (Пин дугаар шалгахад анхаарлаа хандуулаарай)

2. Танхимын мэдрэгчийг холбоно уу. (9 -р алхамыг үзнэ үү)

3. Хүрээг дугуйны хооронд Arduino руу холбоно уу. (Arduino хайрцгийг унадаг дугуйн хүрээтэй зэрэгцүүлэн хавсаргана уу).

4. Neopixel -т холбогдсон Arduino -ийг оруулна уу. (Цавуу буу халуун байгаа тул болгоомжтой байгаарай).

5. Холбогдсон танхимын мэдрэгчийг Arduino -д оруулна уу, (танхимын мэдрэгч унахгүйн тулд кабелийн бэхэлгээг бэхлээрэй).

6. Батерейг холбох гагнуур. (Гагнахдаа болгоомжтой байгаарай).

7. Цавуу буугаар засаарай. (Зайг цэнэглэх модулийг зайнд бэхлэхийн тулд холбоно уу).

8. Arduino -той холбогдохын өмнө мөр бүрийг залгаарай.

9. Зүү бүрийн дугаар бүрийн дагуу залгаарай. (Цэнэглэх модулийн үсрэх шугамыг андууралгүйгээр холбоно уу).

10. Цавуу буугаар нэг удаа дуусга, (Унахгүй байхыг анхаарна уу).

Алхам 11: INPUT (HALL Sensor Data) -ийг шалгах

Оролтыг шалгаж байна (HALL Sensor Data)
Оролтыг шалгаж байна (HALL Sensor Data)
Оролтыг шалгаж байна (HALL Sensor Data)
Оролтыг шалгаж байна (HALL Sensor Data)
Оролтыг шалгаж байна (HALL Sensor Data)
Оролтыг шалгаж байна (HALL Sensor Data)

*Мэдрэгч ажиллаж байгаа эсэхийг шалгахын тулд програмын кодыг шалгана уу.

1. Доорх кодыг буулгаад байршуулна уу.

2. Arduino -ийн баруун дээд буланд байрлах Serial Monitor товчийг дарна уу.

3. Соронзон танхимын мэдрэгчтэй 1 секундээс илүү хугацаанд холбоо барихад цуваа дэлгэц дээр "холбоо барих соронзон" гэсэн үг гарч ирэхэд тохиргоо дуусна.

-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- #1. Пин дугаар болон тохиргоог тодорхойлно уу

Эхний тохиргооны пин дугаар нь Hall мэдрэгчийг ашигладаг бөгөөд зүү дугаарыг зөвхөн оролтын порт болгон тохируулдаг.

Цуваа дэлгэц дээрх Hall мэдрэгчийн өгөгдлийг шалгахын тулд харилцаа холбоог тохируулна уу.

#заалыг тодорхойлох 2

void setup () {pinMode (HALL, INPUT); Цуваа эхлэх (9600); }

#2. гол гогцоо

Танхимын мэдрэгчийн өгөгдлийг 0.1 секундын интервалтайгаар шалгана уу.

Хэрэв соронзыг мэдэрч, өгөгдлийг өөрчилвөл "контакт соронзон" цуваа дэлгэц рүү гарна.

void loop () {

if (digitalRead (HALL)) {Serial.println ("холбоо барих соронзон"); } саатал (100); }

Алхам 12: Кодлох алгоритм

*Мэдрэгчийн утга дээр үндэслэн неопикселийг удирдахын тулд логик, кодчиллыг бий болго.

1. Доорх кодыг буулгаад байршуулна уу.

2. Хүрээ хийгдээгүй тул дүрсийг зөв харуулахгүй байх нь хэвийн үзэгдэл юм. Гэхдээ энэ нь ойролцоогоор ажиллаж байгааг та харж байна.

3. Hall мэдрэгч ба соронзыг 1 секундын дотор хурдан хүрээд суллана уу. Энэ үйлдлийг ойролцоогоор 10 удаа давтана.

4. Неопикселийн өнгө тогтмол өөрчлөгдөж байх үед тохиргоо дууссан болно.

#1. Толгой файлууд болон урьдчилсан боловсруулалтыг багтаасан болно

Нэгдүгээрт, Arduino Mega -ийн санах ой нь зургийн файл хадгалах хангалттай том биш гэдгийг бид ойлгох ёстой.

Тиймээс 'avr/pgmspace' толгой файлыг санах ойн өөр өөр зайг ашиглахад ашигладаг.

Neopixels -ийг ашиглахын тулд та объект, тохиргоог I/O зүү дугаар гэж зарлана.

Зургийн массив нь кодлоход хэт том тул хавсаргасан файлуудаа татаж аваад буулгаарай.

#оруулах

#оруулах #тодорхойлох ПИН 6 // массивыг 'image_array_1.txt' -д буулгах // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'

#2. Глобал хувьсагч ба тохиргоо

Глобал хувьсагчийг тохируулах.

Хамгийн гол нь гэрэлтүүлгийг тохируулах явдал бөгөөд энэ нь бүтээгдэхүүний амьдралын мөчлөгийг тодорхойлдог.

int тоо = 0;

давхар v = 0; давхар last_v = 0; давхар таймер = микро (); давхар ex_timer = micros (); давхар last_timer = micros (); int deg = 36; int pix = 35; int rgb = 3; давхар q_arr [2] = {0, 0}; int HALL_COUNT = 0; давхар VELO; давхар боловсруулах_хугацаа = микро (); void setup () {strip.setBrightness (255); strip.begin (); strip.show (); Цуваа.begin (230400); }

#3. үндсэн давталт - дүрс илэрхийлэлийн гаралтын хэсэг

Энэ код нь дугуй эргэх хугацааг нарийвчлалтайгаар хэрхэн гаргах тухай нөхцөлт мэдэгдэл юм.

Энэ хэсэгт унадаг дугуйн дугуйг нэг удаа эргүүлэх мөчлөгийг маш чухал параметр болгон ашигладаг.

Түүнчлэн, зургийн массивын өгөгдлийг санах ойгоос унших нь чухал юм.

void loop () {

if ((тоолох (ex_timer / 120.0) - (micros () - боловсруулах_ цаг))) {таймер = микро (); if (VELO> 360000) {for (int i = 0+5; i <pix; i ++) {strip.setPixelColor (i - 5, strip. Color (pgm_read_byte (& (image_1 [count] [1]))), pgm_read_byte (& ((зураг_1 [тоо] [2])), pgm_read_byte (& (зураг_1 [тоо] [би] [0])))); } strip.show (); } өөр бол (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 (& (зураг_2 [тоо] [2])), pgm_read_byte (& (зураг_2 [тоо] [би] [0])))); } strip.show (); } өөр бол (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 (& (зураг_3 [тоо] [2])), pgm_read_byte (& (зураг_3 [тоо] [0])))); } strip.show (); } өөр бол (VELO <= 204000) {for (int i = 0 + 5; i = 120)) {for (int i = 0 + 5; i <pix; i ++) {strip.setPixelColor (i - 5, зурвас Өнгө (0, 0, 0)); } strip.show (); }

#4. Үндсэн гогцоо - боловсруулалт ба мөчлөгийн цагийг шалгах, мэдрэх

Энэ бол бүхэл бүтэн системийн хамгийн чухал хэсэг юм.

Нэгдүгээрт, кодыг бүхэлд нь гүйцэтгэх хугацааг шалгаж, нэг мөчлөгт LED гаралтын хугацааг тохируулна уу.

Дугуй эргэх бүрт мэдрэгдсэн цаг нь дараагийн мөчлөгийн цагийг урьдчилан хэлдэг.

Цаг хэмжсэн мөчлөгийн цаг хугацаанаас сүүлийн хэмжсэн мөчлөгийн хугацааг хасах замаар хурдатгалыг тооцоолж болно.

Систем нь LED -үүдийг хэр удаан тасралтгүй асаахыг тооцоолохын тулд боловсруулах хугацаа болон хурдатгалыг тооцдог.

боловсруулах_хугацаа = микро ();

if ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v; v = micros () - last_timer; ex_timer = q_arr [0] - q_arr [1] + v; last_timer = микро (); q_arr [0] = q_arr [1]; q_arr [1] = v; тоолох = 0; HALL_COUNT = 0; } if if (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}

Алхам 13: Програм хангамж ашиглах

Програм хангамж ашиглах
Програм хангамж ашиглах
Програм хангамж ашиглах
Програм хангамж ашиглах
Програм хангамж ашиглах
Програм хангамж ашиглах

*Програмыг ашиглан дүрсийг өөрчилж, процессийн өгөгдлийг код руу оруулна уу

1. Дээрх алхамаас авсан зургийг бэлтгэл үе шатанд суулгасан R. C. P хавтасны зургийн хавтас руу оруулна уу.

- Зургийг хэрхэн яаж байрлуулах вэ: 1-р бүтээгдэхүүний 4 хүүхэлдэйн дүрсийг 1.png, 2.png, 3.png, 4-p.webp

2. Ver.5.exe файлыг ажиллуулна уу.

3. R. C. P фолдерт pro_1_code_1.txt -ээс pro_3_code_4.txt руу 12 файл үүсгэгдсэн эсэхийг шалгаарай.

4. Хэрэв үүсгэгдээгүй бол config.txt -ийн агуулгыг дараах тохиргооны файл болгон өөрчилнө үү.

5. Файлыг үүсгэсний дараа pro_1_code_1.txt файлаас бүх агуулгыг хуулж, доорх кодод үзүүлсэн хэсэгт буулгана.

6. 5 -р дарааллаар тэмдэглэгдсэн хэсэгт pro_1_code_2.txt, pro_1_code_3.txt, pro_1_code_4.txt агуулгыг нэмнэ үү.

7. 5 ба 6 -ыг дурдахад pro_2_code…, pro_3_code нь кодыг ижил аргаар бөглөнө.

Алхам 14: Дуусгах

Бүрэн
Бүрэн
Бүрэн
Бүрэн
Бүрэн
Бүрэн

Гурван дугуйтай нэг дүрсийг бүтээдэг POV -ийн үйлдвэрлэлийг дуусгасан.

Зөвлөмж болгож буй: