arduino 学习笔记及课件01基础入门

本文是arduino学习笔记的第一部分,主要介绍了arduino的基础知识,包括引脚模式(INPUT, OUTPUT, INPUT_PULLUP)及其信号,变量类型(int, byte, char, long)和程序结构(setup(), loop()),还讲解了基础案例如数字输入输出、模拟输出(PWM)以及常用语法如for, while, if和switch语句。" 80636443,7466511,Linux内核中断控制器驱动解析,"['Linux内核', '驱动开发', '嵌入式硬件', '中断处理']
摘要由CSDN通过智能技术生成

arduino 学习笔记及课件01基础入门

logo
以下学习笔记中图片部分由太极创客视频截图所得

概论在这里插入图片描述

一、 引脚及信号

1.1引脚模式

INPUT:当Arduino没有使用上拉电阻或下拉电阻而直接与开放的开关相连)。在开关未闭合时,该Arduino引脚处于不确定状态。为了获得准确的开关信号,须使用上拉电阻或下拉电阻。一般可以选用10K欧姆的电阻。
OUTPUT:Arduino引脚不能直接接地或直接与Arduino+5V/+3.3V引脚相连,否则可能损坏Arduino控制器。Arduino需要配合使用上拉电阻或者下拉电阻方能进行上述操作。(如果被驱动的电机需要超过40mA的电流,Arduino将需要三极管或其它辅助元件来驱动他们。)
INPUT_PULLUP:Arduino 微控制器自带内部上拉电阻,接地时引脚为低电平,否则为高电平。

1.2 信号

输入、输出、数字、模拟,两两组合。其中输入一个参数,引脚号。输出两个参数,引脚、输出值。其中
模拟输入:analogRead( pin ) 范围:0-1023
模拟输入:analogWrite( pin,value ) 范围 :0-255
数字输入:digitalRead( pin )
数字输出:digitalWrite( pin , status )

二、变量及程序结构

2.1变量

int : 整数是基本数据类型。整数数据类型占用2字节16位。整数的范围为-32,768到32,767( -2^15 ~(2^15)-1)。
byte:byte类型变量可存储8位无符号数,其存储数值范围是 0 – 255。
char:char数据类型使用1个字节的内存来存储单个字符值。字符以ASCII编码的形式存储。字符应写在单引号中,如: ‘A’。
long:长整数型变量是扩展的数字存储变量,它可以存储32位(4字节)大小的变量,数值从-2,147,483,648到2,147,483,647。

2.2程序结构

set up() 执行一次
loop()循环执行

三 、基础案例程序

3.1数字输出

点亮电路板上自带的led灯

void setup() {
   
  // initialize digital pin LED_BUILTIN as an output.
  // 初始化LED_BUILTIN数字引脚为输出模式
  pinMode(LED_BUILTIN, OUTPUT);
}
// loop 函数永远会反复的运行
void loop() {
   
  digitalWrite(LED_BUILTIN, HIGH);   // 点亮LED(高电平)turn the LED on (HIGH is the voltage level)
  delay(1000);                       // 等待1秒 wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // 将电平设置为低来熄灭LED turn the LED off by making the voltage LOW
  delay(1000);                       // 等待1秒 wait for a second
}

3.2数字输入

硬件:开关
按键开关原理
硬件连接上拉电阻
按键按下:2号引脚读取到低电平
按键松开:2号引脚读取到高电平
按键实验电路连接
在这里插入图片描述

//引脚2连接有按键开关,给它一个名字:
int pushButton = 2;
 // the setup routine runs once when you press reset:
//当你按下复位按钮后,setup流程运行一次:
void setup() {
   
  // initialize serial communication at 9600 bits per second:
  //串口通讯初始化,每秒9600位
  Serial.begin(9600);
  // make the pushbutton's pin an input:
  //设置按键引脚为输入
  pinMode(pushButton, INPUT);
}
 
// the loop routine runs over and over again forever:
// loop 流程会永远的反复运行
void loop() {
   
  // read the input pin:
  //读取输入引脚:
  int buttonState = digitalRead(pushButton);
  // print out the state of the button:
  // 显示按键状态
  Serial.println(buttonState);
  delay(1);        // delay in between reads for stability 为确保程序稳定运行进行短暂停止
}

3.3 模拟输出

PWM原理、

以点亮led为例,在一个周期类,高电平所占的比例为led电压的比例,模拟输出255值对于引脚5V电压
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

硬件连接:
在这里插入图片描述

在这里插入图片描述

boolean pushButton1;   // 创建布尔型变量用来存储按键开关1的电平状态
boolean pushButton2;   // 创建布尔型变量用来存储按键开关2的电平状态
int ledPin = 9;        //LED引脚号
int brightness = 128;  //LED亮度参数

void setup() {
   
  // put your setup code here, to run once:
  pinMode(2, INPUT_PULLUP); //将引脚2设置为输入上拉模式
  pinMode(8, INPUT_PULLUP); //将引脚8设置为输入上拉模式<
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Arduino教程从基础到进阶的33堂课/ ├── 基礎教程 │   ├── 第10课 超声波测距模块的使用 │   ├── 第11课 中断程序介绍 │   ├── 第12课 霍尔模块、外部中断与millis()计时 │   ├── 第13课 旋转编码器与外部中断的效率 │   ├── 第14课 内部中断简介和库函数使用 │   ├── 第15课 端口内部的上拉功能 │   ├── 第16课 增强供电稳定性 多传感器并行运作 │   ├── 第17课 各版本 Arduino 开发板介绍 │   ├── 第18课 DIY Arduino 系统 │   ├── 第1课 初识 Arduino 与 点亮板载 LED │   ├── 第2课 让多个 LED 闪烁 │   ├── 第3课 按钮开关控制电器 │   ├── 第4课 PWM 控制 LED 亮度 │   ├── 第5课 电位器连续调节LED亮度与ADC简介 │   ├── 第6课 温控风扇与 PWM 的频率问题 │   ├── 第7课 测量电压与 ADC 精度 │   ├── 第8课 LM35温度计、参考电压与提高精度 │   └── 第9课 DHT11 温湿度计与模块库使用 ├── 進階教程 │   ├── 第19课 串口通信简介与PC控制LED开关 │   ├── 第20课 DS1302时钟模块与外部定时器 │   ├── 第21课 软件串口与蓝牙通信 │   ├── 第22课 EEPROM 读写、清零与串口数据流 │   ├── 第23课 两根数据线实现无限连接 初识 I2C │   ├── 第24课 I2C 连接 1602 LCD 液晶模组 │   ├── 第25课 I2C 连接 12864 OLED 屏幕 │   ├── 第26课 I2C 多设备连接 LM75 温度计与 BH1750 光度计 │   ├── 第27课 DS1307 时间模块与方波输出 │   ├── 第28课 ADS1115 16bit 高精度ADC │   ├── 第29课 找不到设备?试试 I2C 扫描程序 │   ├── 第30课 初识 SPI 与数字电位器 MCP41xxx │   ├── 第31课 ENC28J60联网 Ping通你的Arduino │   ├── 第32课 ENC28J60联网 读取服务器信息 │   └── 第33课 ENC28J60联网 Web 服务器 └── 魔法書 ├── 魔法书1:利用底层代码释放Arduino空间 ├── 魔法书2:测试Arduino 执行速度极限 ├── 魔法书3:让 Arduino 慢下来 20倍省电 └── 魔法书4:Arduino UNO 内部定时器之谜
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值