如何使用Arduino从乐高玩具中创建一个盒子

电子说

1.2w人已加入

描述

步骤1:您需要什么

要从lego创建一个无用的盒子,我使用了以下部分

Arduino One

2个伺服电机(SG90)

碰撞开关

电路板

LED

电阻

跳线

第2步:创建无用的盒子

乐高积木很难正常工作,并将舵机连接到乐高。我用了一些螺丝将齿轮拧到伺服上。

我用一个伺服器打开盒子的门,另一个用伺服器将开关移回(再次将其关闭)。完成机械零件后,可以将其全部关闭。

步骤3:将所有零件连接在一起

Arduino

连接从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 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分