動きを操る&商品・サービス企画設計(デザイン思考)


動きを操る


動きを操る

「プログラム」


Arduinoでステッピングモーターを動かす

明るさセンサーを組み合わせて暗くした時に反対に回るようにする


  1. const int DIR = 8;
  2. const int STEP = 9;
  3.  
  4. void setup() {
  5.   pinMode(DIR, OUTPUT);
  6.   pinMode(STEP, OUTPUT);
  7.   digitalWrite(DIR, LOW);
  8.   digitalWrite(STEP, LOW);
  9.   Serial.begin(9600);
  10. }
  11.  
  12. void loop() {
  13.  
  14.     int val=0;
  15.   val=analogRead(1);
  16.   Serial.println(val);
  17.  
  18.   for (int i=0; i <= 50; i++)
  19.   if(200<val){
  20.     clockwise(50000);
  21.   }
  22.   else
  23.     {
  24.     counter_clockwise(50000);
  25.   }
  26. }
  27.  
  28. void clockwise(int delaytime){
  29.   digitalWrite(DIR, HIGH);//HIGHは時計回り
  30.  
  31.   digitalWrite(STEP, HIGH);
  32.   delayMicroseconds(delaytime);
  33.   digitalWrite(STEP, LOW);
  34.   delayMicroseconds(delaytime);
  35.  
  36. }
  37.  
  38. void counter_clockwise(int delaytime){
  39.  
  40.   digitalWrite(DIR, LOW);//はLOWは反時計回り
  41.   digitalWrite(STEP, HIGH);
  42.   delayMicroseconds(delaytime);
  43.   digitalWrite(STEP, LOW);
  44.   delayMicroseconds(delaytime);
  45. }

明るさセンサーを用いてモーターの速さを変える


  1. const int DIR = 8;
  2. const int STEP = 9;
  3.  
  4. void setup() {
  5.   pinMode(DIR, OUTPUT);
  6.   pinMode(STEP, OUTPUT);
  7.   digitalWrite(DIR, LOW);
  8.   digitalWrite(STEP, LOW);
  9.   Serial.begin(9600);
  10. }
  11.  
  12. void loop() {
  13.  
  14.     int val=0;
  15.   val=analogRead(1);
  16.   Serial.println(val);
  17.  
  18.   for (int i=0; i <= 50; i++)
  19.   if(200<val){
  20.     clockwise(50000);
  21.   }
  22.   else
  23.     {
  24.     clockwise(5000);
  25.   }
  26. }
  27.  
  28. void clockwise(int delaytime){
  29.   digitalWrite(DIR, HIGH);//HIGHは時計回り
  30.  
  31.   digitalWrite(STEP, HIGH);
  32.   delayMicroseconds(delaytime);
  33.   digitalWrite(STEP, LOW);
  34.   delayMicroseconds(delaytime);
  35.  
  36. }
  37.  
  38. void counter_clockwise(int delaytime){
  39.  
  40.   digitalWrite(DIR, LOW);//はLOWは反時計回り
  41.   digitalWrite(STEP, HIGH);
  42.   delayMicroseconds(delaytime);
  43.   digitalWrite(STEP, LOW);
  44.   delayMicroseconds(delaytime);
  45. }
※void loop 内のみ変更

明るさセンサーの値に応じて明るさを変化させる


  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.   Serial.begin(9600);
  9. }
  10. void loop() {
  11.   int val=0;
  12.   val=analogRead(1);
  13.   Serial.println(val);
  14.   clockwise(val*300);
  15. }
  16. void clockwise(int delaytime){
  17.   digitalWrite(DIR, HIGH);//HIGHは時計回り
  18.   digitalWrite(STEP, HIGH);
  19.   delayMicroseconds(delaytime);
  20.   digitalWrite(STEP, LOW);
  21.   delayMicroseconds(delaytime);
  22. }
  23. void counter_clockwise(int delaytime){
  24.   digitalWrite(DIR, LOW);//はLOWは反時計回り
  25.   digitalWrite(STEP, HIGH);
  26.   delayMicroseconds(delaytime);
  27.   digitalWrite(STEP, LOW);
  28.   delayMicroseconds(delaytime);
  29. }
※void loop 内のみ変更

商品・サービス企画設計(デザイン思考


グループワークのまとめ(HMWとYes,and)のIdiation


いつも調子がいい」について考える


  1. 「調子がいい」「調子がわるい」シチュエーションを考える
  2. シチュエーションを起こす方法を考える

※左の机にbad、右の机にgood

「HMW」


「HMW: How Might We とは?」Daisuke Hayashi 2019/11/21

「Yes, and」


「Yes, and のマインドセット」西村 悠/デザイン思考エバンジェリスト 2020/07/27 11:09


デザイン演習Ⅲ・Ⅳトップページ
XBPトップページ