Nighttime LED Skateboard

Description

Description

作者:9D趙霈森

 

簡介

滑板加上兩個LED燈條所做的發亮滑板

 

改作來源

https://www.instructables.com/id/NeoPixel-SkateBoard/

 

修改的內容

大部分的程式都被改了。發亮的方式不一樣。原本的是把燈放在滑板內部,我的則是外部。燈條型號不同。我使用WS2812。行動充取代電池。

 

程式碼

(原版)
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

#define PIN 6

Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

void setup() {

#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif

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

void loop() {
colorWipe(strip.Color(255, 0, 0), 50); // Red
colorWipe(strip.Color(0, 255, 0), 50); // Green
colorWipe(strip.Color(0, 0, 255), 50); // Blue
theaterChase(strip.Color(127, 127, 127), 50); // White
theaterChase(strip.Color(127, 0, 0), 50); // Red
theaterChase(strip.Color(0, 0, 127), 50); // Blue

rainbow(20);
rainbowCycle(20);
theaterChaseRainbow(50);
}

void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}

void rainbow(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 255));
}
strip.show();
delay(wait);
}
}

void rainbowCycle(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256*5; j++) {
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}

void theaterChase(uint32_t c, uint8_t wait) {
for (int j=0; j<10; j++) { //do 10 cycles of chasing
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, c);
}
strip.show();

delay(wait);

for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0);
}
}
}
}

void theaterChaseRainbow(uint8_t wait) {
for (int j=0; j < 256; j++) {
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, Wheel( (i+j) % 255));
}
strip.show();

delay(wait);

for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0);
}
}
}
}
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 – WheelPos;
if(WheelPos < 85) {
return strip.Color(255 – WheelPos * 3, 0, WheelPos * 3);
}
if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, WheelPos * 3, 255 – WheelPos * 3);
}
WheelPos -= 170;
return strip.Color(WheelPos * 3, 255 – WheelPos * 3, 0);
}

(修改)
//相似#include //改<FastLED.h>
#define LED_PIN 7
//相似#define NUM_LEDS 60
#define LED_PIn 6
//相似#define NUM_LEDs 39
//改CRGB leds[NUM_LEDS];
//改CRGB led[NUM_LEDs];
void setup() {
//改FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
//改FastLED.addLeds<WS2812, LED_PIn, RGB>(led, NUM_LEDs);
}
void loop() {
//相似for (int i = 0; i <= 59; i++) {
//相似leds[i] = CRGB ( i+45,i+4, 0);
//改FastLED.show();
//改delay(15);
}
//相似for (int i = 59; i >= 0; i–) {
//相似leds[i] = CRGB ( i+4,i+45,0 );
//改FastLED.show();
//改delay(15);
}
//相似for (int r = 0; r <= 38; r++) {
//相似led[r] = CRGB ( 0, 0, 255);
//改FastLED.show();
//改delay(15);
}
//相似for (int r = 38; r >= 0; r–) {
//相似led[r] = CRGB ( 0,255, 0);
//改FastLED.show();
//改delay(15);
}
}

材料清單

1.滑板
2.LED燈條兩個
3.電線七個
4.ARDUINO開發版
5.麵包版
6.雙面膠
7.膠帶
8.熱熔膠
9.行動充
10.電腦
11.剪刀
12.美工刀

 

製作步驟

1.把程式寫進去電腦
2.接電路並且傳輸程式進去主機板
3.準備滑板
4.黏上LED燈條
5.測試滑板

 

成果展示

Video 1

Video 2

Video 3

 

我把主機板黏在後面。使用電線接上後用膠帶黏住再黏上LED在滑板的外側並且黏上行動充

這是滑板從上方看下來的樣子

側邊看起來的樣子

Latest posts by Jeffery Chao (see all)

    Contact

    Contact
    • E-mail
    • Category
      Art & Design, Development Board, Light, 康橋國際學校, 電源
    • Tags
      color led skateboard

    Project簡述

    Project簡述
    • 簡述
      這是一個使用一個滑板和兩個LED 燈條所做成的一個滑板。燈條分布在前方和後方。大部分都在前方。前方的燈條是使用黃色慢慢的轉成橘色然後換邊從淺綠色慢慢的轉成深綠色。後方的LED則是使用紅色快速變成藍色的方法。
    • 作者
      趙霈森

    您的姓名 〈需填寫〉

    您的電子郵件信箱 〈需填寫〉

    主旨

    您的信件內容