esp32小车实验

搭建环境

esp32的环境最后选择了platformio,一是因为他安装方便,最近也修复了网速问题,所以很适合入门,第二个是他真的很方便,不需要配置环境,出的问题也比较少。
环境搭建以及初识esp32
我们所用的开发板跟视频中是一样的,所以视频中的资料都可以用

单片机基础知识

各位带学生在大三时会学到一门叫信号与系统的课,里面都是高数,一定要在大一把高数笔记留好,到时候会用到。信号与系统的世界观认为所有事物都是一个信号系统,那么依照这个观点,单片机也可以认为时一个信号系统。

Created with Raphaël 2.3.0 输入信号 esp32wroom32 输出信号

GPIO端口

信号输入和输出单片机的基本途径,GPIO的G代表general,说明gpio用途广泛,是其他功能实现的基础。

Created with Raphaël 2.3.0
ESP32是一款低功耗的Wi-Fi和蓝牙双模模块,具有强大的处理能力和丰富的外设接口。L298N是一款双H桥直流电机驱动模块,可以用于控制直流电机的转向和速度。超声探头是一种常用的测距传感器,可以通过发送和接收超声波信号来测量物体与传感器之间的距离。 结合ESP32、L298N和超声探头,可以实现一些有趣的项目,比如智能小车、避障机器人等。下面是一个简单的示例代码,演示如何使用ESP32控制L298N和超声探头: ```python import machine import time # 设置超声探头的引脚 trig_pin = machine.Pin(4, machine.Pin.OUT) echo_pin = machine.Pin(5, machine.Pin.IN) # 设置L298N的引脚 ena_pin = machine.Pin(12, machine.Pin.OUT) in1_pin = machine.Pin(13, machine.Pin.OUT) in2_pin = machine.Pin(14, machine.Pin.OUT) in3_pin = machine.Pin(15, machine.Pin.OUT) in4_pin = machine.Pin(16, machine.Pin.OUT) enb_pin = machine.Pin(17, machine.Pin.OUT) # 设置超声探头的触发和接收函数 def get_distance(): trig_pin.value(0) time.sleep_us(2) trig_pin.value(1) time.sleep_us(10) trig_pin.value(0) while echo_pin.value() == 0: pass t1 = time.ticks_us() while echo_pin.value() == 1: pass t2 = time.ticks_us() distance = (t2 - t1) * 0.034 / 2 return distance # 设置L298N的控制函数 def forward(): in1_pin.value(1) in2_pin.value(0) in3_pin.value(1) in4_pin.value(0) ena_pin.value(1) enb_pin.value(1) def backward(): in1_pin.value(0) in2_pin.value(1) in3_pin.value(0) in4_pin.value(1) ena_pin.value(1) enb_pin.value(1) def stop(): in1_pin.value(0) in2_pin.value(0) in3_pin.value(0) in4_pin.value(0) ena_pin.value(0) enb_pin.value(0) # 主循环 while True: distance = get_distance() print("Distance: ", distance) if distance > 10: forward() else: stop() time.sleep(0.1) ``` 这段代码通过设置超声探头的引脚和L298N的引脚,实现了测量距离并根据距离控制小车的运动。当距离大于10cm时,小车向前运动;当距离小于等于10cm时,小车停止运动。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值