Arduino基础应用学习

您所在的位置:网站首页 arduino输出电压怎么调到33 Arduino基础应用学习

Arduino基础应用学习

2024-06-11 17:04| 来源: 网络整理| 查看: 265

语言:

使用Setup和loop这个两个函数:

Arduino软件结构包括两个主要函数:

Setup()函数 初始化变量,管脚模式,调用库函数等

Loop()函数 连续循环执行loop函数内的程序(可以理解成while(1);)

在Arduino控制器通电或复位后,,程序启动时会调用 setup()函数。setup函数只能在Arduino板的每次上电或复位后运行一次。

loop() 让你的程序循环地被执行。使用它来运转Arduino。这部份的程式会一直重复的被执行,直到Arduino 板子被关闭。

HIGH | LOW

表示数字IO口的电平,HIGH 表示高电平(1),LOW 表示低电平(0)。 HIGH 和LOW 也用来表示你开启或是关闭了一个Arduino的脚位(pin)

INPUT | OUTPUT

表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出

pinMode()函数数字IO口输入输出模式定义函数:

可以将接口定义为输入或输出接口,pinMode()函数用于将特定引脚配置为输入或输出。

pin - 你希望设置模式的引脚的编号 0~13*mode* - INPUT(输入模式),OUTPUT(输出模式)或INPUT_PULLUP(内部上拉输入)。  

引脚配置为INPUT

Arduino引脚默认配置为输入 ,输入模式下,由外部器件向Arduino对于引脚输入电平,和数据,Arduino识别电平及数据,进行相应的处理。

引脚配置为OUTPUT

引脚配置为输出模式,Arduino引脚向其他电路提供大量的电流。这是足以点亮LED或者运行许多传感器的电流(不要忘记串联电阻),但不足以运行继电器,螺线管或电机。

digitalWrite()函数:

 定义引脚的电平

digitalWrite(pin,value); 但脚位必须先透过pinMode明示为输入或输出模式digitalWrite才能生效。比如定义HIGH可以驱动LED。

digitalRead()函数:

引脚电平读取函数

int digitalRead(pin)数字IO口读输入电平函数,读出数字接口的值 。

在类似开关控制led的实验中:当感测到脚位处于高电位时时回传HIGH,否则回传LOW。

analogRead()函数:

模拟IO口读函数,从指定的模拟接口读取值,Arduino对该模拟值进行10-bit的数字转换。 此函数返回0到1023之间的数字,表示0到5伏特之间的电压。

如果施加到编号0的引脚的电压为2.5V,则analogRead(0)返回512。

int analogRead(pin)analogWrite()函数:

数字IO口PWM输出函数,给一个接口写入模拟值(PWM波)改变PWM脚位的输出电压值

value表示为0~255

例如:输出电压2.5伏特(V),该值大约是128。

analogWrite(pin, value);  

shiftOut()函数:

SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,把资料传给用来延伸数位输出的暂存器,此函式通常使用在延伸数位的输出。

shiftOut(dataPin, clockPin, bitOrder, value)函式使用一个脚位表示资料、一个脚位表示时脉。dataPin为数据口,clockPin为时钟口,bitOrder用来表示位元间移动的方式,为数据传输方向(MSBFIRST高位在前,LSBFIRST低位在前),value会以byte形式输出,表示所要传送的数据(0~255),另外还需要一个IO口做74HC595的使能控制。

unsigned long pulseIn(pin, value):脉冲长度记录函数,设定读取脚位状态的持续时间,返回时间参数(us)

延时函数:

delay(ms) 延时函数delay(ms) 延时函数(单位ms)

delayMicroseconds()函数:延时函数(单位us)暂停晶片执行多少微秒

随机函数:

randomSeed()函数:

randomSeed(seed)

随机数端口定义函数,seed表示读模拟口analogRead(pin)函数

randomSeed(seed)函数重置Arduino的伪随机数生成器

random()函数:

long random(min, max)

随机数函数,返回数据大于等于min,小于max。

long random(max)

返回数据大于等于0,小于max。

Serial.begin(speed)

串口定义波特率函数,设置串行每秒传输数据的速率(波特率),可以指定Arduino从电脑交换讯息的速率,通常置于setup()函数中。

Serial.end():

描述:禁止串口传输。此时串口Rx和Tx可以作为数字IO引脚使用。Serial.print():

描述:串口输出数据,写入字符数据到串口。Serial.print(val, format)val:打印的值,任意数据类型。 config:输出的数据格式。BIN(二进制)、OCT(八进制)、DEC(十进制)、HEX(十六进制)。对于浮点数,此参数指定要使用的小数位数。Serial.println():

描述:串口输出数据并换行。Serial.available():

描述:判断串口缓冲区的状态,返回从串口缓冲区读取的字节数。Serial.read():

描述:读取串口数据,一次读一个字符,读完后删除已读数据。返回值:返回串口缓存中第一个可读字节,当没有可读数据时返回-1,整数类型。Serial.readBytes():

描述:从串口读取指定长度的字符到缓存数组。原型:Serial.readBytes(buffer, length)Serial.flush():

描述:清空缓冲器。 有时候因为资料速度太快,可以使用此函式清除缓冲区内的资料。  

程序代码:

读取模拟值:

原理接线图:

 

int potpin=0; int ledpin=13; int val; void setup() { pinMode(ledpin,OUTPUT);//定义数字接口为输出接口 Serial.begin(9600);//设置波特频率为9600 // put your setup code here, to run once: } void loop() {//相当与while(1)的死循环主函数 digitalWrite(ledpin,HIGH); delay(500); digitalWrite(ledpin,LOW); delay(500); val=analogRead(potpin);//读取模拟数字接口0的值,并将其赋给val; Serial.println(val); // put your main code here, to run repeatedly: }

led灯接连闪烁:

原理:

 

  

int BASE = 2;//第一个led灯的接口位置 int NUM = 4;//led灯的数据 int i=0; void setup() { for(i=BASE;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3