【雕爷学编程】Arduino动手做(194)---makeblock mbot 主控板2

2024-01-26 12:50

本文主要是介绍【雕爷学编程】Arduino动手做(194)---makeblock mbot 主控板2,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十四:mbot主控板 makeblock童心制物mCore V1.5开发板 RJ25接口机器人兼容Arduino

在这里插入图片描述
在这里插入图片描述

mBot,这款带科技感的、工业级的主控板,它支持积木式电脑编程和Arduino编程,换句话说,它是从Arduino演变而来,由于mBot使用的控制芯片是atmega328p-AU,与Arduino系统中的UNO相同,故它们在某种程序上,具有相似的功能和接口。

在这里插入图片描述
红外发射电路:
红外电路由两部分组成,一个是红外发射电路,一个是红外接收电路,如上图所示,由于芯片ATMega328引脚的驱动能力有限,故在发射电路中,使用三极管放大电路来驱动红外发射管的工作。在接收电路中,使用一个上拉电阻,来保证能够接收到高低电平。
在这里插入图片描述

红外接收解码:
红外电路由两部分组成,一个是红外发射电路,一个是红外接收电路,如上图所示,由于芯片ATMega328引脚的驱动能力有限,故在发射电路中,使用三极管放大电路来驱动红外发射管的工作。在接收电路中,使用一个上拉电阻,来保证能够接收到高低电平。

在这里插入图片描述

蜂鸣器控制:
该电路是经典的蜂鸣器控制电路,即由开关三极管、续流二极管,限流电阻组成。其中:蜂鸣器是发声元件,在其两端施加直流电压(有源蜂鸣器)或者方波(无源蜂鸣器)就可以发声,mBot上应该是无源蜂鸣器;又因为蜂鸣器本质上是一个感性元件,其电流不能瞬变,因此必须有一个续流二极管提供续流,否则,在蜂鸣器两端会产生几十伏的尖峰电压,可能损坏三极管,并干扰整个电路系统的其他部分; 三极管起开关作用,其基极的高电平使三极管饱和导通,使蜂鸣器发声,而基极低电平则使三极管关闭,蜂鸣器停止发声。其实再在二极管两端加上一个滤波电容滤除蜂鸣器电流对其他部分的影响,也可以改善电源的交流阻抗,如果可能,最好是再并联一个220uF的电解电容。

在这里插入图片描述

mbot主控板,具体引脚分布如下图:
可以看得到芯片引脚的分布,以后就可以利用某些特殊的引脚拓展功能了。比如:
6路的AD:可以做模拟计算,做数字电压表;
6路的PWM:可以做PWM调光,感光灯;

但是mbot主控板并没有引出全部的引脚,不过重要的基本上都有出来的,如果我们想外接模块,就可以利用这几个引脚控制了。比如:
标号1,2的RJ25接口旁边:3个PWM(9,10,11)、MISO(12)
标号3,4的RJ25接口旁边:6个AD(A0,A1,A2,A3,SDA,SCL) 后两个是复用引脚。
电源插座旁边:RST,MOSI,MISO,SCK
蓝牙底座:RXD,TXD(把蓝牙模块拔掉可以插排针进去)
电机接口:M1,M2(可以直接用母头杜邦线接上)

在这里插入图片描述
7、扩展接口电路
扩展接口电路,如下图所示,

主要有如下几部分:
1)J1、J2、J3、J4主要用来连接扩展电子模块,如J3、J4分别连接mBot试用中的超声波模块和寻迹模块,另外他们还能连接:陀螺仪模块、数码管模块、电位器模块、操纵杆模块、声音传感器模块、温湿度模块、被动红外模块等;
2)ICSPI应该是用来调试、下载程序用;
3)P6和P7分别引出,留给用户扩展,它们分别为I2C接口,SPI接口,模块接口和数字接口。

在这里插入图片描述
8、蓝牙模块电路
蓝牙模块的电路也非常简单,如下图所示,主要由两部分组成

1)电压部分,由于蓝牙芯片的工作电压是3.3V,故需要将从mCore上引入的5V电压经过XC6206进行电压转换为3.3V
2)串口电平转换部分,需要将从mCore上引入的串口电平转换
XC6206是一款高精度,低功耗,高电压,正电压调整器的芯片,在输出电流的情况下,输入输出压也差很小。它包括一个电流限制电路,一个驱动器三极管,一个高精度参考电压源和一个误差校正电路。该电流限制器的返回电路可为电流限制器和输出引脚提供短路保护。通过激光微调技术,可设定芯片的输出电压的范围是1.2V至5.0V,间隔为0.1V。

在这里插入图片描述

9、引脚对比表格
其中第一列表示atmega328p-AU芯片上的引脚,第二列表示Uno上的引脚,第三列为Mbot主控板上对应的引脚,第四列是mBot主控板上引用的功能简述。

在这里插入图片描述

10、mbot 主控板布局图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

11、mbot 主控板电原理图
在这里插入图片描述

刚搜到的驱动库,目前最新版本是
2019/09/02
V3.2.7

https://github.com/Makeblock-official/Makeblock-Libraries

在这里插入图片描述
如何使用:
从 git https://codeload.github.com/Makeblock-official/Makeblock-Libraries/zip/master下载源码
在Arduino IDE中:“Sketch-> Include Library-> Add .ZIP Library->选择下载的文件-> Open”
单击“文件-> 示例”。“MakeBlockDrive->”中有一些测试程序
根据您使用的电路板类型,您需要修改头文件以匹配。
例如,如果您使用的是 mCore。您应该更改#include <MeOrion.h>为#include <MeMCore.h> 相应的板,头文件是:

Orion <--------> MeOrion.h
BaseBoard <----> MeBaseBoard.h
mCore <--------> MeMCore.h
Shield <-------> MeShield.h
Auriga <-------> MeAuriga.h
MegaPi <-------> MeMegaPi.h

查到的一些相关mBot的资料链接:

mBot说明书:https://bbs.elecfans.com/forum.php?mod=attachment&aid=MzA1MTcyfGNhYjRiZjdkNjQxNmE5Y2NmMDYwMmEyZDM2ZjU4M2ZkfDE2MjgyMDg3MzU%3D&request=yes&_f=.pdf

mCore主板原理图:https://bbs.elecfans.com/forum.php?mod=attachment&aid=MzA1MTc1fDZhNTU4NjQ4ODg0NTZiMTUwOWI4ZmM5N2FjZjNmYTgwfDE2MjgyMDg3MzU%3D&request=yes&_f=.pdf

电机驱动芯片TB6612FNG数据手册:https://bbs.elecfans.com/forum.php?mod=attachment&aid=MzA1MTc2fDZhMGQ4MWM3MDc0YTNhNTY2ZWFmMWFiYzk0MTA0MzIyfDE2MjgyMDg3MzU%3D&request=yes&_f=.pdf

RGB三色灯ws2812B手册:https://bbs.elecfans.com/forum.php?mod=attachment&aid=MzA1MTc3fDNjMjI3NzYzZDNhYTllOWU3ZTk0NmY4MWI4NTUwYmZhfDE2MjgyMDg3MzU%3D&request=yes&_f=.pdf

官方固件源码(github下载):https://bbs.elecfans.com/forum.php?mod=attachment&aid=MzA1MTczfGFmMTU3YzFlOTc4ODFkYzY2ZTFiYTJiODNjNDJmOWIxfDE2MjgyMDg3MzU%3D&request=yes&_f=.zip

mBot的GitHub网址:https://github.com/Makeblock-official/mBot

mBot出厂程序(mblock版本带注释):https://bbs.elecfans.com/forum.php?mod=attachment&aid=MzA1MTc0fDQ2MzBjZjU4ZjQ3NzQ5M2MzOTc4ZTlkOGE2YjIyNGVjfDE2MjgyMDg3MzU%3D&request=yes&_f=.zip

mBlock软件下载网址:https://www.makeblock.com/cn/steam-kits/mbot-2

mBot官网 https://www.makeblock.com/cn/steam-kits/mbot

mBot 技术支持 https://www.makeblock.com/cn/support/ps-mbot

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这篇关于【雕爷学编程】Arduino动手做(194)---makeblock mbot 主控板2的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/646863

相关文章

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

16.Spring前世今生与Spring编程思想

1.1.课程目标 1、通过对本章内容的学习,可以掌握Spring的基本架构及各子模块之间的依赖关系。 2、 了解Spring的发展历史,启发思维。 3、 对 Spring形成一个整体的认识,为之后的深入学习做铺垫。 4、 通过对本章内容的学习,可以了解Spring版本升级的规律,从而应用到自己的系统升级版本命名。 5、Spring编程思想总结。 1.2.内容定位 Spring使用经验

IPython小白教程:提升你的Python交互式编程技巧,通俗易懂!

IPython是一个增强的Python交互式shell,它提供了丰富的功能和便捷的交互方式,使得Python开发和数据分析工作更加高效。本文将详细介绍IPython的基本概念、使用方法、主要作用以及注意事项。 一、IPython简介 1. IPython的起源 IPython由Fernando Pérez于2001年创建,旨在提供一个更高效的Python交互式编程环境。 2. IPyt

从《深入设计模式》一书中学到的编程智慧

软件设计原则   优秀设计的特征   在开始学习实际的模式前,让我们来看看软件架构的设计过程,了解一下需要达成目标与需要尽量避免的陷阱。 代码复用 无论是开发何种软件产品,成本和时间都最重要的两个维度。较短的开发时间意味着可比竞争对手更早进入市场; 较低的开发成本意味着能够留出更多营销资金,因此能更广泛地覆盖潜在客户。 代码复用是减少开发成本时最常用的方式之一。其意图

Java并发编程—阻塞队列源码分析

在前面几篇文章中,我们讨论了同步容器(Hashtable、Vector),也讨论了并发容器(ConcurrentHashMap、CopyOnWriteArrayList),这些工具都为我们编写多线程程序提供了很大的方便。今天我们来讨论另外一类容器:阻塞队列。   在前面我们接触的队列都是非阻塞队列,比如PriorityQueue、LinkedList(LinkedList是双向链表,它实现了D

剑指offer—编程题7(用两个栈实现一个队列)

题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail 和deleteHead,分别完成在队列尾部插入结点和在队列头部删除结点的功能。 代码如下: [java]  view plain copy print ? public class Test07 {       /**       * 用两个栈模拟的队列       *

剑指Offer—编程题4 ( 替换空格)

一、题目:替换空格 题目:请实现一个函数,把字符串中的每个空格替换成"%20"。例如输入“We are happy.”,则输出“We%20are%20happy.”。    在网络编程中,如果URL参数中含有特殊字符,如空格、'#'等,可能导致服务器端无法获得正确的参数值。我们需要将这些特殊符号转换成服务器可以识别的字符。转换的规则是在'%'后面跟上ASCII码的两位十六进制的表示。

剑指Offer—编程题56(链表中环的入口地址)

题目:一个链表中包含环,如何找出环的入口结点? 解题思路   可以用两个指针来解决这个问题。先定义两个指针P1和P2指向链表的头结点。如果链表中环有n个结点,指针P1在链表上向前移动n步,然后两个指针以相同的速度向前移动。当第二个指针指向环的入口结点时,第一个指针已经围绕着环走了一圈又回到了入口结点。    剩下的问题就是如何得到环中结点的数目。我们在面试题15的第二个相关题目时用到

剑指Offer—编程题15(链表中倒数第k个结点)

题目:输入一个链表,输出该链表中倒数第k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6 个结点,从头结点开始它们的值依次是1 、2、3、4、5 、6。这个个链表的倒数第3 个结点是值为4 的结点. public static class ListNode {int value;ListNode next;} 解题思路: