arduinoexe和arduino是一样的嘛

arduinoexe和arduino是一样的嘛,第1张

一样。
双击安装过程中创建的Arduino图标(arduinoexe)。打开IDE后,将自动创建一个空程序,其名称暂时为当前日期。
可执行文件(EXE文件)是一种计算机文件,其中包含经过编码的指令序列,当用户单击文件图标时,系统可以直接执行这些指令序列。

有没有想过手机上或曾经的MP3上的收音机可以自己做了?TEA5767帮您圆梦~= ̄ω ̄=

TEA5767是个FM调频立体声收音模块,它可以用I2C或SPI来控制,而且内置75MHz的DSP让收音质量好到飞起(听说的~→_→)

本例直接采用I2C的连线方式来连接线路,所以线路会很简洁。

电源会容易受到音频放大器电源的干扰,所以要做好隔离。如果音频放大器电源不超过5v时,也可以只在靠近TEA5767的电源端上接入一颗磁环抗干扰。

我们这里主讲I2C通信方式

向TEA5767写入数据时,需要写入一个5个字节长的结构体

从TEA5767读取数据时,需要使用另一个5个字节长的结构体

上式中各参数:

因为使用I2C和TEA5767通信,所以需要使用到Arduino内建的Wire库

很多时候我们需要把传感器测得的数据,通过串口或者 Wi-Fi 发送到上位机,而传感器的数据,比如温度、湿度等,往往并不是整型,比如 -1234 °C,5678% 等。对此有很多处理方法。比如把数字当成字符串处理,直接使用 Serialprint() 发送,或者通过乘法转换成整型以后再发送,又或者将浮点数拆分成整数和小数两部分发送 下面介绍一种方法,通过先将浮点数转换成字节数组(Byte Array),然后再按字节发送,实现浮点数据的传输。好处就是:精度得到保留,数据长度短且统一。一个单精度浮点数(float)在 Arduino 中长度为 32 位 ,也就是 4 Byte。 比如上面的 -1234 把它写成二进制和十六进制既然是 4 Byte,那一个非常朴实的想法就是,用一个数组来收纳这 4 Byte,然后再通过 Serialwrite(byteArr, 4) 写入到串口。指针,让它指向表示浮点数的字节所在的内存,然后取出来放到数组,构成字节数组。也可以用 Arduino 的 byte 来代替,都是表示 8 bit 长度。uint8_t 实际定义为 unsigned char, 但是 uint8_t 具有更好的可移植性。因为它只要能用就一定能保证是 8 bit。 而 unsigned char 能保证一定能用,但不保证一定是 8 bit (但是在定义了 typedef unsigned char uint8_t 的系统上 char 一定是 8 bit ,这有点绕 ),所以从「想定一个 8 bit 的变量并且有可移植性」角度来说,uint8_t 是最优选择。
Serialwrite() 可以把一个数组的字节全部打印出来,但是需要指明长度。当然, 这里的 4 可以用 sizeof() 来求得。 但是由于这里是固定的 4 Byte,所以还是让单片机少点工作吧。由于内存中字节存放的顺序,或者说大端小端问题,实际运行上面代码后,你在串口工具中看到的字节是逆序的,也就是 0xA4 0x70 0x45 0xC1 。所以在上位机对收到数据进行解析的时候需要格外注意(当然你也可以在单片机上把数据逆过来)
使用 Union 的意义在于,Union 中的成员是共享一段内存的,所以里面的字节数组和浮点数是「捆绑在一起的」,无论通过点 *** 作符修改哪一个,另一个都会跟着改变。结构体相比数组的数字索引,访问过程更加清晰,可读性更好。比如上面的结构体中明确声明了,哪些成员是表示高位字节,哪些成员是低位字节。查找字符串target,直到出现字符串terminal(就停止查找)函数原型:SerialfindUntil(target, terminal):要查找的字符串,只能查找字符串,如果要查找字符则写单个字符的字符串“a” 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术
和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC 测
温元件,并与一个高性能8 位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优
点。每个DHT11 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP 内存中,传感器内
部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的
功耗,信号传输距离可达20 米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
DHT11 数字温湿度传感器模块为3 针PH20 封装。连接方便。
terminal:结束标志,单片机读取到一个字符串后,如果判断到该字符为结束字符串,则无论有没有找到目标字符串都停止查找

1602液晶显示屏是一种常见的字符型液晶显示器,1602的意思是它能够显示162个字符。

LCD是一个并口显示屏,有两种接线方法,4位数据接线法和8位数据接线法。
这里采用4为数据接线法。

实际接线没有接电位器,因为接线不太紧,减少不必要的配件,以免电路出现接触问题。

liquidcrystal是个合成词,liquid液体的流动的,crystal结晶,晶状体,也就是液晶的意思。
1LiquidCrystal()
功能:用于初始化LCD,根据接线方法来填写对应的参数。
4位接线法的语法
LiquidCrystal(rs,enable,d4,d5,d6,d7)
LiquidCrystal(rs,rw,enable,d4,d5,d6,d7)
8位接线法语法
LiquidCrystal(rs,enable,d0,d1,d2,d3,d4,d5,d6,d7)
LiquidCrystal(rs,rw,enable,d0,d1,d2,d3,d4,d5,d6,d7)
参数:
rs,连接到RS的Arduino引脚。
rw,连接到RW的引脚。
enable,连接到E的引脚。
d0-d7对应数据线的引脚。

2begin()
功能:设置显示屏的宽度和高度。
语法:lcdbegin(cols,rows)
cols,lcd的列数
rows,lcd的行数
只需设置为begin(16,2)即可。
3clear()
功能:清屏
lcdclear()
4home()
功能:光标复位,将光标移动到左上角位置。
lcdhome()
5setCursor()
功能:设置光标的位置,将光标定位在指定的位置。
语法:lcdsetCursor(col,row)
6write()
功能:输出一个字符到LCD上。
lcdwrite(data)
7print()
功能:将文本输出到LCD上。
lcdprint(data)
lcdprint(data,BASE)
BASE,输出的进制形式:
BIN二进制
DEC十进制
OCT八进制
HEX十六进制
8cursor()
功能:显示光标,在当前光标的位置显示一条下划线。
lcdcursor()
9noCursor()
功能:隐藏光标
lcdnoCursor()
10blink()
功能:开启光标闪烁。需要先使用cursor显示光标。
lcdblink()
11noBlink()
功能:关闭光标闪烁。
lcdnoBlink()
12noDisplay()
功能:关闭LCD的显示功能,相当于关闭电脑屏幕,电脑桌面的内容并没有关闭消失。
lcdnoDisplay()
13display()
功能:开启LCD的显示功能。
lcdDisplay()
14scrollDisplayLeft()
功能:向左滚屏,将LCD上希纳是的所有内容向左移动一格。
lcdscrollDisplayLeft()
15scrollDisplayRight()
功能:向右滚屏
16autoscroll()
功能:自动滚屏
lcdautoscroll()
17noAutoscroll()
功能:关闭自动滚屏。
lcdnoAutoscroll()
18leftToRight()
功能:设置文本的输入方向为从左到右
lcdleftToRight()
19rightToLeft()
功能:设置文本的输入方向为从右到左
lcdrightToLeft()
20createChar()
功能:创建自定义字符,最大支持8个58像素的自定义字符,8个字符可以用1-8编号,每个自定义字符都使用一个8B的数组保存,当输出自定义字符到LCD上时,需要使用write()函数。
lcdcreateChar(num,data)
参数:
num,自定义字符的编号1-8
data,自定义字符的像素数据。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13398050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-28
下一篇 2023-07-28

发表评论

登录后才能评论

评论列表(0条)

保存