步骤1:您需要什么
要从lego创建一个无用的盒子,我使用了以下部分
Arduino One
2个伺服电机(SG90)
碰撞开关
电路板
跳线
第2步:创建无用的盒子
乐高积木很难正常工作,并将舵机连接到乐高。我用了一些螺丝将齿轮拧到伺服上。
我用一个伺服器打开盒子的门,另一个用伺服器将开关移回(再次将其关闭)。完成机械零件后,可以将其全部关闭。
步骤3:将所有零件连接在一起

连接从Arduino到面包板+的5v,到面包板-的GND。接下来,将面包板的+和-连接至伺服器的+和-,并将信号线连接至Arduino的A0和A2(我将所有东西都首先连接到面包板)
连接碰撞传感器GND和VCC到面包板的-和+,并将输出/信号连接到Ardiono的数字4引脚。
将Led放在面包板上,将+(长脚)连接到面包板Ardiono的引脚6。将-(短脚)连接到电阻器,并将电阻器的另一端连接到面包板的-。
步骤4:代码
该代码非常灵活
设置一些值,包括伺服电动机的上下限,LED和传感器的引脚。
#include
伺服伺服1;
伺服伺服器2;
#define UP 10
#define DOWN 60
#define DOOR_UP 60
#define DOOR_DOWN 10
#define BUTTON 4
#define LED 6
初始化电动机并设置将它们置于关闭位置
void setup(){
servo1.attach(16);结果,servo2.attach(14);结果,下移();结果,moveDoorDown();结果,Serial.begin(19200);
pinMode(LED,OUTPUT);
}
检查每个循环是否按下按钮以随机延迟触发电机
void loop(){
int val = digitalRead(BUTTON);
if(val == LOW){
digitalWrite(LED,HIGH);
int rnd = random(1000,4000);
delay(rnd);结果,moveDoor();结果,延迟(100);
}其他{
digitalWrite(LED,低);
}
}
Helper函数来移动把手和门
void moveDown() {
Serial.println(“ Move down”); servo1.write(DOWN);
}
无效moveDoorDown(){
servo2.write(DOOR_DOWN);
}
无效moveDoor(){
Serial.println(“移动门”);结果,servo2.write(DOOR_UP);结果,延迟(500);结果,moveHandle();
}
void moveHandle(){
Serial.println(“ move up”);
servo1.write(UP);
延迟(300);结果,下移();结果,延迟(300);结果,moveDoorDown();
}
责任编辑:wv
-
Arduino
+关注
关注
190文章
6527浏览量
197441
发布评论请先 登录
启明云端亮相深圳玩具展,成熟AIoT硬件方案成智能玩具“核心引擎”
百元可量产、华强北半小时改装:AI玩具将迎来落地新拐点
AI玩具驱动控制,从机械执行到智能集成的技术革新
AI玩具麦克风技术演进,从拾音到智能交互的跨越
华为AI玩具火到断货,我们也做了一个......
一文了解ai计算盒子(边缘计算盒子)是到底是什么产品?
创建一个Library工程
AI玩具或成为下一个万亿新赛道
首款AI陪伴玩具出世!乐鑫代理商飞睿科技ESP32芯片让TA比朋友更懂你
【解构·AI玩具】从“小智AI”引爆开发者热潮说起
如何使用Arduino从乐高玩具中创建一个盒子
评论