518 次浏览
为了使用Arduino点亮LED,我们首先需要进行硬件连接。选择开发板中支持数字输出的引脚。我们使用Arduino Uno开发板,并选择7号引脚。电路图如下所示:-正如你所看到的,电阻的一端连接到Arduino Uno的7号引脚。电阻的另一端连接到LED的长脚(正极)。LED的短脚连接到GND。电阻值可以选择100欧姆左右。我们将选择……阅读更多
3K+ 次浏览
默认情况下,Arduino中的analogRead使用10位分辨率(不同开发板可能不同)。但是,有时您可能不需要这么高的分辨率。通常,人们希望将分辨率设置为8位,以节省存储空间。这是因为8位值只需要一个字节的存储空间,而高于8位的则需要两个字节的存储空间。幸运的是,Arduino有一个内置函数可以更改模数转换的分辨率。该函数是analogReadResolution(),它接收以位为单位的分辨率作为参数。因此,如果您希望设置8位……阅读更多
302 次浏览
将模拟值转换为数字值是微控制器的一般常见需求,Arduino也不例外。Arduino IDE有一个内置的analogRead函数,用于促进模拟值到数字值的转换。从编程的角度来看,您唯一需要知道的是微控制器中支持ADC的引脚。在Arduino UNO开发板上,A0到A5引脚支持ADC。现在,让我们假设您已将A0引脚连接到模拟线(可能是LDR和电阻之间的连接,或电位器的中心引脚)。打印模拟值的Arduino基本代码如下所示……阅读更多
765 次浏览
为了访问Arduino开发板中的任何引脚,您可以简单地将引脚号作为整数引用。在像Uno这样的Arduino开发板上,所有I/O引脚都标有标签,代码中可以使用相同的标签。因此,以下两个表达式都是有效的:int pin1 = A0; int pin2 = 7;一旦定义了引脚号,根据您的用例,您可能需要将引脚设置为输入引脚或输出引脚。这通常在setup函数中完成(因为它是一个……阅读更多
1K+ 次浏览
在Arduino中使用第三方库的常用方法是从工具->库管理器中安装它们。我们已经有一篇单独的文章来介绍这一点。但是,如果您使用的库在工具->库管理器中找不到怎么办?毕竟,库管理器只包含Arduino库管理器中存在的那些库:http://downloads.arduino.cc/libraries/library_index.json那么,我们如何使用Arduino库管理器中没有的库呢?让我们用一个例子来理解。考虑TinyGPSPlus库(https://github.com/mikalhart/TinyGPSPlus),截至2021年3月17日,它在Arduino的库管理器门户中不可用。为了使用这个……阅读更多
什么是中断?顾名思义,中断是中断正常代码流程的例程。中断例程包含一段代码,当发生事件时,开发板上的微控制器应该执行该代码。以空调为例。假设它具有以下温度控制设置:当温度达到18摄氏度时关闭冷却。现在,将有一个温度传感器不断测量温度。每当它报告温度为18摄氏度时,AC微控制器上运行的正常代码就会中断,它会执行关闭冷却的代码,然后正常代码……阅读更多
8K+ 次浏览
在每种语言中,通常第一个Hello World项目是一个简单的程序,它打印“Hello World”!我们将看看Arduino的此类代码是什么样的。以下代码将在每次开发板通电时在屏幕上打印“Hello World”。示例void setup() { Serial.begin(9600); Serial.print("Hello World!"); } void loop() { }然而,这并不是Arduino的Hello World项目的最佳选择。我们主要使用Arduino进行固件编程(通俗地说,固件是任何芯片内部的永久软件)。现在,固件的一个特性是重复执行任务。那个……阅读更多
7K+ 次浏览
Arduino中的for和while循环遵循C语言语法。for循环的语法如下:语法for(迭代器初始化;停止条件;增量指令){ //执行某些操作 }示例for(int i = 0; i< 50; i++){ //执行某些操作 }类似地,while循环的语法如下:语法while(条件){ //执行某些操作 }示例int i = 0 while(i < 50){ //执行某些操作 i = i+1; }以下示例将演示for和while循环在Arduino程序中的工作原理。示例void setup() { Serial.begin(9600); } void loop() { // 在此处编写主代码,重复运行: int i ...阅读更多
252 次浏览
Arduino代码具有非常简单的结构。如果您在Arduino IDE中打开一个新项目,您将看到为您准备的以下模板:示例void setup() { // 在此处编写设置代码,运行一次: } void loop() { // 在此处编写主代码,重复运行: }此处的注释解释得很好。setup函数包含将执行一次的代码。此函数在开发板重新启动时首先执行。loop函数包含将重复运行的代码。换句话说,如果您在loop中编写5行代码,……阅读更多
433 次浏览
如果您熟悉C语言,并希望在Arduino打印语句中使用C语言提供的格式化选项,那么有一个简单的方法。您只需定义一个字符数组,并使用sprintf()填充它。在sprintf中,您可以使用C语言格式化。稍后,您可以简单地打印出该缓冲区。以下示例代码演示了如何操作:示例char print_buf[100]; void setup() { Serial.begin(9600); } void loop() { //在此处添加您的主要代码,使其重复运行: for(int i = 0; ... 阅读更多