Arduino基础应用学习 |
您所在的位置:网站首页 › arduino输出电压怎么调到33 › Arduino基础应用学习 |
语言: 使用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 |