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

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

機(jī)器人制作開(kāi)源方案 | 蓮花燈

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

1. 功能描述

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

自主模式:用 光強(qiáng)傳感器 控制蓮花燈的燈葉開(kāi)合。暗光情況下燈葉打開(kāi),燈亮;強(qiáng)光情況下燈葉閉合,燈滅。

遙控模式:采用 藍(lán)牙串口模塊 控制燈葉開(kāi)合。燈葉打開(kāi),燈亮;燈葉閉合,燈滅。

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

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

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

3. 電子硬件

在這個(gè)示例中,我們采用了以下硬件,請(qǐng)大家參考:

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

電路連接:

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

舵機(jī):連在Bigfish擴(kuò)展板的D4端口上

③ 藍(lán)牙串口模塊:安裝在Bigfish擴(kuò)展塢

④ 光強(qiáng)傳感器:連在Bigfish擴(kuò)展板的A0端口上

4. 功能實(shí)現(xiàn)

4.1自主模式

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

下面提供一個(gè)實(shí)現(xiàn)暗光情況下燈葉打開(kāi),燈亮;強(qiáng)光情況下燈葉閉合,燈滅的參考程序(light.ino):

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

版權(quán)說(shuō)明: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 機(jī)器譜 2023-10-25 https://www.robotway.com/

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

/*

* Light測(cè)試?yán)?/p>

* 2018/04/17

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

* 接線(xiàn):

*? ? 燈帶:9、10

*? ? 舵機(jī):4

*? ? 藍(lán)牙:Bigfish擴(kuò)展塢

*? ? 光強(qiáng):A0

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

* 功能:

*? ? 控制模式:藍(lán)牙控制燈葉開(kāi)合

*? ? 自主模式:光強(qiáng)傳感器控制燈葉開(kāi)合

*

*? ? 燈葉打開(kāi),燈亮;燈葉閉合,燈滅

*/

#include <ServoTimer2.h>

#include "light.h"

ServoTimer2 myServo;

int servo_port = 4;? ? ? ?//定義舵機(jī)引腳

int sensor_port = A0;? ? ?//定義光強(qiáng)傳感器引腳

int servo_value = 1550;? ?//定義舵機(jī)初始值 PWM

/*

int open_angle = 1150;? ? //燈葉打開(kāi)時(shí)舵機(jī)的值

int close_angle = 1550;? ?//燈葉閉合時(shí)舵機(jī)的值

*/

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)){? ?//亮光下,光強(qiáng)返回值1,燈葉閉合,燈光關(guān)閉

ServoGo(1550);

}

if(!digitalRead(sensor_port)){ ? //黑暗中,光強(qiáng)返回0,燈葉打開(kāi),燈光開(kāi)啟

ServoGo(1150);

}

}

/*舵機(jī)控制*/

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

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設(shè)置:將文末資料中的“BLE_SPP_PRO.apk”安裝到手機(jī)中。

① 搜索藍(lán)牙

② 連接藍(lán)牙

③ 模式選擇

④ 按鍵設(shè)置

⑤ 各按鍵發(fā)送值

5. 資料清單

① 程序源代碼
② 樣機(jī)3D文件

資料下載鏈接 蓮花燈

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
PAM8904JPR 1 Diodes Incorporated Consumer Circuit, UQFN-12
$0.58 查看
OPA2134UA/2K5 1 Texas Instruments SoundPlus&trade; Audio Operational Amplifier with Low Distortion, Low Noise and Precision 8-SOIC -40 to 85

ECAD模型

下載ECAD模型
$3.82 查看
TDA7803A-ZST 1 STMicroelectronics High efficiency digital input automotive quad power amplifier with built-in diagnostics features, start stop compatible

ECAD模型

下載ECAD模型
$11.57 查看

相關(guān)推薦

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

機(jī)器人開(kāi)源項(xiàng)目分享~

微信公眾號(hào)
TA的熱門(mén)作品