智能的车 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

专业版 智能的车

简介:基于GD32F470核心板、蓝牙通信、避障、播放音乐的智能小车

开源协议: GPL 3.0

(未经作者授权,禁止转载)

创建时间: 2023-05-04 22:40:03
更新时间: 2023-08-21 20:19:02
描述
原理图 ![SCH_Schematic1_1-P1_2023-07-02.png](//image.lceda.cn/pullimage/pJ9uvZnbMeWeia28Dq6XTVKnQlwjKUxiSwJpflbt.png) **Tip:1、循迹电路中ITR9909注意序号顺序(顺时针)1243,别放反了,并且画pcb时放到底层。** **2、蜂鸣器供电应该3.3V,视频里是5V会导致一直响。** **3、画PCB时超声波注意别摆反了(实物需要朝向前方)** **4、建议增加按键或者蓝牙切歌** PCB版-顶层 ![1685633875332.jpg](//image.lceda.cn/pullimage/EwEKtoZskRdJu4aNgWDYAzz8ACiD0L9CWYsvw3qm.png) PCB版-底层 ![1685633892451.jpg](//image.lceda.cn/pullimage/zRUgu60wNqIny7VHvNUQ8n7GrSHJWBG1iEt6LBel.png) 模块: 1. LED车灯: *小车前方有两个LED光强度照明灯,左右各一个。* ![1688231943705.jpg](//image.lceda.cn/pullimage/UaJf6YjwvW2qCTn2NBMb4AJrdLCE4pVOGyQd4DWe.png) 2. 按键: *小车扩展板有2个独立按键,KEYS与KEYM,可用于启动和运动模式切换,在代码案例中有具体实现。KEYS按键有一个LEDS指示灯,KEYM按键有一个LEDM指示灯,按键按下可以切换灯的状态。当KEYM按下时进入避障模式,当KEYM没有按下时进入循迹模式,KKEYS是开启小车。* 3. 蜂鸣器: *小车搭载了一个蜂鸣器,可用于遇到障碍物时发出警报,同时蜂鸣器的控制引脚还有定时器功能,可以改变其输出频率让其播放音乐*。 4. ADC电压检测: *小车搭载了ADC电压检测电路,利用ADC采集功能实现电压采集,当电池没电时,提醒我们及时充电。可以看出利用三个相同电阻分压来检测电池的压降。* 电路: ![1688232360777.jpg](//image.lceda.cn/pullimage/m12vruUxu77gw609pPck4BXGkMGHP7oFT1GTv5ge.png) 代码: if(adcValue < 3002)//电量低于6.6V时,蜂鸣器鸣叫 { beep_on(); } else//电量高于6.6V时,蜂鸣器关闭 { beep_off(); } 5. 超声波模块: *小车的正前方有一个HCSR04超声波模块,可以用于实现超声波避障。* ![253e1da1106a72bb0134e5d13c12057.jpg](//image.lceda.cn/pullimage/OgHpmdSP2kqskBaIxVlBo7HVLUEa6pWQdrpvugFJ.jpeg) **tip:为了布线方便,改变摆放方向,导致超声波朝后,故飞线,故画PCB时要注意。** 6. 电机: *小车有四个电机,使用RZ7899芯片驱动。可以实现前进,后退,左转,右转,停止(刹车/熄火),结合定时器PWM功能可以改变小车运动的速度。使用的电机时每分钟8000r,6000r足够,但是因为价格一样和为了更好的区分慢中快选择了8000r。* 7. 循迹: _小车搭载了5路红外循迹,可用于循黑线行驶。使用ITR9909,一个灯发一个灯收,检测黑线,然后用电压比较器判断左右调整。_ _引脚:_ ![1688233156834.jpg](//image.lceda.cn/pullimage/PZ7SWoJTdFuo219UFRs3hlC4T9ajImnerKlhU6oz.png) _ 实物:_ ![1688233221484.jpg](//image.lceda.cn/pullimage/O04H8XXgbeELDfY0ZxFafuJ60GdmfyGMGGxMjcsl.png) _引脚顺序:_ ![1688233290163.jpg](//image.lceda.cn/pullimage/hK38dgY6kZxflt0jYENJqBhGh48LO1UXh550Ejs3.png) _使用数字万用表测量PIN1,PIN2之间,可以测量LED单向导通特性。前向导通电压:1.01V。_ 8. 避障: _小车可以使用超声波模块完成避障功能。_ _代码:_ int32_t HCSR04_Get_Distance(void) { uint32_t t=0;//Echo高电平时间 int32_t d=0; Trig=1; delay_1us(20); Trig=0; t=0; while(Echo==0) { delay_1us(1); t++; if(t >= 1000000) return -1;//设备响应超时处理,设备出现故障 } t=0; while(Echo) { delay_1us(9); t++; if(t >= 10000)//超出测量范围处理 return -2; } d = t*3/2; //t是波来回的时间,除以2是单个路程。 return d; } 9. 蓝牙模块: _小车提供了蓝牙模块接口,可配合手机蓝牙APP实现无线遥控小车的功能。_ _代码:_ if(g_recv_complete_flag) // 数据接收完成 { g_recv_complete_flag = 0; // 等待下次接收 printf("g_recv_length:%d ",g_recv_length); // 打印接收的数据长度 printf("g_recv_buff:%s\r\n",g_recv_buff); // 打印接收的数据 switch(g_recv_buff[0]){ case 0x01: //前进 car_front(speed); break; case 0x02://后退 car_back(speed); break; case 0x03://左转 car_left(80); break; case 0x04: //右转 car_right(80); break; case 0x05: // 停止 car_stop(Brake_Stop); break; case 0x06: //左右灯亮 led_l_on(); led_r_on(); break; case 0x07: //左右灯灭 led_l_off(); led_r_off(); break; case 0x08: //低速 speed=42; break; case 0x09: // 中速 speed=66; break; case 0x0a: // 高速 speed=100; break; default: printf("指令错误!!!\r\n"); break; } memset(g_recv_buff,0,g_recv_length); // 清空数组 g_recv_length = 0; // 清空长度 } _ 界面:_ ![bda716d5ae3647d153e28a161b07c4e.jpg](//image.lceda.cn/pullimage/QVwsdCs8QZXq4dZFYLclTxAn4PK3hbzPJCd66A5r.jpeg) 10. MP3 _MP3-TF-16P2,可使用TF卡和外插U盘,这里为了方便外接出了U盘。_ _接线:_ ![1688234308420.jpg](//image.lceda.cn/pullimage/miPQBbPaQs3mwqNPkYJYLirQnbkOnN0L5TKxmtwZ.png) _管脚说明:_ ![1688234426553.jpg](//image.lceda.cn/pullimage/gSRyVDvmBt1XX7W12l49Sp9xhoseId23a7Bl5VPc.png) _测试方法1:_ _只需要用到4根接线即可,VCC,GND连接电源,SPK1(或者SPK2),GND连接喇叭,接好以后,插入装有MP3音乐文件的TF卡或U盘,然后,短接ADKEY1和GND,就可以直接播放TF卡里的音乐了_ _测试方法2:_ _使用串口助手软件,将模块上的TX,RX分别接至USB转串口的下载调试接口上,通过串口助手软件发送控制指令,如播放TF卡中的第一首歌曲,相应的指令为:7E FF 06 03 00 00 01 FE F7 EF,具体的指令含义可以参考使用说明手册。要注意一点的就是发送的内容只能以16进制的方式发送,串口的波特率一定要选择9600,和MP3模块相对应。_ ![1688234660845.jpg](//image.lceda.cn/pullimage/3fuDE8SEFuM0LsB3b2qIJm2272iwtdkDUn1oAaMV.png) _测试方法3:_ _自己写程序进行控制调试,这里的发送和接收用的PA9 PA10所以是串口0,调试程序时已经初始化,直接发送字节即可。_ ![1688234737372.jpg](//image.lceda.cn/pullimage/KHhJyeLOroOvMOuRR3Oei21lAQSZhXjo5Y8M3ani.png) _ 代码:_ delay_1ms(1000); usart_send_data(0x7e); usart_send_data(0xff); usart_send_data(0x06); usart_send_data(0x03); usart_send_data(0x00); usart_send_data(0x00); usart_send_data(0x01); usart_send_data(0xef);
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP