Arduino是一款基于一些简单易用的软件和硬件开发而来的开源电子器械平台。说起Arduino,有一些人很可能会听说过Arduino的微控制器,或Arduino电路板,及可以对这个电路板进行编程的Arduino IDE。Arduino板可以读取一些外界信号,比如通过传感器来探测光源,或是通过按钮来输入信息,并将其转换为输出,比如激活LED灯,或是连接到云端。而Arduino IDE则是通过将Arduino板简单的连接到电脑上来对其进行控制及编程的软件。
Arduino由意大利的Ivrea Interaction Design Institute设计。其设计的初衷是为了让没有编程以及电子电路方面背景的学生,来通过快速原型的设计理念完成对产品的开发。但随着Arduino越做越大,其产品的受众群体也逐渐扩大,现如今,从学生,到业余爱好者,乃至于专业人士都开始使用Arduino。 虽然市面上有许多不同的微控制器系统,但相比起许多其他系统,对于一些入门级的用户来说,Arduino有很多优势,例如: - 价格便宜,许多Arduino板的价格不会超过50美金 - 可跨平台,Arduino IDE支持在Windows系统,MacOS系统,及Linux系统上使用,而许多其他平台只支持Windows系统 - 使用便利,Arduino IDE使用起来十分简单,对新手十分友好。 作为一个简单的示范,我们可以通过Tinkercad模拟软件来建造一个简易的Arduino电路。 这个电路会将Arduino如下图所示,连接到一个电位器上。
电位器可以通过转动上面的旋钮来改变它的电阻,进而,我们可以通过调整它的电阻,来改变它所消耗的电压。
这个电路的工作原理是通过将电位器的A和C端分别连接到一个5V的电压,以及接地引脚上,并将其输出电压的B端连接到Arduino板的A0接口上。 这时,我们可以在Arduino IDE里编入以下代码: - void setup() {
- // initialize serial communication at 9600 bits per second:
- Serial.begin(9600);
- }
- // the loop routine runs over and over agAIn forever:
- void loop() {
- // read the input on analog pin 0:
- float sensorValue = analogRead(A0);
- // convert ADC value to voltage
- float Vin = 5 * sensorValue / 1023;
- // print out the value you read:
- Serial.println(Vin);
- delay(1); // delay in between reads for stability
- }
复制代码Serial.begin(9600); 指示电路板与电脑之间开始9600比特每秒的串行通信 float sensorValue = analogRead(A0); 指示Arduino板从A0接口读取信号,并将其储存于名为sensorValue的浮点数内 float Vin = 5 * sensorValue / 1023; 由于Arduino板读取的电压数据已经被一个模数转换器储存为一个0至1023间的数字,所以我们需要进行一个数学运算才可以将其变回电压 Serial.println(Vin); 指示Arduino把读取的电压数值打印在串口监视器 通过调整电位器的电阻,我们可以看见其输出的电压是在改变的。
至此,我们可以通过Arduino来检测一个电位器所输出的电压,并对Arduino板的功能以及工作方式有了一个十分基础的了解。如果小伙伴们感兴趣的话,今后我们会进一步讲解Arduino的用途以及功能。
|