传感器实验——LCD显示小车状态
传感器实验——LCD显示小车状态
- LCD显示小车状态
- MR开发板
- 寻迹小车
- 1.54寸液晶屏st7789 spi
- 示例程序
- 效果
我们生活中的车都有显示设备,既然有了屏幕就别浪费。使用LCD屏直观的显示一下小车的状态吧
LCD显示小车状态
MR开发板
寻迹小车
1.54寸液晶屏st7789 spi
示例程序
main.py
import time
from pyb import SPI,Pin,Timer,delay
from ztst7789class import ST7789
import tt32
from car import car
from time import sleep_us,ticks_us,sleep
#定义引脚,低电平时,指示灯亮。
xun1 = Pin(("C3"),Pin.IN)
xun4 = Pin(("C2"),Pin.IN)
xun3 = Pin(("C1"),Pin.IN)
xun2 = Pin(("C0"),Pin.IN)
#---------TFT pin 定义
RES = Pin('C4')
BLK = Pin('B10')
DC = Pin('C5')
CS = Pin('B11')
SCL = Pin('A5')
TFT_MISO_PIN = Pin('A6')
SDA = Pin('A7')bl = Pin(BLK, Pin.OUT)
def lcdinit(): #初始化函数global LCDbl.value(1) #屏幕背光打开spi = SPI(1,SPI.MASTER,baudrate=7800000,polarity=0,phase=0)LCD = ST7789(spi, cs=Pin(CS), dc=Pin(DC), rst=RES)
def color565(r, g, b): #255 255 255return (r & 0xf8) << 8 | (g & 0xfc) << 3 | b >> 3
lcdinit() #初始化
LCD.erase()
LCD.set_font(tt32) #屏幕字体
while True:pyb.udelay(1000)print('xun1:%d,xun2:%d,xun3:%d,xun4:%d' %(xun1.value(),xun2.value(),xun3.value(),xun4.value()))#检测到黑线时循迹模块相应的指示灯亮,端口电平为(0)#未检测到黑线时循迹模块相应的指示灯灭,端口电平为(1)if(xun1.value()==0):car.left(20)LCD.chars("left",80,100)delay(500)LCD.erase()elif(xun4.value()==0):car.right(20)LCD.chars("right",80,100)delay(500)LCD.erase()else:car.go(40)LCD.chars("go,go",80,100)
car.py
#main.py -- put your code here!
from pyb import Pin, Timer,delay
from time import sleep_us,ticks_us,sleep
cs = Pin('C8',Pin.OUT_PP) #C8设置为输出引脚输出高电平
cs(1)
ch1 =None
ch2 =None #初始化
A0= Pin('B12',Pin.OUT_PP) #右侧马达
A1 = Pin('B13',Pin.OUT_PP)
B0 = Pin('B14',Pin.OUT_PP) #左侧马达
B1 = Pin('B15',Pin.OUT_PP)#A电机(右)
p1 = Pin('B8')
tim1 = Timer(10, freq=120)
ch1 = tim1.channel(1, Timer.PWM, pin=p1)
#B电机(左)
p2 = Pin('B9')
tim2 = Timer(4, freq=120)
ch2 = tim2.channel(4, Timer.PWM, pin=p2)#小车状态
#小车右侧电机接到A处,且电机红线在A0;
#小车左侧电机接到B处,且电机红线在B1
class car:def go(speed): #直行状态 ch1.pulse_width_percent(speed) ch2.pulse_width_percent(speed)A0(1) A1(0) #此状态测试A电机正转B0(0)B1(1) #此状态B电机正转def back(speed): #倒车ch1.pulse_width_percent(speed)ch2.pulse_width_percent(speed)A0(0) A1(1) #此状态测试A电机正转B0(1)B1(0) #此状态B电机正转def ztstop(): #停止ch1.pulse_width_percent(0)ch2.pulse_width_percent(0)def right(speed): #右转ch1.pulse_width_percent(0) #A电机不动ch2.pulse_width_percent(speed)B0(0)B1(1)def left(speed): #左转ch1.pulse_width_percent(speed)ch2.pulse_width_percent(0) #B电机不动A0(1)A1(0)
内部文件
效果
传感器实验——LCD显示小车状态相关推荐
- 传感器实验——LCD颜色调整
传感器实验--LCD颜色调整 LCD显示小车状态 MR开发板 1.54寸液晶屏st7789 spi 示例程序 之前为了测试都用的默认颜色,单色体现不出屏幕优势,所以我们现在看看屏幕颜色怎么整吧~ LC ...
- 传感器实验——LCD屏幕测试
传感器实验--LCD屏幕测试 LCD屏幕测试 所选设备 1.54寸液晶屏st7789 spi 工作原理 接线说明 示例程序 小车基本做完了,后面我们在搞事情.现在来测试一下屏幕.用屏幕来做一些事情吧 ...
- 传感器实验——寻迹小车
传感器实验--寻迹小车 防跌落小车实验 所选设备 寻迹小车 巡线原理 示例程序 之前我们用寻迹模块简单的做了一个防止小车高处跌落的功能,但是寻迹并不简单(/滑稽).本次我们使用寻迹来做一个巡线功能.简 ...
- 传感器实验——LCD字体
传感器实验--LCD字体 LCD屏幕测试 所选设备 1.54寸液晶屏st7789 spi 示例程序 默认字体对我们不友好,所以我找了一些字库方便实用哦. LCD屏幕测试 所选设备 主控:MR开发板 1 ...
- 【Arduino实验12 1602 LCD显示】
目录 一.实验目的 二.实验设备与环境 三.实验重点 四.实验难点 五.实验内容 5.1实验任务 5.2实验原理 5.3实验内容 5.4实验结果 5.5思考题 一.实验目的 (1)熟悉1602LCD液 ...
- 【正点原子FPGA连载】 第三十章双目OV5640摄像头LCD显示实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...
- 【正点原子FPGA连载】 第二十四章 RTC实时时钟LCD显示实验-摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0
1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...
- 北邮实验:ARM实验板移植Linux操作系统,LCD显示汉字
ARM实验板移植Linux操作系统,LCD显示汉字 一. 实验目的 1. 熟悉点阵字库的使用2. 熟悉Linux操作系统的使用3. 熟悉ARM嵌入式系统开发的过程 二. 实验内容 1. pc端编写用* ...
- 基于战舰V3的LCD显示实验详解和剖析
基于STM32的4.3寸TFTLCD的使用 在这里,我们只剖析NT35510部分的代码. LCD显示方向设置函数 代码示例 //设置LCD显示方向 //dir:0,竖屏:1,横屏 void LCD_D ...
最新文章
- linux 下使用crontab 定时打包日志并删除已被打包的日志
- 音乐处理---H_music.php
- TFS的Web门户工作项(七)
- 51Nod-1136 欧拉函数【数论】
- vuejs滚动条_vuescroll-一款基于vuejs2.x的虚拟滚动条
- 正则表达式中的分组的匹配次数的理解
- Skip宏块与Direct预测模式浅析
- 不足补0 java_Java Android 开发数字不足位数前面补0
- Windows安全加固系列
- JDBC数据库通用DAO
- moments音标_moment是什么意思_ moment的翻译_音标_读音_用法_例句_爱词霸在线词典...
- Centos7安装源地址
- 微软行星云计算Planetary Computer——previsa南美洲亚马逊雨林森林损坏系统AI智能评估
- php mip,php批量清除MIP缓存
- 计算机word窗口的组成,推计算机等级考试题库:一级MS Office第三章“Word窗口及其组成”(一)...
- 用树莓派做一个实时垃圾分类器|超实用!!
- Java---多线程入门
- 【LeetCode每日一题】——1042.不邻接植花
- 执行方案(Command)
- myBatis中通过map集合传入数据查询结果为空
热门文章
- ping www.baidu.com时出现正在ping www.a.shifen.com
- N1盒子安装 aria2(带AriaNg前端)
- 解决Win10更新后无法开启移动热点的问题
- [参文]GCN+交通
- linux的第一个逻辑分区表示为 ?,/dev/sda5 在 Linux 中表示 答案:第一块SCIS 硬盘上的逻辑分区...
- 从轻盈奶茶到拉普山鲜奶茶,罗曼林实现品类突围
- 小国王(状压dp经典题)
- 【IoT】物联网NB-IoT之电信物联网开放平台对接流程浅析
- 稻城亚丁徒步攻略,与你共同感受这片净土
- 微信小程序的一些新手示例(¥62)