工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

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式

必要な工具と機械

プロジェクト概要

メイカーの皆さん、今日は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);
  }
}

回路図

DIY POVグローブ - Arduino Megaで作るLED球体ディスプレイ

製造プロセス

  1. Arduino POVクロック:残像効果で浮かび上がるLED時計を自作する
  2. 名刺サイズPCBで作る4×4三目並べゲーム - 設計・製作・プログラミングガイド
  3. スマートホーム連携向けマルチポジション温度センサーシステム
  4. 862D+はんだごて用DIY温度コントローラー:精度と信頼性を両立
  5. MotionSense: ArduinoとESP8266で作るスマート侵入検知システム
  6. 3Dプリンター火災予防:スマートセンサーセーフティシステム
  7. Arduino UNOとATtiny85で作る携帯型POV(残像)ディスプレイ
  8. Arduino、Yaler、IFTTTでWeb対応IoTゲージを構築する
  9. Arduinoで作る斥力式磁気浮上装置: シンプル回路とDIYガイド
  10. 高度なリモートコントロールグリッパーロボット: 精密ハンドリング向け
  11. CoroFenceサーマルディテクター:Grid-EYE & PIRセンサー搭載IoT体温監視