加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 1. 功能描述
    • 2. 結(jié)構(gòu)說明
    • 3. 電子硬件
    • 4. 功能實現(xiàn)
    • 5. 資料清單
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

機器人制作開源方案 | 蓮花燈

03/01 10:55
2628
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1. 功能描述

蓮花燈是一款基于蓮花形象設計的機器人,本文示例將用兩種模式來實現(xiàn)蓮花燈的亮滅功能。

自主模式:用 光強傳感器 控制蓮花燈的燈葉開合。暗光情況下燈葉打開,燈亮;強光情況下燈葉閉合,燈滅。

遙控模式:采用 藍牙串口模塊 控制燈葉開合。燈葉打開,燈亮;燈葉閉合,燈滅。

2. 結(jié)構(gòu)說明

蓮花燈采用“探索者”結(jié)構(gòu)件搭建、輔以外觀設計而成,由曲柄搖桿機構(gòu)和平行四連桿機構(gòu)構(gòu)成一個二級升降機構(gòu),通過杠桿來控制蓮花燈的開合。

? ? ?蓮花燈的燈葉開合主要是由膨脹機構(gòu)來控制的,膨脹輪是整個結(jié)構(gòu)的核心部分,這種結(jié)構(gòu)的優(yōu)點是可實現(xiàn)收縮和膨脹,從而來控制燈葉的開合。

3. 電子硬件

在這個示例中,我們采用了以下硬件,請大家參考:

主控板 Basra主控板(兼容Arduino Uno)?
擴展板 Bigfish2.1擴展板?
傳感器 光強傳感器
通信 藍牙串口模塊
電池 7.4V鋰電池

電路連接:

① 燈帶:連在Bigfish擴展板的D9、D10接口上

舵機:連在Bigfish擴展板的D4端口上

③ 藍牙串口模塊:安裝在Bigfish擴展塢

④ 光強傳感器:連在Bigfish擴展板的A0端口上

4. 功能實現(xiàn)

4.1自主模式

編程環(huán)境:Arduino 1.8.19

下面提供一個實現(xiàn)暗光情況下燈葉打開,燈亮;強光情況下燈葉閉合,燈滅的參考程序(light.ino):

/*------------------------------------------------------------------------------------

版權(quán)說明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.

Distributed under MIT license.See file LICENSE for detail or copy at

https://opensource.org/licenses/MIT

by 機器譜 2023-10-25 https://www.robotway.com/

------------------------------*/

/*

* Light測試例程

* 2018/04/17

* ————————————

* 接線:

*? ? 燈帶:9、10

*? ? 舵機:4

*? ? 藍牙:Bigfish擴展塢

*? ? 光強:A0

* ————————————

* 功能:

*? ? 控制模式:藍牙控制燈葉開合

*? ? 自主模式:光強傳感器控制燈葉開合

*

*? ? 燈葉打開,燈亮;燈葉閉合,燈滅

*/

#include <ServoTimer2.h>

#include "light.h"

ServoTimer2 myServo;

int servo_port = 4;? ? ? ?//定義舵機引腳

int sensor_port = A0;? ? ?//定義光強傳感器引腳

int servo_value = 1550;? ?//定義舵機初始值 PWM

/*

int open_angle = 1150;? ? //燈葉打開時舵機的值

int close_angle = 1550;? ?//燈葉閉合時舵機的值

*/

void setup() {

Serial.begin(9600);

PortInit();

myServo.write(servo_value);

delay(1000);

}

void loop() {

/*Bluetooth Mode*/

if(SerialRead() == '1'){

Serial.println("Bluetooth Mode");

while(true){

switch(SerialRead()){

case '2':

Serial.println("OPEN");

ServoGo(1150); ? //OPEN

break;

case '3':

Serial.println("CLOSE");

ServoGo(1550); ? //CLOSE

break;

default:break;

}

if(SerialRead() == '4') {

Serial.println("Auto Mode");

break;

}

}

}

/* Auto Mode*/

AutoMode();

}

/*端口初始化*/

void PortInit(){

pinMode(sensor_port, INPUT);

pinMode(servo_port, OUTPUT);

pinMode(9, OUTPUT);

pinMode(10, OUTPUT);

digitalWrite(9, LOW);

digitalWrite(10, LOW);

myServo.attach(servo_port);

}

/*串口控制*/

char SerialRead(){

char c;

while(Serial.available()) {

c = Serial.read();

}

return c;

}

/*自主模式*/

void AutoMode(){

if(digitalRead(sensor_port)){? ?//亮光下,光強返回值1,燈葉閉合,燈光關(guān)閉

ServoGo(1550);

}

if(!digitalRead(sensor_port)){ ? //黑暗中,光強返回0,燈葉打開,燈光開啟

ServoGo(1150);

}

}

/*舵機控制*/

void ServoGo(int where){? ?//舵機控制函數(shù),參數(shù):目標角度

int delta = where - servo_value;? ? //delta < 0: OPEN ; delta > 0: CLOSE

if(delta == 0) return;

float light_value = delta < 0 ? 0 : 255;

int diff = delta < 0 ? -1 : 1;

for(int i=0;i<abs(delta);i++){

servo_value += diff;

if(delta < 0){

light_value += 0.65; ? //0.65 (255 / delta);

if(light_value > 255) light_value = 255;

}else if(delta > 0){

light_value -= 0.65;

if(light_value < 0) light_value = 0;

}

LightState(&light_value);

myServo.write(servo_value);

delay(10);

}

}

/*燈光控制*/

void LightState(float * value){

analogWrite(9, *value);

analogWrite(10, 0);

}

4.2遙控模式

APP設置:將文末資料中的“BLE_SPP_PRO.apk”安裝到手機中。

① 搜索藍牙

② 連接藍牙

③ 模式選擇

④ 按鍵設置

⑤ 各按鍵發(fā)送值

5. 資料清單

① 程序源代碼
② 樣機3D文件

資料下載鏈接 蓮花燈

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
NE592D8R2G 1 onsemi Video Amplifier, SOIC-8 Narrow Body, 2500-REEL

ECAD模型

下載ECAD模型
$1.31 查看
LM6171AIM 1 Texas Instruments High Speed, Low Power, Low Distortion Voltage Feedback Amplifier 8-SOIC -40 to 85

ECAD模型

下載ECAD模型
$6.08 查看
TPS65950A2ZXNR 1 Texas Instruments Integrated Power Management IC (PMIC) with 3 DC/DCs, 11 LDOs, Audio Codec, USB HS Transceiver 209-NFBGA -40 to 85

ECAD模型

下載ECAD模型
$16.55 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

機器人開源項目分享~

微信公眾號
TA的熱門作品