要生成随机数,可以使用Arduino随机数函数。我们有两个函数:
randomSeed(seed)函数重置Arduino的伪随机数生成器。虽然random()返回的数字的分布本质上是随机的,但是顺序是可预测的。你应该将发生器重置为某个随机值。如果你有一个未连接的模拟引脚,它可能会从周围环境中拾取随机噪音。这些可能是无线电波,宇宙射线,手机的电磁干扰,荧光灯等,也可以获取当前的毫秒值做为种子数据。
randomSeed(analogRead(5)); // 使用模拟引脚的噪音值
randomSeed(millis()); // 使用系统毫秒值
random函数生成伪随机数。以下是语法。
long random(max); // 生成一个不大于max的正整数,即范围0-max(不含max)。
long random(min, max); // 生成一个介于min和max的整数,即范围min-max(不含max)
long randNumber;
void setup() {
Serial.begin(9600);
// 使用0引脚的噪音数据作为随机数种子
randomSeed(analogRead(0));
}
void loop() {
// print a random number from 0 to 299
Serial.print("random1=");
randNumber = random(300);
Serial.println(randNumber);
Serial.print("random2=");
randNumber = random(100, 1000);// 100-999 的3位随机数字。
Serial.println(randNumber);
delay(50);
}
欧姆定律是指在同一电路中,通过某段导体的电流跟这段导体两端的电压成正比,跟这段导体的电阻成反比。该定律是由德国物理学家乔治·西蒙·欧姆1826年4月发表的《金属导电定律的测定》论文提出的。
ESP32系列(包括ESP32-S3)搭载Xtensa双核处理器,默认情况下Arduino框架仅使用单核运行用户代码,通过多核编程,可以充分利用硬件资源来提升系统响应和性能。
在本文中,先解释 MSB(最高有效位)和 LSB(最低有效位)的概念,以及 MSBFIRST 和 LSBFIRST。然后展示了 MSBFIRST 和 LSBFIRST 的使用如何影响移位寄存器的输出。
TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制其转速与方向,输入电压在3V~12V,因此在集成化、小型化的电机控制系统中,它可以作为理想的电机驱动器件。
Arduino-ESP32项目提供的Preferences库是一个专为ESP32设计的非易失性存储解决方案,它替代了传统的Arduino EEPROM库,提供了更强大、更可靠的数据存储功能。
在Arduino中,通过串行端口接收数字通常涉及使用Serial.read()、Serial.readString()、Serial.parseInt()等方法。
本文收集整理在Arduino环境下字符串的相关用法,供参考。
本文主要介绍8×8 共阳极LED点阵显示实验,分别是:介绍74HC595点阵模块、点阵显示指定行列LED、点阵显示汉字。
日常生活中我们会接触到各式各样的遥控器,电视机、空调、机顶盒等都有专用的遥控器,很多智能手机也在软硬件上对红外遥控做了支持,可以集中遥控绝大部分家用电器。本篇介绍红外遥控相关原理及应用,通过红外遥控器控制 Uno 板载 LED 灯。