5/13課題

今日作ったものの動画を撮影して、Youtubeにアップし、説明を加えて自分のHPに掲載する


光る指輪。モーターによって指輪が左右に動きながら、ライトを青にして綺麗な雰囲気を出した。

光のコード

  1. #include <Adafruit_NeoPixel.h>
  2. #define PIN 9 // 信号用のピンを指定
  3. #define NUMPIXELS 5 // LEDの数を指定
  4. int brightness=500;//明るさ
  5. Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
  6. void setup() {
  7.   pixels.begin(); // NeoPixel出力ピンの初期化
  8.   pixels.setBrightness(brightness);
  9. }
  10. void loop() {
  11.   pixels.clear(); // すべてのLEDの色を0にセット
  12.   for(int i=0; i<NUMPIXELS; i++) {
  13.     pixels.setPixelColor(i, pixels.Color(0,181,255));
  14.     pixels.show();
  15.     delay(1000);
  16.   }
  17. }

モーターのコード

  1. const int DIR = 8;
  2. const int STEP = 9;
  3. void setup() {
  4.   pinMode(DIR, OUTPUT);
  5.   pinMode(STEP, OUTPUT);
  6.   digitalWrite(DIR, LOW);
  7.   digitalWrite(STEP, LOW);
  8. }
  9. void loop() {
  10.   for (int i=0; i <= 50; i++){
  11.     clockwise(5000);
  12.   }
  13.   for (int i=0; i <= 50; i++){
  14.     counter_clockwise(70000);
  15.   }
  16. }
  17. void clockwise(int delaytime){
  18.   digitalWrite(DIR, HIGH);//HIGHは時計回り
  19.   digitalWrite(STEP, HIGH);
  20.   delayMicroseconds(delaytime);
  21.   digitalWrite(STEP, LOW);
  22.   delayMicroseconds(delaytime);
  23. }
  24. void counter_clockwise(int delaytime){
  25.   digitalWrite(DIR, LOW);//はLOWは反時計回り
  26.   digitalWrite(STEP, HIGH);
  27.   delayMicroseconds(delaytime);
  28.   digitalWrite(STEP, LOW);
  29.   delayMicroseconds(delaytime);
  30. }