当前位置: 首页 > news >正文

Arduino+esp32学习笔记

学习目标:

  • 使用Arduino配置好蓝牙或者wifi模块
  • 学习使用python配置好蓝牙或者wifi模块

学习内容(笔记):

一、 Arduino语法基础


Arduino语法是基于C++的语法,C++又是c基础上增加了面向对象思想等进阶语言。那就只记录没见过的。

  • 单多行注释 // 和 /**/
  • 变量(数字,字符串,布尔,对象)
  • 条件语句 if-else,switch
  • 循环语句 for while
  • 单多维数组 int arr[5]={1,2,3,4,5};
  • 函数 void
    在这里插入图片描述

01、pinMode:设置引脚的输入输出状态

pinMode(pin,Mode):
参数:
Pin:引脚号;
Mode:INPUT、OUTPUT

02、digitalWrite:设置输出引脚的高低电平状态

digitalWrite(pin,value)
参数:
Pin:引脚号 ;
value:HIGH LOW

03、digitalRead:读取引脚的状态,并返回HIGH 或LOW

int digitalRead(pin)
参数:
Pin:引脚号
返回值:
int:1/0

04、analogRead:读出模拟引脚上的电压,并以二进制数值返回(0-1023)对应为0~5v

int analogRead(pin)
参数:
Pin:引脚号
返回值:
二进制数值返回(0-1023)对应为0~5v

05、analogWrite:给PWM引脚输出电压值

analogWrite(pin,value)
参数:
pin:引脚号 ;
value:具体的pwm值,(0~255对应表示一个周期的高电平占空比)

06、shiftOut:将一个字节的数据通过移位的方式逐位的输出

shiftOut(dataPin,clockPin,bitOrder,value)
参数:
dataPin:数据引脚
clockPin:时钟引脚
bitOrder:移位顺序(MSBFIRST-高;LSBFIRST-低)
value:需要进行移位传输的值
说明:
在输出数据时,当一位数据写入数据输出引脚时,时钟引脚将输出脉冲信号,指示该位数据已被写入数据输出引脚等待外设读取。并且在使用本函数之前datapin和clockpin引脚应该设置为输出状态。本函数一次只能输出一个字节的内容,也就是说最大一次只能输出255,如果大于255,就要多次调用这个函数。

07、mills:回传单片机从开始执行到现在目前的时间(单位:ms)

unsigned long mills()
返回值:
unsigned long 单位:ms

08、delay:占用单片机的时间(即延时,单位:ms)

delay(number)
参数:
number:其代表占用单片机的时间长度

09、delay Microseconds:占用单片机的时间(单位:us)

delay Microseconds( number)
参数:
number:其代表占用单片机的时间

10、pulseIn:读取脉冲宽度。 从脉冲状态为state开始,到脉冲状态为~state为止。当然是由时间限制的

pulseIn(pin,state,timeout)
参数:
pin:模拟引脚号
state:读取脉冲的类型(高或者低)
timeout:等待脉冲读取完成的最长时间,如果参数中没有这一个,那么默认就是1min

11、map() 将数字从一个范围重新映射到另一个范围。

函数原型:
map(value, fromLow, fromHigh, toLow, toHigh)
value:要映射的数
fromLow:当前值范围的下限
fromHigh:当前值范围的下限
toLow:目标值范围的下限
toHigh:目标值范围的上限
返回值:映射后的值
eg: (读取IO0的模拟电压(01023),并将其设置到IO9(0255)(其实也就是PWM))
int val = analogRead(0);
val = map(val, 0, 1023, 0, 255);
analogWrite(9, val);

12、串口相关

设置串口波特率:
Serial.begin(9600);

读取某IO口参数:
int buttonState = digitalRead(pushButton);

读取A0脚输入值大小(0-5V对应0~1023):
int sensorValue = analogRead(A0);

串口显示器输出:
Serial.println()

产生pwm信号:
analogWrite(pin, val)//val 是 0~255 的整数值,对应电压从 0 到+5V

二、 面包板和杜邦线(了解)


面包板用来快速搭接电路的工具;
优点:提高实验效率,减少实验故障发生率。
在这里插入图片描述
在这里插入图片描述

杜邦线用来连接元件,分为母母线,公母线,公公线(我目前没遇到过要使用公线的情况,所以买了一些母母线连接)

三、点亮LED测试板子


bug:
上传失败: 未提供上传端口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
拿捏,粉色运行灯,蓝色是D2引脚的LED,板子上只有一个区,所以在代码中直接写整型即可。

//定义LED引脚
int LED_PIN=2;
void setup() {// 开发板通电或者复位后执行,通常用来初始化,只运行一次// 设定引脚为输出模式pinMode(LED_PIN,OUTPUT);// 点亮LEDdigitalWrite(LED_PIN,HIGH);}void loop() {// put your main code here, to run repeatedly://一个死循环,不断的重复运行
}

在这里插入图片描述在这里插入图片描述

相关文章:

Arduino+esp32学习笔记

