基于武汉芯源单片机CW32的遥控循迹小车实验教程
一、实验简介
本实验是使用CW32单片机制作一个入门的遥控循迹小车。遥控采用蓝牙配合手机APP进行遥控。循迹使用一个5路的循迹模块。使用OLED模块进行显示当前小车状态。
二、实验器材
本实验使用到了CW32F030C8小蓝板、智能小车底板、电机驱动模块、OLED模块、DX-BT04-E蓝牙模块、Wch-Link下载调试器、Keil5开发环境。
三、接线图
实验完整接线图:
四、用到的外设
1.串口2:
串口2用于蓝牙模块,使手机和单片机通过蓝牙模块进行串口透传,从 而进行点对点通信。
2.高级定时器ATIM:
初始化高级定时器CH1B和CH2B进行PWM波输出,从而达到电机调速目的。
3.基本定时器BTIM1:
初始化基本定时器1,在基本定时器中断服务函数中对循迹模块进行扫描。将扫描的结果保存,以便在循迹模式中使用。
4.IIC1:
IIC1用于外挂OLED显示模块。
五、核心代码
// 基本定时器中断回调函数
// 在回调函数中对循迹模块进行扫描,将循迹模块的状态保存进sensor_data中
void BTIM1_IRQHandler(void)
{
if (BTIM_GetITStatus(CW_BTIM1, BTIM_IT_OV)) // 判断是否是通道1中断
{
BTIM_ClearITPendingBit(CW_BTIM1, BTIM_IT_OV); // 清除中断标志位
char t = 0x00; // 设置零时变量保存灰度传感器的值
// 保存灰度传感器的值
// 采用或运算,检测到黑线将相应的位设置为1
if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_1))
{
t |= 0x08; // 00001000 左边数第一个
}
if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_2))
{
t |= 0x04; // 00000100 左边数第二个
}
if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_3))
{
t |= 0x02; // 00000010 左边数以三个
}
if (!GPIO_ReadPin(TRACKING_GPIOA, TRACKING_4))
{
t |= 0x01; // 00000001 左边数第4个
}
if (!GPIO_ReadPin(TRACKING_GPIOC, TRACKING_5))
{
t |= 0x10; // 00010000 左边数第5个
}
sensor_data = t; // 将灰度传感器的值赋值给sensor_data
}
}
// 串口1中断处理函数
void UART1_IRQHandler(void)
{
unsigned char TxRxBuffer;
if (USART_GetITStatus(CW_UART1, USART_IT_RC) != RESET)
{
USART_ClearITPendingBit(CW_UART1, USART_IT_RC); // 清除中断标志位
TxRxBuffer = USART_ReceiveData_8bit(CW_UART1); // 将接收到的数据放入TxRxBuffer
USART_RX_BUF[rxIndex] = TxRxBuffer; // 将接收到的数据放入缓冲区
if (rxIndex < USART_REC_LEN - 1) // 做数据长度的限制,留一个字节用于结束字符或者溢出检测
{
// 接收到的字符包含 \n 或者 \r 结束接收
if (USART_RX_BUF[rxIndex - 1] == '\n' || USART_RX_BUF[rxIndex - 1] == '\r')
{
USART_RX_BUF[rxIndex] = '\0'; // 在最后一个字节加上空字符,表示字符串结束
}
else
{
rxIndex++;
}
}
rxIndex = 0; // 清除数据标志
flag = 1; // 清除
}
}
- |
- +1 赞 0
- 收藏
- 评论 0
本文由出山转载自武汉芯源半导体公众号,原文标题为:【CW32】基于CW32的遥控循迹小车,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
基于CW32的MPU6050姿态传感器的应用开发配置教程
MPU6050是一种常用的六轴姿态传感器模块,结合了三轴陀螺仪和三轴加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。MPU6050 对陀螺仪和加速度计分别用了三个16 位的ADC(0~65535),将其测量的模拟量转化为可输出的数字量。
使用JLink烧录CW32程序
本篇主要介绍使用JLink烧录CW32程序。
【经验】芯源CW32系列单片机低功耗模式介绍及UART深度休眠模式示例
CW32单片机低功耗模式介绍及UART深度休眠模式示例。
武汉芯源半导体CW32L010系列安全低功耗MCU:驱动高速风筒新力量
MCU作为高速风简控制系统的核心,承担着传感器数据采集、高速电机控制、用户界面交互以及安全保护等多重任务。武汉芯源半导体CW32L010系列MCU可支持低成本、高性能、低功耗、高度集成的高速风筒方案,以满足市场对高效、安全、智能的高速风筒需求。
武汉芯源半导体邀您相约CITE2024中国电子信息博览会
CITE2024第十二届中国电子信息博览会将于2024年4月9-11日在深圳福田会展中心隆重开展,武汉芯源半导体将为电子行业参观者展示智能指纹锁、麦克风、燃气表、LED调光板、可燃气体报警器、筋膜枪、角磨机、血氧仪、温控器、BLDC无刷电机、永磁同步电机无感FOC控制方案等多款CW32单片机典型应用方案,诚邀您莅临9B122武汉芯源半导体展位参观交流!
DHT11温湿度传感器基于CW32F030C8T6开发板上实现读取温湿度的功能操作示例
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。本文的目标是在CW32F030C8T6开发板上实现读取温湿度的功能。
武汉芯源CW32系列单片机数字电压电流表产品硬件设计指南
本文基于武汉芯源CW32系列单片机,介绍数字电压电流表产品硬件设计指南,希望对各位工程师有所帮助。
【CW32】基于CW32的GY-33颜色识别模块的应用
GY-33是一种基于TCS34725颜色传感器的颜色识别模块。TCS34725是一种高精度光学传感器,能够检测红、绿、蓝三个基本色的光谱信息,从而实现对物体颜色的准确识别,本实验使用到了CW32F030C8小蓝板、GY-33颜色识别模块、0.96寸OLED显示屏,RGB全彩LED模块、轻触开关模块及Keil5开发环境
【CW32模块使用】雨滴传感器
文章介绍了雨滴传感器的工作原理和在汽车智能灯光系统、自动雨刷系统、智能车窗系统中的应用。传感器通过检测水滴的导电性来判断是否下雨,利用电极间的电导性变化来测量水滴存在。文章还提供了传感器模块的移植过程和代码示例,展示了如何将传感器数据读取和处理集成到CW32F030C8T6开发板上。
【应用】基于CW32的无刷水泵控制系统,使水泵更加节能、高效
本课题研究的目的是设计一套基于CW32的无位置传感器无刷直流电机控制系统,既可以改进水泵的工作模式,使水泵工作点最优;又可以使水泵电机结构简单,控制方式更为灵活。以此将整个系统加入各个不同场景中,让CW32低功耗优点,能让水泵共更加节能,高效。
【经验】武汉芯源半导体CW32系列微控制器如何进入ISP模式以及ISP协议详解
武汉芯源半导体CW32系列微控制器片上FLASH存储器有一部分区域用于存储BootLoader启动程序,用户可利用BootLoader启动程序提供的ISP模式,通过UART串口方便地实现对CW32微控制器片上FLASH主存储器的擦除和烧写。
基于武汉芯源CW32F003的无线充15W及一芯双充方案
芯联创新采用武汉芯源半导体的CW32F003推出支持无线充15W及一芯双充方案,支持PD与C口升级,可做5W、7.5W、10W、15W,数字解码,15W温度保持30~60℃。主控CW32F003为32位M0+内核,支持过温保护、过压保护和欠压保护,支持动态FOD和静态FOD,可根据定制客户需求更改功能。
【经验】芯源CW32系列MCU电容式触摸按键设计指南
芯源半导体的CW32系列MCU电容式触摸按键设计指南向客户提供利用CW32内部资源结合软件编程实现电容式触摸按键有效触摸检测的方法。本指南内容重点在于工作原理、软件检测过程以及调试指引。通过本文可了解到如何利用内置电压比较器和内置定时器及软件配合,实现灵活方便的按键检测。在介绍标准演示板和演示软件的性能参数同时,还会给出详细的调试建议以及设计参数选择倾向分析,帮助客户快速自信地完成设计并实施调试。
基于CW32的MAX4466放大器模块的应用实验
MAX4466是一款低噪声、高增益的放大器模块。该模块采用了集成放大器芯片,能够在低电压下提供高增益。它的输入阻抗较高,能够与多种信号源(例如麦克风、传感器)实现良好的匹配。同时,MAX4466还具备很低的噪声水平,能够有效地提取和放大微弱的信号,提高系统的灵敏度。
【CW32模块使用】VL53L0X激光测距传感器
VL53L0X是ST公司推出的新一代 ToF 激光测距传感器,采用了第二代 FlightSenseTM技术,利用飞行时间(ToF)原理,通过光子的飞行来回时间与光速的计算,实现测距应用。本文的目标是在CW32F030C8T6开发板上能够实现测量距离的功能。首先要获取资料,查看数据手册应如何实现读取数据,再移植至我们的工程。
电子商城
现货市场
服务
提供7~27寸工控机定制,支持嵌⼊式/ 壁挂式 /桌⾯式/悬挂式等安装方式,采用纯平⾯板IP65防尘防⽔等级,莫⽒7级硬度触摸屏,兼容多种操作系统:组态软件/安卓/XP/win7/8/10/Linux等,支持主板、接⼝、外观、⽀架、刷卡器、⾝份证阅读器、LOGO、⻨克⻛、系统、电池、蓝⽛、4G/5G、摄像头、GPS系统、⼆维码扫描器、指纹等特殊应⽤场景定制
最小起订量: 1台 提交需求>
可定制导热胶的导热系数1~6W、粘度范围3000~250000cps、固化方式可加热、仅室温、可UV;施胶方式:点胶机、手工、喷胶、转印;支持颜色、硬度、固化时间等参数的个性化定制。
最小起订量: 1支 提交需求>
登录 | 立即注册
提交评论