IoT 自主制作
5/13 2024
カテゴリー:課題
今回はNeoPixelとステッピングモーターを制御して簡易的なスロットを作りました。
制作過程
スロット
モーター三つに対し、特定のキーを送ることで回転が止まり、10秒後にまた自動で回りだすプログラムを組んだ。
装飾
dfLinkを使用し、スロットがそろったらスタッフが信号を送信し、光方のパターンを変更させるプログラムを組んだ。
- #include <Adafruit_NeoPixel.h>
- #define PIN 9 // 信号用のピンを指定
- #define NUMPIXELS 5 // LEDの数を指定
- int brightness = 50; // 明るさ
- int flashInterval = 50; // 点滅間隔(ミリ秒)
- int val=0;
- int from_pc="0";
- Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
- void setup() {
- pixels.begin(); // NeoPixel出力ピンの初期化
- pixels.setBrightness(brightness);
- }
- void loop()
- {
- if(Serial.available() > 0){
- from_pc = Serial.read();
- }
- //1をON、0をOFFと考える
- //1が送られてきたらLEDを点灯、0だったら消灯
- if (from_pc=='1')
- pixels.clear(); // すべてのLEDの色を0にセット
- // 赤色を設定
- uint32_t redColor = pixels.Color(255, 0, 0);
-
- // LEDを点滅させる
- for(int i = 0; i < NUMPIXELS; i++) {
- pixels.setPixelColor(i, redColor);
- }
- pixels.show(); // 色を表示
-
- // 点滅間隔分待つ
- delay(flashInterval);
-
- // LEDを消す
- pixels.clear();
- pixels.show(); // 色を表示
-
- // 点滅間隔分待つ
- delay(flashInterval);
- }
感想
短時間にしてはそれらしきものが出来たので良かったが、理想としてはスロットの当たり外れを機械が認識して、演出を変えるプログラムを作りたかったのでまだまだ修行が足りないと感じる。また、今回私はNeoPixelのプログラムを主に担当したが、chatGPTに頼って意味が分からなくなったので今後はしっかりと理解を大切にして行いたいと思う。