学习目标: 使用Arduino配置好蓝牙或者wifi模块 学习使用python配置好蓝牙或者wifi模块 学习内容(笔记): 一、 Arduino语法基础 Arduino语法是基于C的语法,C又是c基础上增加了面向对象思想等进阶语言。那就只记录没见过的。 单多…...

计算机网络-专业术语

计算机网络-专业术语 实体 实体:任何可发送或接收信息的硬件或软件进程 对等实体:收发双方相同层次中的实体 协议 控制两个对等实体进行逻辑通信的规则的集合 协议三要素 语法 定义所交换的信息的格式 是用户数据与控制信息的结构和格式 语义 定义收发双方所需要完成的操作…...

E. Maximum Monogonosity

You are given an array aa of length nn and an array bb of length nn. The cost of a segment [l,r][l,r], 1≤l≤r≤n1≤l≤r≤n, is defined as |bl−ar||br−al||bl−ar||br−al|. Recall that two segments [l1,r1][l1,r1], 1≤l1≤r1≤n1≤l1≤r1≤n, and [l2,r2][l2,…...

已解决Excel file format cannot be determined, you must specify an engine manually

问题 我使用以下语句时出现错误 data pd.read_excel(temp_inputc.csv, headerNone)出现错误: Excel file format cannot be determined, you must specify an engine manually有很多人说添加engine,但接下来会出现这个错误: File is not…...

Centos yum命令大全

1.使用YUM查找软件包 $ yum search python 2.列出所有可安装的软件包 $ yum list | grep python 3.列出所有可更新的软件包 $ yum list updates 4.列出所有已安装的软件包 $ yum list installed | grep python...

内网横向移动—ARP攻击图片捕捉数据劫持DNS劫持

内网横向移动—ARP攻击&图片捕捉&数据劫持&DNS劫持 1. ARP1.1. APR介绍1.1.1. ARP工作原理1.1.2. APR欺骗工作原理 1.2. 环境准备1.3. 适用场景 2. ARP断网攻击演示2.1. 使用kali进行演示2.1.1. nmap判断存活2.1.2. 安装工具2.1.3. 攻击Windows 10虚拟机2.1.3.1. 查…...

react之Hooks的介绍、useState与useEffect副作用的使用

react之Hooks的介绍、useState与useEffect副作用的使用 一、Hooks的基本介绍二、useState的使用2.1 简单使用2.2 数组结构简化2.3 状态的读取和修改2.3 组件的更新过程 三、useEffect的使用3.1 副作用介绍3.2 基本使用3.3 依赖3.4 不要对依赖项撒谎3.5 依赖项可以是空数组3.6 清…...

django——创建 Django 项目和 APP

2.创建 Django 项目和 APP 命令: 创建Django项目 django-admin startproject name 创建子应用 python manager.py startapp name 2.1 创建工程 在使用Flask框架时,项目工程目录的组织与创建是需要我们自己手动创建完成的。 在django中,…...

== 和 equals 的对比 [面试题]

和 equals 的对比[面试题] 文章目录 和 equals 的对比[面试题]1. 和 equals 简介2. Object 类中 equals() 源码3. String 类中 equals() 源码4. Integer 类中 equals() 源码5. 如何重写 equals 方法 1. 和 equals 简介 是一个比较运算符 :既可以判断基本数据类型…...

SpringBoot集成Redis及Redis使用方法

目录 应用背景 Redis简介 更新问题 一:环境配置 1.1: 在pom.xml文件中添加依赖 1.2:配置SpringBoot核心配置文件application.properties 二:在Config文件夹中创建RedisConfig配置文件类 2.1:RedisTemplate中的几个角色&am…...

Redis可以用作数据库吗?它的适用场景是什么?

是的,Redis可以用作数据库。虽然Redis通常被认为是一个内存数据库(in-memory database),但它也可以通过持久化机制将数据保存在磁盘上,以便在重启后恢复数据。 Redis的适用场景包括但不限于以下几个方面: …...

@Param详解

文章目录 背景什么是ParamParam的使用方法使用方法:遇到的问题及因Param解决了什么问题使用与不使用对比 Param是如何进行映射的总结 背景 最近在开发过程中,在写mapper接口是在参数前加了Param注解,但是在运行的时候就会报错,说…...

自定义分页工具类

前言 在日常的开发工作中&#xff0c;会遇到很多不确定的需求场景&#xff0c;无法使用第三方提供的分页组件来实现&#xff0c;那么如何自己实现一个简单的分页工具类呢&#xff1f; 工具类 第一版本&#xff1a; Setter Getter public class PageTool<T> {/*** 当前…...

文本数据保存

文本数据保存 工具目的代码运行结果 工具 pycharm 目的 网址:https://ljgk.envsc.cn/ 需求&#xff1a;获取到地址&#xff08;address&#xff09;&#xff0c;公司名字&#xff08;ps_name&#xff09;&#xff0c;创建的时间&#xff08;create_time&#xff09;&#xff…...

Python爬虫:抓取表情包的下载链接

Python爬虫:抓取表情包的下载链接 1. 前言2. 具体实现3. 实现代码 1. 前言 最近发现了一个提供表情包的网址&#xff0c;觉得上面的内容不错&#xff0c;于是就考虑用Python爬虫获取上面表情包的下载链接。整体而言&#xff0c;实现这个挺简单的&#xff0c;就是找到提供表情包…...

(文章复现)基于灰狼算法(GWO)的交直流混合微网经济调度matlab代码

参考文献&#xff1a; [1]高瑜,黄森,陈刘鑫等.基于改进灰狼算法的并网交流微电网经济优化调度[J].科学技术与工程, 2020,20(28):11605-11611. [2]邓长征,冯朕,邱立等.基于混沌灰狼算法的交直流混合微网经济调度[J].电测与仪表, 2020, 57(04):99-107. 这两篇文章不管是从模型、…...

【Kubernetes】Kubernetes的调度

K8S调度 一、Kubernetes 调度1. Pod 调度介绍2. Pod 启动创建过程3. Kubernetes 的调度过程3.1 调度需要考虑的问题3.2 具体调度过程 二、影响kubernetes调度的因素1. nodeName2. nodeSelector3. 亲和性3.1 三种亲和性的区别3.2 键值运算关系3.3 节点亲和性3.4 Pod 亲和性3.5 P…...

题目:2511.最多可以摧毁的敌人城堡数量

​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;2511. 最多可以摧毁的敌人城堡数目 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 顺序遍历数组&#xff0c;记录上一个我军城堡和没有城堡的位置。当碰到空位置时&#xff0c;若上一次更新的…...

22 | 书籍推荐数据分析

import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.cluster import KMeans from sklearn import neighbors from sklearn.model_selection import train_test_split from sklearn.preprocessing import...

vscode extension 怎么区分dev prod

开发模式注入环境变量 使用vsode 提供的api...

职业院校智慧校园采购怎样才算明智?聊聊性价比与易用性的那些事

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

工业视觉踩坑实录(十):拼出来的图变形了,尺寸测量全废——高精度拼接测量的那些坑

工业视觉踩坑实录&#xff08;十&#xff09;&#xff1a;拼出来的图变形了&#xff0c;尺寸测量全废——高精度拼接测量的那些坑 摘要&#xff1a;一个10厘米的圆形金属零件&#xff0c;要测它的半径、直径、同心度&#xff0c;精度要求极高。听起来很简单是吧&#xff1f;放个…...

更高层次的语言都是建立在C语言的基础之上吗?

更高层次的语言都是建立在C语言的基础之上吗&#xff1f;更高层次的语言的标准库(基础库)都是建立在C语言的标准库(基础库)基础之上吗 注意&#xff0c;问题有两个部分&#xff1a; 一是语言本身是否建立在C基础上&#xff0c; 二是标准库是否建立在C标准库基础上。 需要区分&a…...

2026届必备的六大AI辅助论文网站实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 内容创作领域里&#xff0c;降低人工智能生成痕迹成了重要课题。所谓“降AI”&#xff0c;是…...

告别手动抢票烦恼:用Python自动化脚本轻松获取大麦网演出门票

告别手动抢票烦恼&#xff1a;用Python自动化脚本轻松获取大麦网演出门票 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 还在为心仪演出门票秒光而烦恼吗&#xff1f;每次抢票时&#xff0c;紧张…...

LeetCode HOT 100 —— 矩阵置零(多种解法详解)

题目描述 LeetCode 73. 矩阵置零 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; text 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,…...

SAP接口集成-PO/PI-SLD配置实战:从系统格局到集成目录

1. 理解SAP接口集成与PO/PI的核心组件 第一次接触SAP接口集成的开发者&#xff0c;往往会被PO/PI、SLD、ESR这些缩写搞得晕头转向。其实简单来说&#xff0c;这就是一套SAP用来连接不同系统的"桥梁工具"。想象一下你负责的电商平台需要实时获取SAP系统中的库存数据&a…...

终极指南:如何使用Locale Remulator彻底解决游戏乱码问题

终极指南&#xff1a;如何使用Locale Remulator彻底解决游戏乱码问题 【免费下载链接】Locale_Remulator System Region and Language Simulator. 项目地址: https://gitcode.com/gh_mirrors/lo/Locale_Remulator 你是否遇到过运行日文游戏时文字显示为乱码方块&#xf…...

3步搞定缠论分析:ChanlunX插件让技术分析变简单

3步搞定缠论分析&#xff1a;ChanlunX插件让技术分析变简单 【免费下载链接】ChanlunX 缠中说禅炒股缠论可视化插件 项目地址: https://gitcode.com/gh_mirrors/ch/ChanlunX 还在为复杂的缠论理论头疼吗&#xff1f;ChanlunX缠论可视化插件将复杂的缠论分析变得直观易懂…...

从二维照片到三维世界:MicMac摄影测量软件完全指南

从二维照片到三维世界&#xff1a;MicMac摄影测量软件完全指南 【免费下载链接】micmac Free open-source photogrammetry software tools 项目地址: https://gitcode.com/gh_mirrors/mi/micmac 你是否曾想过&#xff0c;如何将普通的二维照片转化为精确的三维模型&…...