欢迎光临散文网 会员登陆 & 注册

【太极创客】零基础入门学用Arduino 第一部分 合辑

2023-06-13 23:22 作者:为了青春  | 我要投稿

1、arduino官方硬件。


2、核实芯片的型号

3、3部分端口

数字信号只有两种状态,0,1。

数字输入/输出的端口0、1比较特殊,一般最后再使用。也就是当没有别的端口可以使用的时候,再考虑使用端口0和端口1。


//单行注释

/*

*/

之间为多行注释。


语句结尾用分号,即;


变颜色的词为关键词,如int ,HIGH,LOW等,有特殊的含义和功能,不能随便使用。


void setup() {

}

及 void loop() {

}

为函数。setup及loop为函数名称。


1-5 Arduino程序 - 变量 P6 - 06:20



  • 变量名不能有空格,不能带#,不能用数字开头,不能使用关键字,如HIG H。
  • 若变量由两个单词组成,单词之间可以使用下划线连接,方便理解和阅读。
  • 若整数型变量未被赋值,arduino会默认该变量的值为0.
  • 定义变量时可以同时赋值,如下所示。
  1. p7 程序结构
  • 通电后,setup函数只运行一次,loop函数则会反复运行。


1-6 Arduino程序 - 程序结构 P7 - 15:59


  • 定义 delayTime变量,并赋值3000,在下段代码中,则delay3秒。
  • 练习:在loop函数中,增加delayTime 的数值变化,实现led灯亮灭随时间延长而变化。


1-7 Arduino程序 - 变量操作 P8 - 07:36


  • 定义数据类型,如int时,其实目的是告诉arduino要给这个变量预留多大的空间。根据变量可能到的最大值,来选择合适的定义。
  • 变量定义要考虑作用域,分全局变量和局部变量。

2.p8

  • delay是arduino里的函数,函数的使用有一定的规则,且有返回值。所有函数可以在arduino官网或者太极创客的网站查询。

3.p9


1-9 Arduino程序 - 程序函数2 P10 - 07:14


  • LED_BUILTIN 即引脚13。

如:pinMode (LED_BULITIN, OUTPUT);

等同于pinMode(13, OUTPUT);

使用LED_BUILTIN而不用引脚编号13是为了方便程序在不同的开发板之间直接使用。


1-10 数字输出1 - 学用LED P11 - 01:52


电流特性:电流约20毫安。

电压特性:约2伏特的电压降。

计算机电路模拟软件fritzing,如下图:

附:Virtual_Breadboard或者proteus或者tinkercad或者wokwi也可以模拟。

程序编辑可以使用,vscode的arduino扩展。

电阻的计算,如下:



1-13 数字输入1 - 按键开关 P14 - 02:05




开关信号,即数字信号。


1-13 数字输入1 - 按键开关 P14 - 09:49



开关未被按下时,引脚2为高电平。如下图:

开关被按下时,引脚2为低电平,如下图。




1-13 数字输入1 - 按键开关 P14 - 14:57


电阻r1=10kΩ为上拉电阻。如下:


1-13 数字输入1 - 按键开关 P14 - 17:33


引脚悬空时, 此时引脚处于随机的状态,可能是高电平,也可能是低电平,随时变化。



1-14 数字输入2 - 按键开关控制电路与程序 P15 - 05:50


串口通讯可以帮助我们监控变量的变化,通过串口通讯让arduino将变量发送到电脑屏幕上,从而实现变量的监控。

Serial.begin

其中Serial为库,begin为库函数。

库由arduino帮我们建立的。

通过语句

int buttonState = digitalRead(pushButton);

可以看出,HIGH 和 LOW可以存入int变量中。


1-14 数字输入2 - 按键开关控制电路与程序 P15 - 16:27


loop()函数结尾可以加个delay(1);保证程序运行的正确。


1-15 逻辑控制1 P16 - 11:12


待办:验证inputpullupSerial 程序。


1-16 逻辑控制2 P17 - 04:12


定义一个布尔类型的数据,并赋值后,除了0以外,其他数据都会被当成1。

bool 和 boolean都可以用作定义。

使用布尔变量作为判断条件时,可以不用比较符,如==,如下所示:

在输入上拉模式下,按下按键,引脚为低电平,不按按键,引脚为高电平。如下图。


1-16 逻辑控制2 P17 - 11:21


! ,||, && 布尔运算的三个运算符。


1-19 MC猜数字 - 1 电路搭建 P20 - 01:19


1位8段共阴极LED数码管


1-20 MC猜数字 - 2 LED数码管 P21 - 01:13


注意while 和 do while 的区别:

以下为while:

以下为do while:

和while循环不同,do while 循环体至少会执行一次。


1-22 MC猜数字 - 4 switch case语句 P23 - 07:43



1-22 MC猜数字 - 4 switch case语句 P23 - 13:14





1-23 MC猜数字 - 5 自定义函数 P24 - 02:32



1-23 MC猜数字 - 5 自定义函数 P24 - 08:30




1-23 MC猜数字 - 5 自定义函数 P24 - 12:36




1-24 MC猜数字 - 6 完成制作 P25 - 07:06


Serial.println("");能输出空白行。

即,Serial.print("");打印后不换行,Serial.println("")打印后换行。



1-24 MC猜数字 - 6 完成制作 P25 - 10:14


因为arduino IDE 没有设置断点功能,所以可以使用串口监视器来实现监控程序运行状态。


int i;即使后面没写i = 0,i也是0 ,因为int 类型默认值就是0。


1-24 MC猜数字 - 6 完成制作 P25 - 15:40


这个我简单说一下,randow的随机数和“种子“有关,有一个函数可以设定种子的数,你不设定种子不变,所以这叫伪随机。

如何破除这种伪随机呢,需要下面一段函数代码:


1-24 MC猜数字 - 6 完成制作 P25 - 19:54


下面这种myNumber变量只能在if语句中使用,运行后系统就会报错,如下所示:

修改为以下即可;



1-25 模拟输出1 - analogWrite P26 - 06:12




1-25 模拟输出1 - analogWrite P26 - 17:19



在调用analogWrite()函数前,可不使用pinMode()函数来设置该引脚。


1-26 模拟输出2 - PWM P27 - 01:39


用到analogWrite()的即pwm.



1-27 模拟输出3 - for P28 - 03:05




1-28 模拟输入1 - 学用电位器 P29 - 01:37


电位器常用于分压电路中,如下所示:

通过调节旋钮,2号引脚的电压会从0-5v之间变化。若1接地,3接5v,则左旋调小,右旋调大。与收音机的使用习惯保持一致,音量旋钮右转增大音量。

但若1接5v,3接地,则左旋调大,右旋调小。

10位即2的10次方即1024。


1-30 模拟输入3 - 电位器控制LED亮度 P31 - 03:22


map等比映射.










【太极创客】零基础入门学用Arduino 第一部分 合辑的评论 (共 条)

分享到微博请遵守国家法律