无题
初识cmakeCMakeLists.txt的最小组成12345678cmake_minimum_required(VERSION 3.15)# set the project nameproject(test)# add the executableadd_executable(test main.c)
cmake_minimum_required 指定使用 CMake 的最低版本号,project 指定项目名称,add_executable 用来生成可执行文件,需要指定生成可执行文件的名称和相关源文件。
注意,此示例在 CMakeLists.txt 文件中使用小写命令。CMake 支持大写、小写和混合大小写命令。
Arduino开发实例433M无线模块数据发送与接收
Arduino开发实例-433M无线模块数据发送与接收433M无线模块数据发送与接收435m无线模块广泛地运用在车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输等领域中。
下面将通过433M无线模块实现数据的送与接收。
1、硬件准备
433M无线发送模块一个、接收模块一个
Arduino UNO R3开发板两个及两根数据线
杜绑若干
笔记本电脑一台
2、软件准备
Arduino IDE
Arduion 433M/315M无线数据收发库:RadioHead
3、发送模块硬件接线及代码实现
1234567891011121314151617181920#include <RH_ASK.h>#include <SPI.h> // Not actually used but needed to compileRH_ ...
ESP32Arduino开发实例WiFi事件处理
ESP32-Arduino-开发实例-WiFi事件处理WiFi事件处理NodeMCU-32S 最强的ESP32 开发板非盗版或副厂的CH340 WiFi 蓝牙ESP-32 可用Arduino IDE
ESP32-S 是一款通用型WiFi-BT-BLE MCU模组,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和MP3解码等。
此款模组的核心是ESP32芯片,具有可扩展、自适应的特点。两个CPU核可以被单独控制或上电。时钟频率的调节范围为80 MHz到240 MHz。用户可以切断CPU的电源,利用低功耗协处理器来不断地监测外设的状态变化或某些模拟量是否超出阈值。ESP32还集成了丰富的外设,包括电容式触摸传感器、霍尔传感器、低噪声传感放大器,SD卡介面、以太网接口、高速SDIO/SPI、UART、I2S 和I2C 等。下面将详细讲解使用Arduino IDE开发ESP32的环境搭建。
通过前面的实例:
NodeMCU-ESP32开发实例-连接WiFi
NodeMCU-ESP32开发实例-ESP32的WiFi工作模式
NodeMCU-ESP32开发 ...
ESP32Arduino网络开发实例WiFi连接设置静态IP
ESP32-Arduino-网络开发实例-WiFi连接设置静态IPWiFi连接设置静态IPESP32-S 是一款通用型WiFi-BT-BLE MCU模组,功能强大,用途广泛,可以用于低功耗传感器网络和要求极高的任务,例如语音编码、音频流和MP3解码等。
此款模组的核心是ESP32芯片,具有可扩展、自适应的特点。两个CPU核可以被单独控制或上电。时钟频率的调节范围为80 MHz到240 MHz。用户可以切断CPU的电源,利用低功耗协处理器来不断地监测外设的状态变化或某些模拟量是否超出阈值。ESP32还集成了丰富的外设,包括电容式触摸传感器、霍尔传感器、低噪声传感放大器,SD卡介面、以太网接口、高速SDIO/SPI、UART、I2S 和I2C 等。下面将详细讲解使用Arduino IDE开发ESP32的环境搭建。
本文将介绍如何为ESP32板设置静态/固定IP地址。 如果使用ESP32来运行网络服务器或Wi-Fi客户端,并且每次您重新启动开发板时,它都有一个新的IP地址。
1、准备硬件
NodeMCU-ESP32s开发板一块
数据线一条
笔记本电脑一台
假设已经通过路由器搭 ...
Arduino开发实例Lora 数据发送与接收
Arduino开发实例-Lora 数据发送与接收Lora 数据发送与接收预计到2025年,我们将有250亿台设备连接到互联网。 相当于今天的地球人口多三倍。 随着物联网和工业4.0的概念,互联车辆和智能城市的迅速普及,这种情况最有可能发生。 我们已经有少数无线协议,如BLE、Wi-Fi、蜂窝等,但是这些技术对于IoT传感器节点而言并不理想,因为它们需要在不消耗大量电能的情况下将信息长距离传输。 这导致了LoRa技术的兴起,该技术可以以低功耗执行超远距离传输。
1、什么是LoraLoRa 的名字是远距离无线电(Long Range Radio), 它是由Semtech公司引入的一种无线射频技术。LoRa技术可用于将双向信息传输到长距离而不会消耗很多功率。 利用这个特性,传感器只需使用小电池就可以传输其数据。
通常,Lora可以达到15-20km的距离,并且可以使用电池工作数年。 请记住,LoRa,LoRaWAN和LPWAN是三种不同的术语,不应相互混淆。
LoRa 主要在全球免费频段运行(即非授权频段),包括 433、868、915 MHz 等。LoRa 网络构架由终端节点、网关、网 ...
Arduino开发实例两个Arduino之间I2C通信
Arduino开发实例-两个Arduino之间I2C通信两个Arduino之间I2C通信有时,需要多个Arduino开发板协调工作,扩展I/O,因此多个开发板之间就需要相互通信。 Inter-Integrated Circuit简称I2C是其中一种解决方案。
I2C协议通常用于在相机和任何嵌入式电子系统中的主板上的组件之间进行通信。
在这里,我们将使用两个Arduino制作I2C总线。 我们将对一个主Arduino进行编程,以命令另一个从Arduino使其内置的LED闪烁一次或两次,具体取决于接收的值。
1、硬件准备
Arduino UNO R3开发板两个及两根数据线
杜绑若干
笔记本电脑一台
2、硬件连接
Arudino 连接电脑
两个Arduino的I2C连接如下:
2、软件准备
Arduino IDE
3、代码实现I2C主机代码
123456789101112131415161718192021#include <Wire.h>#define CMD_LED_ON 1#define CMD_LED_OFF 0void setup() &# ...
Ardunio开发实例两个Arduino之间SPI通信
Ardunio开发实例-两个Arduino之间SPI通信两个Arduino之间SPI通信1、SPI通信协议简述SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。
SPI通信协议使用SCK,MOSI,MISO和SS等四条线路。 SPI总线可以有一个主设备和多个从设备。 主设备是微控制器,而从设备可以是微控制器,ADC,DAC等。在这里对SPI通信协议不做详细描述,在后期的文章中做专门描述。
一个典型的SPI总线配置如下图所示:
SCK = Serial Clock:时钟信号,由主设备产生。该线路用于时钟脉冲,以同步来自主设备的数据传输。
MOSI = Master Out Slave In :主设备数据输出,从设备数据输入。该线路用于将数据从主设备发送到从设备。
MISO = Master In Slave Out :主设备数据输入,从设备数据输出。该线路用于将数据从从设备发送到主设备。
SS = Slave Se ...
ESP32Arduino开发实例与Arduino之间SPI通信
ESP32-Arduino开发实例-与Arduino之间SPI通信NodeMCU-ESP32与Arduino之间SPI通信SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。
SPI通信协议使用SCK,MOSI,MISO和SS等四条线路。 SPI总线可以有一个主设备和多个从设备。 主设备是微控制器,而从设备可以是微控制器,ADC,DAC等。在这里对SPI通信协议不做详细描述,在后期的文章中做专门描述。
在前面Ardunio开发实例-两个Arduino之间SPI通信的实例中对SPI已经做了描述,在这里就不再做详细描述了。
本次实例将实现NodeMCU-ESP32与Arduino之间SPI通信,其中NodeMCU-ESP32作为主机,Arduino作为从机。
1、硬件准备
Arduino UNO 开发板一块
杜邦线若干、数据线一条
数据线两条
NodeMCU-ESP32-S(38引脚版本)开发板一块
Arduino UNO R3开发板一块
本次使用NodeM ...
Arduino与Proteus仿真实例点亮LED仿真
Arduino与Proteus仿真实例-点亮LED仿真点亮一个LED仿真Arduino 是一个基于易于使用的硬件和软件的开源电子平台。 Arduino 由一个物理可编程电路板(通常称为微控制器)和一个在您的计算机上运行的软件或 IDE(集成开发环境)组成,用于编写和上传计算机代码到物理板。
Arduino 平台在刚开始接触电子产品的人们中变得非常流行,这是有充分理由的。 与大多数以前的可编程电路板不同,Arduino 不需要单独的硬件(称为编程器)来将新代码加载到板上——您只需使用 USB 电缆即可。 此外,Arduino IDE 使用简化版的 C++,更易于学习编程。 最后,Arduino 提供了一个标准的外形,将微控制器的功能分解成一个更易于访问的包。
多年来,Arduino 一直是数千个项目的大脑,从日常物品到复杂的科学仪器。一个由学生、业余爱好者、艺术家、程序员和专业人士组成的全球创客社区聚集在这个开源平台周围,他们的贡献积累了大量可访问的知识,对新手和专家都有很大帮助。 Arduino 诞生于 Ivrea 交互设计学院,是一种用于快速原型制作的简单工具,面向没有电子和编程 ...
Arduino与Proteus仿真实例按键与中断仿真
Arduino与Proteus仿真实例-按键与中断仿真按键与中断仿真1、Arduino的中断介绍常见的中断类型有两种:
硬件中断:它发生在外部事件发生时,例如外部中断引脚将其状态从低电平变为高电平或从高电平变为低电平。
软件中断:它根据软件的说明发生。 例如定时器中断是软件中断。
Arduino支持两种中断类型:
外部中断:这些中断由硬件解释并且非常快。 这些中断可以设置为在 RISING 或 FALLING 或低电平事件时触发。如下表所示,不同版本的Arduino支持的外部中断如下:
Arduino Board
External Interrupt pins:
UNO , NANO
2,3
Mega
2,3,18,19,20,21
引脚变化中断:Arduinos 可以通过使用引脚更改中断来启用更多中断引脚。 在基于 ATmega168/328 的 Arduino 板中,任何引脚或所有 20 个信号引脚都可以用作中断引脚。 它们也可以使用上升沿或下降沿触发。
2、仿真电路原理图
3、代码实现为了在 Arduino 中使用中断,需要了解以下概 ...
