DIY POVグローブ - Arduino Megaで作るLED球体ディスプレイ
必要な部品と材料
| Arduino Mega 2560 | ×1 |
| Adafruit NeoPixelリング WS2812 5050 RGB LED | ×1 |
| 抵抗 330Ω | ×1 |
| 近接センサー(ホールセンサー等) | ×1 |
| DCモーター(汎用) | ×1 |
| OpenBuilds ボールベアリング 625 2RS (5×16×5mm) | ×1 |
| 3Dプリントパーツ | ×1式 |
必要な工具と機械
- 3Dプリンター
- はんだごて
プロジェクト概要
メイカーの皆さん、今日はPersistence of Vision(残像効果/POV)グローブの制作を紹介します。
POV(残像効果)とは
交流電源の照明は実際には60Hz(秒間60回)で点滅していますが、人間の脳はこれを連続した光として認識します。この原理を利用し、単一列のLEDを高速回転させることで球体画像を描画します。
今回は半円あたり58個、合計116個のLEDを使用。円形フレームは3Dプリンターで出力します。詳細は動画を参照してください。
コード
d_nya.ino
#include "FastLED.h"
#define NUM_LEDS 58
#define DATA_PIN 6
unsigned char i;
unsigned char m;
unsigned int wait = 1;
unsigned int wait2 = 10;
byte hall = 0;
CRGB leds[NUM_LEDS];
// ハートパターンデータ(40行×75列)
bool kalp[40][75] = {
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,1,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
// ...(中略:全40行のパターンデータ)...
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
};
void setup() {
FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);
attachInterrupt(1, LEDiyak, RISING); // ホールセンサー割り込み
for (int i = 0; i < 58; i++) {
leds[i] = CRGB::Black;
}
FastLED.show();
}
void LEDiyak() {
hall++;
if(hall > 2) hall = 0;
}
void loop() {
if (hall > 0) {
// パターン表示(75フレーム×40段)
for (m = 0; m < 75; m++) {
for (i = 0; i < 40; i++) {
if (kalp[i][m] == 1) {
leds[i + 7] = CRGB::Green;
} else {
leds[i + 7] = CRGB::Blue;
}
}
FastLED.show();
delayMicroseconds(wait);
}
// クリア期間
for (int i = 0; i < 58; i++) leds[i] = CRGB::Blue;
FastLED.show();
delayMicroseconds(wait2);
for (int i = 0; i < 58; i++) leds[i] = CRGB::White;
FastLED.show();
delayMicroseconds(wait2);
}
}
回路図
製造プロセス
- Arduino POVクロック:残像効果で浮かび上がるLED時計を自作する
- 名刺サイズPCBで作る4×4三目並べゲーム - 設計・製作・プログラミングガイド
- スマートホーム連携向けマルチポジション温度センサーシステム
- 862D+はんだごて用DIY温度コントローラー:精度と信頼性を両立
- MotionSense: ArduinoとESP8266で作るスマート侵入検知システム
- 3Dプリンター火災予防:スマートセンサーセーフティシステム
- Arduino UNOとATtiny85で作る携帯型POV(残像)ディスプレイ
- Arduino、Yaler、IFTTTでWeb対応IoTゲージを構築する
- Arduinoで作る斥力式磁気浮上装置: シンプル回路とDIYガイド
- 高度なリモートコントロールグリッパーロボット: 精密ハンドリング向け
- CoroFenceサーマルディテクター:Grid-EYE & PIRセンサー搭載IoT体温監視