最新消息:

物联网课程系列:Arduino投篮机

Arduino 少儿编程 3796浏览 0评论

今天要做的就是投篮机,先放今天的主角。

 

物联网课程系列:Arduino投篮机

 

下方是接线配置图:

 

物联网课程系列:Arduino投篮机

 

所需材料

Arduino uno

面包板

超音波感测器

SG90-服务马达

杜邦线公对母(至少15)

省钱极致版

Arduino uno ->Arduino pro mini

面包板 ->可以不用(用焊接)

超音波感测器 ->改用其他方式触发 EX:极限开关

SG90 ->只用led表示有触发 0<价钱<1

杜邦线公对母(至少15) ->找不要的电线

 

物联网课程系列:Arduino投篮机

 

制作方法

先拿一個桶子,接著把超音波感測器固定在桶子邊緣

(如果怕感測器被打壞可以在桶子上鑽洞把超音波感測器移到桶子外)

 

物联网课程系列:Arduino投篮机

 

sg90固定在桶子的左邊或右邊(投進球時轉動90)

 

物联网课程系列:Arduino投篮机

 

插好零件後可以整理一下(整理排線可以順便檢查有沒有插錯)

 

物联网课程系列:Arduino投篮机

 

运作原理

如果感測到球就讓sg90轉動和讓led燈閃爍,超音波感測器是用來測距離的,所以球投進時超音波感測器感測到的距離會縮短。(因為每個人的桶子都不同所以CODE可能要做一些修改)

Arduino代码

#include <Servo.h>

 intledPin = 7;

 Servo myservo;

 voidsetup()

 {

 pinMode(ledPin, OUTPUT);

 myservo.attach(9);

 Serial.begin(9600);

 }

 voidloop()

 {

 inta;

 a=Ping(8);

 Serial.println(a);

 if(a<70)

 {delay(200);

 myservo.write(90);

 digitalWrite(ledPin, HIGH);

 delay(500);

 digitalWrite(ledPin, LOW);

 delay(500);

 }

 else

 {

 delay(200);

 myservo.write(180);

 delay(100); }

 }

 longPing(long pingPin) {

 longduration, cm;

 pinMode(pingPin, OUTPUT);

 digitalWrite(pingPin, LOW);

 delayMicroseconds(2);

 digitalWrite(pingPin, HIGH);

 delayMicroseconds(10);

 digitalWrite(pingPin, LOW);

 pinMode(pingPin, INPUT);

 duration = pulseIn(pingPin, HIGH);

 return cm = duration / 2.9 / 2;

 }

完成的样子

 

 

您必须 登录 才能发表评论!