制作一个能对话能跳舞的otto机器人

server/2024/10/16 4:29:29/

OTTO机器人是一个开源外壳,硬件和软件的桌面机器人项目,非常适合新手研究和拓展。记住,他是一个能移动有表情能声音的机器人

b站有很多演示和组装的视频,我就不多说了,照着做就好,因为硬件我也是刚入门,我这里主要关注软件和扩展。初学者可以买个外壳,arduino nano和四个舵机就能玩。随着深入慢慢加入超声波,led点阵屏,蜂鸣器,蓝牙,语音功能,噪音模块。

代码包含所有元件,有的元件接上就行,没得元件不接也不影响使用。添加离线语音并不需要修改代码,只是把蓝牙手机发送的指令使用语音模块发出来就行了。

硬件;

1.arduino nano十块出头X1,必须

2.sg90舵机三块多X4个,必须

3.anduino拓板2块多X1,必须

4.超声波雷达2块多X1

5无源蜂鸣器几毛一个X1

6max7219点阵屏点阵屏好像七块。

7,蓝牙HC05,06大概十块左右,jdy31b会便宜一些几块钱,品牌不重要,主要是要支持经典蓝牙,因为默认的手机端app使用的是经典蓝牙,除非你自己开发APP,否则搞个BLE是连不上的。

8.语音模块二十块左右,

打印外壳或者买个外壳,二十到四十不等,1,2,3是必须的,其他的看自己的荷包。价格看好不要买亏了,也可以多关注秒杀,舵机秒杀有时一块多一个,蓝牙几块就行。

一。如果希望看起来酷一些,那种像眼睛的超声波是需要的,代码里可以探测遮挡,遇到障碍可以转向

二需要他能吱吱叫,就需要蜂鸣,

三想显示一些表情了,就需要个点阵屏,

四想使用手机控制,就使用蓝牙,

五想语音控制,就使用语音模块,两个都要需要修改代码,

六,想让他听到噪音就起来跳舞,可以加个噪音传感器

arduino内存ROM有些小,功能多了需要会裁剪代码。

另外可能需要一个电源,18650,16340电池加电池盒就可以,USB似乎容易电压不够,

代码:

GitHub - blogercn/OttoDIY_Vbot: Mix from OttoDIY

https://github.com/blogercn/OTTO-DIY---app

蓝牙和语音助手有两种接法,一种是直接接rx,rt引脚,一种是接6,7引脚,两种接法代码不一样,6,7引脚是软串口,软件虚拟的串口,我这边使用不是很稳定,我使用的是rx,rt,下载固件时需要分辨,如果接的是rx,rt,那么载固件时要拔下来,因为会和下载的串口冲突导致无法下载。

如果你的是硬件不带蓝牙或者语音控制,那建议你使用下面的代码,因为带控制的代码需要接通蓝牙或者语音后发指令才会移动,不会自主移动,如果你懂串口通信,也可以使用计算机模拟串口给机器人发控制指令,但如果不懂的话,你就需要他可以不受控制的自由移动,这样就需要下面的代码。他能不需要控制的把自己会的动作从头循环演示,对应example里面带otto_allmovies的版本,如果有雷达,使用otto_avoid对应的代码。

https://github.com/OttoDIY/OttoDIYLib/tree/main

由于arduino的ram和rom很小,主频也很低,扩展很困难,无法满足AI和摄像头的扩展,后面可能会移植到esp32上开发。

控制指令可以参考我的上一篇博客。

OTTO奥托机器人开发总结-CSDN博客

视频可以看:

使用asppro语音模块控制otto机器人运动和表情,聊天_哔哩哔哩_bilibili


http://www.ppmy.cn/server/124851.html

相关文章

python select interpreter vscode 配置

vscode 没有 ctrl shift p,输入 python select interpreter 发现结果为空, 解决方法: 重新安装python插件。

ubuntu18.04 设置静态ip 00-installer-config.yaml

1、ifconfig查询当前ip信息 2、打开终端 sudo vim /etc/netplan/00-installer-config.yaml 输入i切换输入模式,配置静态ip network:ethernets:eth1:dhcp4: noaddresses: [192.168.1.188/24]gateway4: 192.168.1.1nameservers:addresses: [8.8.8.8,8.8.4.4]versi…

awk 切割字符串 shell linux

awk 切割字符串 shell linux linux shell之awk https://blog.csdn.net/iflink/article/details/122388805 echo "shanghai001 123456 ifconfig-push 192.168.1.1 192.168.1.22" | awk {print $1} shanghai001 echo "shanghai001 123456 ifconfi…

【华为】用策略路由解决双出口运营商问题

需求描述 不同网段访问互联网资源时,走不同的出口,即PC1走电信出口,PC2走移动出口。 客户在内网接口下应用策略路由后往往出现无法访问内网管理地址的现象,该举例给出解决办法。 拓扑图 基础配置 #sysname R1 # # interface G…

内容生态短缺,Rokid AR眼镜面临市场淘汰赛

AR是未来,但在技术路径难突破、生态系统难建设,且巨头纷纷下场的背景下,Rokid能坚持到黎明吗? 转载:科技新知 原创 作者丨王思原 编辑丨蕨影 苹果Vision Pro的成功量产和发售,以及热门游戏《黑神话》等在A…

C++【类和对象】(取地址运算符重载与实现Date类)

文章目录 取地址运算符重载const成员函数取地址运算符重载 Date类的实现Date.hDate.cpp1.检查日期合法性2. 构造函数/赋值运算符重载3.得到某月的天数4. Date类 - 天数的操作4.1 日期 天数4.2 日期 天数4.3 日期 - 天数4.4 日期 - 天数 5. Date的前后置/--5.1 前置5.2 后置5.…

python Scrapy 框架 demo

文章目录 前言python Scrapy 框架 demo1. 安装2. 百度热搜爬取demo2.1. 初始化项目2.2. 修改 items.pyitems.py2.3. 创建 spiders/baidu_spider.py2.4. 修改 pipelines.py2.5. 修改 settings.py 3. settings.py 相关配置说明4. 启动爬虫测试 前言 如果您觉得有用的话&#xff0…

【OpenSSL】OpenSSL 教程

OpenSSL 教程 基础 检查版本 $ openssl version -a它在使用四个 CPU 内核并测试 RSA 算法的系统上运行速度有多快 $ openssl speed -multi 4 rsa获得基本帮助 $ openssl help生成 20 个随机字节并将它们显示在屏幕上 $ openssl rand -hex 20编码/解码 使用 Base64 编码文件 $ o…