Mục lục:
- Bước 1: Khái niệm ý tưởng
- Bước 2: Danh sách vật liệu
- Bước 3: Công cụ
- Bước 4: Làm khung
- Bước 5: Phác thảo các hình ảnh và khái niệm cuối cùng
- Bước 6: Cắt hình ảnh chuyển động
- Bước 7: Chuẩn bị phần mềm
- Bước 8: Tạo nguồn điện cho phần cứng
- Bước 9: Tạo I / O phần cứng & Kiểm tra OUTPUT (NeoPixel Working)
- Bước 10: Lắp ráp và gắn vào bánh xe
- Bước 11: Kiểm tra INPUT (Dữ liệu cảm biến HALL)
- Bước 12: Thuật toán mã hóa
- Bước 13: Sử dụng phần mềm
- Bước 14: Hoàn thành
Video: Digilog_Bike POV Display: 14 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:32
Digilog
Kỹ thuật số + Tương tự
Kỹ thuật số gặp tương tự
POV
Sự bền bỉ của thị giác
Còn được gọi là hiển thị dư ảnh, nếu bị lắc ở tốc độ cao, dư ảnh vẫn còn.
Mọi người nghĩ rằng họ đang xem video khi họ xem TV. Nhưng trên thực tế, anh ta đang xem vài bức tranh liên tiếp. Điều này bị nhầm với một hình ảnh vì ảnh hưởng của dư ảnh còn lại trên võng mạc của chúng ta khi xem các hình ảnh liên tiếp. Loại ảo giác này được gọi là POV.
Bước 1: Khái niệm ý tưởng
POV được thực hiện bằng cách gắn dây đeo đèn LED vào bánh xe đạp.
Bước 2: Danh sách vật liệu
Máy tính & I / O
1. Arduino Mega 2560 [arduino] x3
2. Mô-đun cảm biến Hall V2 [YwRobot] x3
3. WS2812-5050 Neopixel linh hoạt [Adafruit] x3
4. Từ tính (đường kính 15mm, dày 50mm) x3
5. Arduino Mega Case x3
Đường dây điện
5. Pin Lithium 5000mAh / 3.7V [TheHan] x3
6. Bộ điều chỉnh AVR 5V & mô-đun sạc & PCM: JBATT-U5-LC [Jcnet] x3
7. Bộ dây 4Jumper 65PCS / BỘ [OR0012] x3
Bước 3: Công cụ
Không cần quá nhiều công cụ tuy nhiên bạn sẽ cần:
1. Máy hàn
2. Một bàn ủi hàn
3. Súng bắn keo
4. Kềm
Bước 4: Làm khung
Cắt xe đạp và gắn đế
Máy mài được sử dụng để cắt bánh xe đạp ra khỏi xe đạp và hàn các tấm thép để cố định bánh xe.
Bước 5: Phác thảo các hình ảnh và khái niệm cuối cùng
Chúng tôi đã chọn một con rồng làm hình ảnh cuối cùng. Bởi vì làn sóng của con rồng dường như được thể hiện tốt nhất bằng hiệu ứng dư ảnh.
Bước 6: Cắt hình ảnh chuyển động
Chia hình ảnh thành ba phần sẽ phù hợp với mỗi chiếc xe đạp và chia tổng số 12 hình ảnh theo màu sắc và chuyển động.
Bước 7: Chuẩn bị phần mềm
Phần phụ 1. Cài đặt Arduino
Tải xuống Arduino:
(Cài đặt để phù hợp với phiên bản hệ điều hành và hệ thống của bạn.)
-
Phần phụ 2. Cài đặt thư viện
* (Nếu bạn muốn cài đặt thông qua Github, vui lòng truy cập liên kết ở trên Thư viện Github Arduino:
1. Chạy chương trình Arduino
2. Cho phép liên kết Menu trên cùng - phác thảo - bao gồm thư viện - thêm thư viện. Zip
3. Bạn nên chọn tệp. Zip đã cài đặt thư viện github4
* (Nếu bạn muốn sử dụng các dịch vụ chương trình Arduino)
1. Chạy các chương trình Arduino
2. Cho phép liên kết Trình đơn trên cùng - bản phác thảo - bao gồm thư viện - thư viện quản lý - tìm kiếm ‘Adafruit neopixel’ - bạn có thể xem ‘Adafruit Neopixel của Adafruit’
3. Cài đặt và cập nhật thư viện
-
Phần phụ 3. Cài đặt chương trình chuyển đổi
1. Cài đặt Chương trình Vòng tròn Xoay (R. C. P):
2. Bạn cần đọc tệp README
Bước 8: Tạo nguồn điện cho phần cứng
* Đây là cách cung cấp điện áp 5V Arduino qua pin. Vui lòng làm theo các bước dưới đây.
1. Kết nối pin Lithium và mô-đun sạc JBATT. (Để tham khảo, mô-đun JBATT có công tắc nguồn tích hợp.)
2. Kết nối đầu ra của JBATT với đầu cuối Vin của Arduino và thiết bị đầu cuối Đất.
3. Kết nối cổng Micro 5pin usb với cổng sạc để kiểm tra xem sản phẩm đã hoạt động bình thường chưa.
4. Tiếp theo, chuyển công tắc tích hợp sang BẬT.
5. Nếu đèn LED màu đỏ sáng lên và đèn LED màu xanh lá cây sáng lên trong Arduino, cấu hình giai đoạn nguồn sản phẩm đã hoàn tất bình thường.
Bước 9: Tạo I / O phần cứng & Kiểm tra OUTPUT (NeoPixel Working)
* Phần này bao gồm cảm biến và giai đoạn đầu ra
1. Kết nối các cảm biến Arduino và Hall. Chân dữ liệu kết nối với chân 2 của Arduino.
2. Khi Arduino được cấp nguồn và nam châm tiếp xúc gần với cảm biến Hall, đèn led màu đỏ sẽ sáng.
3. Kết nối Arduino và Neopixel. Chỉ có 30 Neopixel được sử dụng.
4. Kết nối chân dữ liệu với chân 6 của Arduino.
5. Kết nối Arduino và cáp tải xuống với cổng usb của máy tính và chạy Arduino trên máy tính của bạn.
6. Chọn Tool - board - “Arduino / Genuino Mega hoặc Mega 2560” từ thanh menu trên cùng của chương trình Arduino.
7. Kiểm tra xem có danh sách các sản phẩm có thể kết nối trực tiếp với cổng hay không. Nếu nó không được chọn, hãy nhấp để chọn nó.
8. Dán mã bên dưới và nhấp vào Tải lên ở trên cùng bên trái. (Sau đó, tất cả các quá trình tải lên chương trình đều thực hiện theo các bước 5-8.)
9. Cấu hình hoàn tất khi tất cả 30 pixel neoled được bật.
# 1. bao gồm tệp tiêu đề và tiền xử lý
Đầu tiên chúng ta cần đưa thư viện Adafruit_NeoPixel có thể hoạt động Neopixels.
Thư viện có thể được sử dụng bằng cách khai báo các đối tượng.
Lớp Adafruit_NeoPixel có thể nhập công khai 3 tham số.
Tham số đầu tiên là số lượng đèn LED.
tham số giây là số pin được kết nối với đầu vào kỹ thuật số Neopixel.
Tham số thứ ba là các tùy chọn đầu vào theo đặc tính của sản phẩm. sản phẩm WS2812b ba màu sử dụng đầu vào 'NEO_GRB'
#bao gồm
#define PIN 6 Adafruit_NeoPixel dải = Adafruit_Neopixel (30, PIN, NEO_GRB + NEO_KHZ800);
# 2. cài đặt
Trong phần thiết lập, khởi tạo đối tượng và chuẩn bị để sử dụng.
'Adafruit_Neopixle_Object.begin ()' đặt tất cả các đèn LED để tắt.
'Adafruit_Neopixle_Object.show ()' xuất ra với độ sáng được đặt trong đèn LED.
void setup () {
dải.begin (); dải.show (); }
# 3. vòng lặp chính
Hành động của vòng lặp chính sử dụng vòng lặp for để xuất ra tuần tự (0,1 giây) các đèn LED màu trắng
void loop () {
for (uint16_t i = 0; i <strip.numPixels (); i ++) {strip.setPixelColor (i, 255, 255, 255); dải.show (); chậm trễ (100); }}
Bước 10: Lắp ráp và gắn vào bánh xe
1. Kết nối Neopixels. (Chú ý kiểm tra số pin)
2. Kết nối Cảm biến Hall. (Tham khảo Bước 9)
3. Gắn khung vào Arduino giữa các xe đạp. (Gắn hộp Arduino song song với khung xe đạp).
4. Chèn Arduino được kết nối với Neopixel. (Hãy cẩn thận vì súng bắn keo đang nóng).
5. Chèn cảm biến Hall đã kết nối vào Arduino, (Giữ chặt dây cáp để cảm biến Hall không bị rơi ra).
6. Hàn để kết nối pin. (Hãy cẩn thận khi bạn hàn).
7. Cố định nó bằng súng bắn keo. (Gắn mô-đun sạc vào pin để đảm bảo không gian).
8. Cắm từng dòng trước khi kết nối với Arduino, 9. Cắm theo từng số pin. (Kết nối các đường nhảy cho mô-đun sạc mà không làm nhầm lẫn chúng).
10. Kết thúc bằng súng bắn keo một lần, (Hãy cẩn thận để không bị rơi).
Bước 11: Kiểm tra INPUT (Dữ liệu cảm biến HALL)
* Kiểm tra mã phần mềm để xem cảm biến có hoạt động không.
1. Dán và tải lên đoạn mã dưới đây.
2. Nhấp vào nút Serial Monitor ở trên cùng bên phải của Arduino.
3. Khi nam châm tiếp xúc với cảm biến Hall trong hơn 1 giây, quá trình cấu hình hoàn tất khi từ “tiếp xúc từ tính” xuất hiện trên màn hình nối tiếp.
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- # 1. Xác định số pin và thiết lập
Số pin cấu hình đầu tiên để sử dụng cảm biến Hall và đặt số pin làm cổng Chỉ đầu vào.
Đặt giao tiếp để kiểm tra dữ liệu của cảm biến Hall trên màn hình nối tiếp.
#define HALL 2
void setup () {pinMode (HALL, INPUT); Serial.begin (9600); }
# 2. vòng lặp chính
Kiểm tra dữ liệu cảm biến Hall trong khoảng thời gian 0,1 giây.
Nếu nam châm được cảm nhận và dữ liệu bị thay đổi, "tiếp điểm từ tính" được xuất ra màn hình nối tiếp.
void loop () {
if (digitalRead (HALL)) {Serial.println ("liên hệ từ tính"); } delay (100); }
Bước 12: Thuật toán mã hóa
* Tạo logic và mã hóa để điều khiển Neopixels dựa trên các giá trị cảm biến.
1. Dán và tải lên đoạn mã dưới đây.
2. Hình ảnh không được hiển thị đúng vì không có khung hình là điều bình thường. Nhưng bạn có thể thấy nó hoạt động đại khái.
3. Nhanh chóng chạm và thả cảm biến Hall và nam châm trong vòng 1 giây. Lặp lại thao tác này khoảng 10 lần.
4. Cấu hình hoàn tất khi màu sắc của Neopixels thay đổi thường xuyên.
# 1. Bao gồm các tệp tiêu đề và tiền xử lý
Đầu tiên, chúng ta phải hiểu rằng bộ nhớ của Arduino Mega không đủ lớn để chứa một tệp hình ảnh.
Do đó, tệp tiêu đề 'avr / pgmspace' được sử dụng để tận dụng không gian bộ nhớ khác nhau.
Để sử dụng Neopixels, bạn khai báo một đối tượng và cấu hình số pin I / O.
Mảng hình ảnh quá lớn để mã hóa, vì vậy hãy tải xuống và dán các tệp đính kèm.
#bao gồm
#include #define PIN 6 #define NUMPIXELS 30 #define HALL 2 Adafruit_NeoPixel dải = Adafruit_NeoPixel (NUMPIXELS, PIN, NEO_RGB + NEO_KHZ800); // dán mảng vào 'image_array_1.txt' // "'image_array_2.txt' //" 'image_array_3.txt' // "'image_array_4.txt'
# 2. Biến toàn cục & thiết lập
Đặt một biến toàn cục.
Điều chính là đặt độ sáng, nó quyết định vòng đời của sản phẩm.
int count = 0;
kép v = 0; gấp đôi last_v = 0; bộ đếm thời gian kép = micros (); double ex_timer = micros (); double last_timer = micros (); int deg = 36; int pix = 35; int rgb = 3; double q_arr [2] = {0, 0}; int HALL_COUNT = 0; nhân đôi VELO; xử lý kép_timer = micros (); void setup () {strip.setBrightness (255); dải.begin (); dải.show (); Serial.begin (230400); }
# 3. vòng lặp chính - phần đầu ra biểu thức hình ảnh
Mã này là một câu lệnh có điều kiện về cách xuất thời gian bánh xe quay theo độ phân giải.
Bộ phận này sử dụng chu kỳ quay của bánh xe đạp một lần là thông số rất quan trọng.
Ngoài ra, điều quan trọng là phải đọc dữ liệu mảng hình ảnh từ bộ nhớ.
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 (& (image_1 [count] [1])), pgm_read_byte (& (image_1 [count] [2])), pgm_read_byte (& (image_1 [count] [0])))); } dải.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])))); } dải.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])))); } dải.show (); } else if (VELO <= 204000) {for (int i = 0 + 5; i = 120)) {for (int i = 0 + 5; i <pix; i ++) {strip.setPixelColor (i - 5, dải. Màu (0, 0, 0)); } dải.show (); }
#4. vòng lặp chính - xử lý và kiểm tra thời gian chu kỳ & cảm biến
Đây là phần quan trọng nhất của toàn bộ hệ thống.
Đầu tiên, hãy kiểm tra thời gian thực hiện toàn bộ mã và điều chỉnh thời gian đầu ra của đèn LED trên mỗi chu kỳ.
Thời gian được cảm nhận mỗi khi bánh xe quay dự đoán thời gian của chu kỳ tiếp theo.
Gia tốc có thể được ước tính bằng cách trừ thời gian chu kỳ đo được cuối cùng cho thời gian chu kỳ đo đúng giờ.
Hệ thống tính toán thời gian xử lý và gia tốc để tính toán thời gian các đèn LED bật liên tục.
xử lý_timer = micros ();
if ((digitalRead (HALL) == HIGH) && (HALL_COUNT == 1)) {VELO = v; v = micros () - last_timer; ex_timer = q_arr [0] - q_arr [1] + v; last_timer = micros (); q_arr [0] = q_arr [1]; q_arr [1] = v; đếm = 0; HALL_COUNT = 0; } else if (digitalRead (HALL) == LOW) {HALL_COUNT = 1; }}
Bước 13: Sử dụng phần mềm
* Sử dụng phần mềm để chuyển đổi hình ảnh và chèn dữ liệu rước vào mã
1. Chèn hình ảnh từ bước trên vào thư mục hình ảnh trong thư mục R. C. P đã cài đặt ở bước chuẩn bị.
- Cách đặt ảnh như sau - Đổi tên 4 ảnh động của sản phẩm số 1 theo thứ tự 1.png, 2.png, 3-p.webp
2. Chạy tệp Ver.5.exe.
3. Xác minh rằng 12 tệp pro_1_code_1.txt đến pro_3_code_4.txt được tạo trong thư mục R. C. P.
4. Nếu nó không được tạo, hãy thay đổi nội dung của config.txt dưới dạng tệp cấu hình sau.
5. Sau khi tệp được tạo, hãy sao chép toàn bộ nội dung từ tệp pro_1_code_1.txt và dán vào phần được hiển thị trong đoạn mã bên dưới.
6. Thêm nội dung pro_1_code_2.txt, pro_1_code_3.txt và pro_1_code_4.txt vào phần được đánh dấu theo thứ tự thứ 5.
7. Tham chiếu đến 5 và 6, pro_2_code…, pro_3_code hoàn thành mã theo cùng một cách.
Bước 14: Hoàn thành
Đã hoàn thành việc sản xuất POV tạo ra một hình ảnh với ba bánh xe.
Đề xuất:
Tạo quả cầu LED POV của riêng bạn: 5 bước (có hình ảnh)
Tạo Quả cầu LED POV của riêng bạn: Trong dự án này, tôi sẽ chỉ cho bạn cách tôi kết hợp một vài miếng thép với Arduino, dải LED APA102 và cảm biến hiệu ứng Hall để tạo ra Quả cầu LED RGB POV (sự bền bỉ của tầm nhìn). Bằng cách đó, bạn có thể tạo ra tất cả các loại hình ảnh hình cầu
Cách tạo màn hình POV của người hâm mộ: 6 bước (có hình ảnh)
Cách tạo Màn hình POV cho Quạt: Trong dự án này, tôi sẽ chỉ cho bạn cách tôi biến một chiếc Quạt cũ bình thường thành Màn hình LED POV có thể hiển thị cho bạn các mẫu ánh sáng, từ hoặc thậm chí là thời gian. Bắt đầu nào
ESP8266 POV Fan với Đồng hồ và Cập nhật văn bản trang web: 8 bước (có hình ảnh)
ESP8266 POV Fan với Đồng hồ và Cập nhật văn bản trang web: Đây là tốc độ thay đổi, POV (Persistence Of Vision), Quạt hiển thị liên tục thời gian và hai tin nhắn văn bản có thể được cập nhật " nhanh chóng. &Quot; Người hâm mộ POV cũng là một máy chủ web một trang cho phép bạn thay đổi hai văn bản cho tôi
Usare Un Display Grande a 4 Cifre 8886 Display Con Wemos ESP8266 Arduino NodeMCU: 6 bước
Usare Un Display Grande a 4 Cifre 8886 Display Con Wemos ESP8266 Arduino NodeMCU: Questo progetto è un semplice esempio che mostra come collegare un display del tipo 8886-Display e, per comodità nostra, un Wemos D1 - ma potrebbe essere un Arduino o un NodeMCU o qualsiasi altro vi điều khiển che bang usando per un progetto.Esi
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy