#ardino #jojo
スタープラチナが自動でオラオラするロボット。
必要なもの
部品名 | 金額 |
---|---|
Arduinoをはじめようキット | 4,320円 |
赤色LED 3mm OSDR3133A 500mcd 30度100個入 |
一袋 350円 |
3mm黄緑色LED 500mcd30度 OSNG3133A(100個入) |
一袋 450円 |
高輝度5mm黄色LED 590nm OS5YKA5111A (10個入) |
一袋 200円 |
カーボン抵抗(炭素皮膜抵抗) 1/4W 220Ω (100本入) |
1袋 100円 |
HC-SR04 超音波距離センサー | 390円 |
GWSサーボ MICRO/2BBMG/JRタイプ | 1480円 |
スタープラチナ | オラオラ |
コード
/* reference: https://www.switch-science.com/catalog/1606/ */ #include <Servo.h> Servo servo; const int Trig = 12; const int Echo = 13; const int Led_g = 6; const int Led_y = 4; const int Led_r = 5; int Duration; float Distance; void setup() { Serial.begin(9600); servo.attach(9); //D9ピンをサーボの信号線として設定 pinMode(Led_g,OUTPUT); pinMode(Led_y,OUTPUT); pinMode(Led_r,OUTPUT); pinMode(Trig,OUTPUT); pinMode(Echo,INPUT); } void loop() { digitalWrite(Trig,LOW); delayMicroseconds(3); digitalWrite(Trig,HIGH); delayMicroseconds(3); digitalWrite(Trig,LOW); Duration = pulseIn(Echo,HIGH); Serial.print(Duration); if (Duration>0) { Distance = Duration/2; Distance = Distance*340*100/1000000; // ultrasonic speed is 340m/s = 34000cm/s = 0.034cm/us Serial.print(Duration); Serial.print(" us "); Serial.print(Distance); Serial.println(" cm"); if (Distance < 3){ digitalWrite(Led_g,HIGH); digitalWrite(Led_r,LOW); digitalWrite(Led_y,LOW); }else if(Distance < 15){ digitalWrite(Led_g,LOW); digitalWrite(Led_r,HIGH); digitalWrite(Led_y,LOW); servo.write(60); delay(200); servo.write(0); }else{ digitalWrite(Led_g,LOW); digitalWrite(Led_r,LOW); digitalWrite(Led_y,HIGH); } } delay(200); }
- 「#include
」「Servo servo;」を書き加えてサーボモータが動かせるようになる。 - 「 servo.attach(9); 」としてサーボモータの黄色のワイヤーをArduinoの9番ピンにつなげる。あとは、LEDが赤くなるときにサーボモータを動かすプログラムを加えるだけ。角度やdelayの長さは各自で調整。
うごく。
超音波センサによって目の前にモノがあると認識したら、オラオラするロボット。
またくだらないものをつくってしまった。
超像可動 「ジョジョの奇妙な冒険」第三部 10.スタープラチナ・セカンド (荒木飛呂彦指定カラー)
- 出版社/メーカー: メディコス
- 発売日: 2009/11/01
- メディア: おもちゃ&ホビー
- 購入: 1人 クリック: 63回
- この商品を含むブログ (11件) を見る