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; ... 阅读更多