Arduino Uno 开发简介

Arduino是源于意大利的一套开源硬件开发平台,Arduino Uno是其推出的最为基础的开发板。配合外围器件(传感器,控制开关,LED屏等),任何稍有电子电路基础的人都可以基于这个平台快速搭建出具有各种有趣功能的实用电子电路。首先介绍一下Arduino Uno开发板的基本组成。

图1 ArduinoUno开发板

1.      微处理器:ATmega328,8位微处理器,片内包含32KB Flash(0.5KB由BootLoader使用),2KB SRAM,1KB EEPROM,运行时钟频率为16MHz。

2.      USB接口:与电脑连接,用于从电脑中下载程序,同时给Uno单板供电。

3.      外接电源:当Uno脱离电脑独立运行时,用来给装置供电,一般使用9V电池供电即可。

4.      电源管脚,地:可输出5V,3.3V;也可以通过Vin给整个装置供电。

5.      模拟输入:6个模拟输入,提供10-bit的解析度(0-1023)。

6.      数字输入/输出:14个数字输入/输出管脚,可以由程序自己定义为输入或者输出;其中0,1两个管脚是串口复用管脚;3,5,6,9,10,11六个管脚可提供8位(0-255)的PWM输出;13管脚与板上LED相连,当输出高电平时,LED点亮。

下面简要介绍一下Arduino的开发环境。从Arduino - Home网站上可以免费下载到其开发环境,有Windows/Mac/Linux版本,大家可根据自己的需要选择。工具安装运行后界面见图2。由于是单板和PC相连是通过串口转USB,所以PC上通常需要安装一下驱动,驱动就在Arduino软件目录下的driver目录,例如:f:\arduino-1.6.4\drivers\。安装驱动后,可以看到当前的端口,如图3所示(不同PC端口号一般都不相同,例如此处是COM3)。

图2. Arduino 开发工具界面

图3. 当驱动安装正确,连接PC后,会显示对应的端口

编辑窗口中有两个函数,一个是setup,这个函数将在程序运行一开始就调用,通常是进行一些管脚的初值设置;而loop就是程序运行的主函数,系统会不断循环调用loop,我们将软件逻辑写在loop函数中就可以了。

下面再介绍一下软件常用的函数。

pinMode(pin, mode)  - 定义数字管脚的输入/输出,pin可以取0-13,对应14个数字管脚;mode为INPUT/OUTPUT之一,表明该管脚是用于输入还是输出

digitalWrite(pin, val) - 设置数字管脚输出电平,val取值为HIGH/LOW之一

digitalRead(pin)– 读取数字输入管脚的电平,函数返回值为HIGH/LOW之一,通常根据返回值为高或者低从而进行不同的处理

analogRead(pin) – 读取模拟输入管脚的值,pin取值为A0 – A5;返回0-1023之间的值

analogWrite(pin, val) – 设置数字管脚中的PWM管脚的输出值,val取值为0-255

Serial.begin(speed) – 初始化串口并设置串口速率,如Serial.begin(9600); 即将串口速率设置为9600bps

Serial.print()/Serial.println() – 串口输出函数

delay(val) – 延时函数,单位为ms,如delay(1000)为延时1s

Arduino的编程与C语言很类似,例如行尾以分号结尾,int定义整形变量,if做判断,for做循环等等。例如,下面这段是一个最基本的程序,完成的功能是控制led灯闪烁。

int ledPin = 13;   //使用管脚13来控制led(实际是用板子上自带的led)

void setup() {

  // put your setup code here, to run once:

  pinMode(ledPin, OUTPUT);    //设定数字管脚13为输出管脚

}

 

void loop() {

  // put your main code here, to runrepeatedly:

  digitalWrite(ledPin, HIGH);    //输出高电平,led灯亮

  delay(1000);                            //延时1s

  digitalWrite(ledPin, LOW);    //输出低电平,led灯灭

  delay(1000);                            //延时1s

}

编辑完程序后,按图2中菜单下面的“√”按钮即可启动编译,若有错误会在下面的窗口给出提示;如果正确就可以继续按后面的“→”按钮将程序下载到Arduino单板并开始运行。例如上面的程序将控制板上自带的led以2s的频率亮灭变化。

另外,为便于对编程不了解的人使用,还可以安装Ardublock工具,该工具提供控件拖放来实现程序逻辑,后台自动生成代码,不需要手工敲代码,例如上面的代码段用Ardublock可以表示为图3的逻辑。不过个人还是觉得,对于稍有编程基础的人来说,还是直接写代码更加方便一些。

图3 用Ardublock来完成控制led灯闪烁的功能

ArduinoUno是最基本的开发板,对于更加复杂的应用,Arduino还有多种硬件可供选择。Arduino开发套件配合面包板及各种元器件,提供了一种快速开发硬件原型的平台和手段,是当前学习电子制作,进行硬件原型开发的优秀平台。淘宝上有众多Arduino开发套件出售,可根据自己的需求酌情选购。

【参考资料】

1.      Arduino - Home,提供单板信息,Arduino软件,编程文档等下载;

2.      http://blog.ardublock.com/,Ardublock官方网站;

要在Arduino Uno开发ESP01S,你需要将它连接到Uno上,并使用适当的库和引脚配置来进行通信。以下是一些基本步骤: 1. 连接ESP01S到Arduino Uno: - 将ESP01S的VCC引脚连接到Arduino Uno的5V引脚。 - 将ESP01S的GND引脚连接到Arduino Uno的GND引脚。 - 将ESP01S的RX引脚连接到Arduino Uno的TX引脚。 - 将ESP01S的TX引脚连接到Arduino Uno的RX引脚。 - 将ESP01S的CH_PD引脚连接到Arduino Uno的5V引脚。 - 将ESP01S的GPIO0引脚连接到Arduino Uno的GND引脚。这将使ESP01S进入上传模式。 2. 使用Arduino IDE进行编程: - 在Arduino IDE中选择正确的开发板Arduino Uno)和端口。 - 编写程序来与ESP01S进行通信,例如通过串口或软串口进行AT指令传输。你可以使用SoftwareSerial库来模拟额外的串口引脚。 - 在程序中,你可以使用AT指令控制ESP01S,例如设置Wi-Fi连接、发送HTTP请求等。 3. 上传程序: - 将ESP01S切换到上传模式(将GPIO0引脚连接到GND)。 - 在Arduino IDE中点击上传按钮,将程序上传到Arduino Uno。 4. 调试和测试: - 断开ESP01S的GPIO0引脚与GND引脚的连接,使其退出上传模式。 - 打开串口监视器,查看ESP01S返回的AT指令响应和其他输出。 - 根据你的需求,进一步开发程序,控制ESP01S进行Wi-Fi连接、发送HTTP请求、接收和处理数据等。 请注意,这只是一个基本的介绍,实际操作中可能会涉及到更多的细节和调试。你可能还需要安装ESP8266库来支持ESP01S的开发。确保你已经安装了正确的库和驱动程序,并参考ESP01S的文档和规格表来了解更多关于引脚配置和AT指令的详细信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值