步驟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文章
6498瀏覽量
192141
發布評論請先 登錄
【解構·AI玩具】從“小智AI”引爆開發者熱潮說起

AI玩具,還是AI工具?

《ESP32S3 Arduino開發指南》第二章 Arduino基礎知識
改裝一個電子玩具手槍,單發,扣動扳機后有仿真槍聲,并同時槍口有高閃可變閃光
芯訊通SIM8918模組在AI玩具中的應用
QCC3040藍牙5.2音頻主端發射模組在玩具中的應用

一文讀懂邊緣計算盒子在視頻監控場景中的重要作用

創建一個5G的邏輯卷
開源項目!基于 Arduino 的 MIDI 架子鼓
過家家兒童玩具語音ic:NV080H,一款玩具音效音頻芯片

語音芯片NV040D兒童玩具槍ic方案

玩具水槍中霍爾開關的作用
啟明智顯ESP32系列串口屏全面升級!支持樂鑫IDF最新版,兼容Arduino開發環境

評論