[Diao Ye 프로그래밍 배우기] Arduino 실습(54)---빅 버튼 마이크로 버튼 모듈 2

여기에 이미지 설명 삽입

37개의 센서와 모듈에 대한 언급이 인터넷에 널리 퍼졌고 실제로 Arduino와 호환되는 센서 모듈은 37개 이상이어야 합니다. 지식의 개념에 따라 (실습해야 함) 학습과 의사 소통을 위해 일부 센서 및 액추에이터 모듈을 손에 축적했다는 사실을 고려하여 여기에 더 많은 노력을 기울일 것입니다. 하나씩 실험 성공 여부에 관계없이 기록됩니다 —— 작은 진전이나 해결할 수없는 문제, 벽돌을 던지고 옥에 불을 붙일 수 있기를 바랍니다.

[아두이노] 168종의 센서 모듈 시리즈 실험(데이터 코드 + 시뮬레이션 프로그래밍 + 그래픽 프로그래밍)
실험 54: 아두이노 라즈베리 파이와 호환되는 버튼 모듈 전자 빌딩 블록 라이트 터치 스위치 빅 버튼 마이크로 버튼

여기에 이미지 설명 삽입

키 스위치 모듈 실험 하드웨어 장비
Arduino Uno MCU 개발 보드 X1
키 스위치 모듈 X1
듀폰 라인 X3

여기에 이미지 설명 삽입

지식 포인트: Arduino
Arduino는 편리하고 유연하며 사용하기 쉬운 오픈 소스 전자 프로토타이핑 플랫폼입니다. 하드웨어(Arduino 보드의 다양한 모델) 및 소프트웨어(Arduino IDE)가 포함되어 있습니다. 2005년 겨울에 유럽 개발 팀에서 개발했습니다. 오픈 소스 코드 단순 I/O 인터페이스 버전을 기반으로 하며 Java 및 C 언어와 유사한 Processing/Wiring 개발 환경을 갖추고 있습니다. 하드웨어 부분은 회로 연결에 사용할 수 있는 Arduino 회로 기판이고 다른 하나는 컴퓨터의 프로그램 개발 환경인 Arduino IDE입니다. IDE에서 프로그램 코드를 작성하기만 하면 Arduino 회로 기판에 프로그램을 업로드한 후 프로그램이 Arduino 회로 기판에 무엇을 해야 하는지 알려줍니다.

Arduino는 다양한 센서와 피드백을 통해 환경을 인식하고 조명, 모터 및 기타 장치를 제어하여 환경에 영향을 줄 수 있습니다. 보드의 마이크로컨트롤러는 Arduino 프로그래밍 언어를 통해 프로그램을 작성하고 바이너리 파일로 컴파일하고 마이크로컨트롤러에 구울 수 있습니다. Arduino의 프로그래밍은 Arduino 프로그래밍 언어(Wiring 기반)와 Arduino 개발 환경(Processing 기반)을 통해 구현됩니다. 아두이노 기반 프로젝트는 아두이노 또는 아두이노와 PC에서 실행되는 다른 소프트웨어만 포함할 수 있으며 이들 사이에서 통신(예: Flash, Processing, MaxMSP)을 달성할 수 있습니다.

아두이노 IDE는 프로세싱 IDE를 기반으로 개발되었습니다. 초보자에게는 마스터하기가 매우 쉽고 동시에 충분한 유연성이 있습니다. 아두이노 언어는 배선 언어를 기반으로 개발된 avr-gcc 라이브러리의 보조 패키지로 싱글 칩 마이크로컴퓨터와 프로그래밍의 기초가 많이 필요하지 않으며 간단한 학습 후 빠르게 개발할 수도 있습니다. 아두이노의 하드웨어 개략도, 회로도, IDE 소프트웨어, 코어 라이브러리 파일은 모두 오픈 소스이며, 원래의 설계와 해당 코드는 오픈 소스 계약의 범위 내에서 임의로 수정할 수 있습니다.

Arduino는 세계에서 가장 인기 있는 오픈 소스 하드웨어일 뿐만 아니라 뛰어난 하드웨어 개발 플랫폼이자 하드웨어 개발 추세입니다. Arduino의 간단한 개발 방법은 개발자가 창의성과 실현에 더 많은 관심을 기울이고 자신의 프로젝트 개발을 더 빨리 완료하여 학습 비용을 크게 절감하고 개발 주기를 단축합니다. Arduino의 다양한 장점으로 인해 점점 더 많은 전문 하드웨어 개발자가 Arduino를 사용하여 프로젝트 및 제품을 개발하고 있으며 점점 더 많은 소프트웨어 개발자가 Arduino를 사용하여 하드웨어 및 사물 인터넷 개발 분야, 대학 프로젝트, 자동화, 소프트웨어, 미술 전공자도 Arduino와 관련된 과정을 시작했습니다.

키 스위치 모듈 실험의 목적
1. 아두이노로 구축한 전자 실험 플랫폼 숙지
2. 키 스위치 응용의 일반적인 인간-컴퓨터 상호 작용 방법 숙달
3. 아두이노 IDE 시리얼을 통한 키 모듈의 상태 관찰 방법 익히기 포트
4. 독립 키 이해 액추에이터의 제어 원리는 액추에이터의 LED 조명을 켜고 끄는 키 스위치 모듈로 제어할 수 있습니다 5. 코드
프로그래밍, 시뮬레이션 프로그래밍 및 그래픽 프로그래밍의 세 가지 방법은 각각 협력합니다. 서로를 확인하고 이해를 깊게 합니다.

지식 포인트: 실험은
과학 연구의 기본 방법 중 하나를 말합니다. 과학 연구의 목적에 따라 가능한 한 외부 영향을 배제하고 주요 요인을 강조하고 일부 특수 도구 및 장비를 사용하여 연구 대상을 인위적으로 변경, 제어 또는 시뮬레이션하여 특정 사물(또는 프로세스)이 발생하거나 재생산되도록 합니다. 제거하기 위해 자연 현상, 자연 속성 및 자연 법칙을 이해하십시오.

프로그래밍(프로그래밍)
은 컴퓨터(단일 칩 마이크로컴퓨터)가 특정 문제를 해결하고 특정 계산 시스템에 대해 특정 계산 방법을 지정하고 계산 방법에 따라 계산 시스템을 실행하도록 하는 프로그래밍의 중국어 약어입니다. 마지막으로 해당 결과를 얻습니다. 컴퓨터(단일칩 마이크로컴퓨터)가 인간의 의도를 이해하기 위해서는 인간이 컴퓨터(단일칩 마이크로컴퓨터)에게 해결하고자 하는 문제의 아이디어, 방법, 수단을 컴퓨터(단일칩 마이크로컴퓨터)가 이해하는 형태로 말해야 한다. 마이크로 컴퓨터)는 이해할 수 있으므로 컴퓨터(단일 칩 마이크로 컴퓨터)는 인간의 의도를 기반으로 할 수 있습니다. 특정 작업을 완료하기 위해 단계별로 작동하도록 지시합니다. 인간과 컴퓨팅 시스템 간의 이러한 의사 소통 과정이 프로그래밍입니다. 프로그래밍: 논리적 흐름으로 "제어 가능한 시스템"을 설계합니다.

참고: 프로그래밍은 반드시 컴퓨터(단일 칩 마이크로컴퓨터) 프로그램을 위한 것은 아니지만 논리적 컴퓨팅 성능을 갖춘 시스템의 경우 프로그래밍으로 간주할 수 있습니다.

키 스위치 모듈에 대한 몇 가지 작은 실험
관련 실험 배선의 시각적 개략도(키 모듈은 키와 풀 저항으로 구성됨)

여기에 이미지 설명 삽입
관련 실험 배선의 전기 회로도

여기에 이미지 설명 삽입
프로그램 1: 직렬 포트 실험 참조 오픈 소스 코드(Arduino)를 통해 키 스위치 모듈의 키 출력 값 읽기
:

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  程序一:通过串口读取按键开关模块的按键输出值
  使用模块:下拉电阻按键开关模块
  实验接线:按键开关接D2
*/

const int switchPin = 2;  // 按键开关连接引脚2

void setup() {
    
    
  pinMode(switchPin, INPUT);  // 设置引脚2为输入模式
  Serial.begin(9600); // 设置串口波特率为9600
}

void loop() {
    
    
  int switchValue = 0; //定义变量并赋初值为0
  switchValue = digitalRead(switchPin);  //读取引脚2的值
  Serial.print(" Value of switch = ");  //输出到串口监视器
  Serial.println(switchValue); //将读取的按键值输出到串口监视器
  delay(100);
}

지식 포인트: 직렬 인터페이스(Serial Interface)
직렬 인터페이스는 직렬 통신 인터페이스 또는 직렬 통신 인터페이스(일반적으로 COM 인터페이스라고도 함)라고도 하는 줄여서 직렬 포트라고 하며 직렬 통신을 사용하는 확장된 인터페이스입니다. 직렬 인터페이스는 비트 단위로 데이터를 순차적으로 전송하는 것을 말합니다. 그 특성은 한 쌍의 전송선이 양방향 통신을 실현할 수 있는 한 통신선이 단순하다는 것입니다(전화선을 전송선으로 직접 사용할 수 있음). 따라서 비용을 크게 절감하며 특히 장거리에 적합합니다. 통신하지만 전송 속도는 상대적으로 느립니다. 메시지의 각 비트의 데이터를 비트 단위로 순차적으로 전송하는 통신 방식을 직렬 통신이라고 합니다. 직렬 통신의 특징은 데이터 비트의 전송이 비트 순서로 이루어지고 적어도 하나의 전송 라인을 완료할 수 있으며 비용은 저렴하지만 전송 속도가 느리다는 것입니다. 직렬 통신의 거리는 수 미터에서 수 킬로미터까지 가능하며 정보의 전송 방향에 따라 직렬 통신은 단방향, 반이중 및 전이중의 세 가지 유형으로 더 나눌 수 있습니다.

시리얼 포트가 등장한 것은 1980년경으로 데이터 전송 속도는 115kbps~230kbps였다. 직렬 포트의 초기 단계는 컴퓨터 주변 장치를 연결하는 목적을 달성하는 것입니다.초기 직렬 포트는 일반적으로 마우스와 외부 모뎀, 구식 카메라 및 태블릿 및 기타 장비를 연결하는 데 사용됩니다. 직렬 포트는 두 컴퓨터(또는 장치) 간의 상호 연결 및 데이터 전송에도 사용할 수 있습니다. 직렬 포트(COM)가 핫 플러깅을 지원하지 않고 전송률이 낮기 때문에 일부 새로운 마더보드와 대부분의 휴대용 컴퓨터는 이 인터페이스를 취소하기 시작했습니다. 직렬 포트는 주로 산업 제어 및 측정 장비와 일부 통신 장비에 사용됩니다.

이 일련의 실험에서 언급한 직렬 통신은 일반적으로 Arduino의 USART 통신 모드를 말하며 USART도 일종의 직렬 통신으로 하드 직렬 포트와 소프트 직렬 포트의 두 가지 방식으로 구현할 수 있으며 USART는 일종의 비동기 직렬 통신.

실험적인 직렬 포트 반환

여기에 이미지 설명 삽입
실험 1에서 사용한 아두이노의 2가지 개념과 설명
1.DigitalPins <digital pins>
INPUT으로 구성된 핀들의 속성 -
아두이노(Atmega) 핀들은 기본적으로 입력으로 되어 있어서 입력으로 사용할 때 pinMode()를 사용하여 입력으로 명시적으로 선언합니다. 이러한 방식으로 구성된 핀은 높은 임피던스 상태에 있다고 합니다. 입력 핀은 핀 앞의 100메그옴 직렬 저항에 해당하는 샘플링할 회로에 대한 최소 요구 사항을 지정합니다. 즉, 입력 핀을 한 상태에서 다른 상태로 전환하는 데 매우 적은 전류가 필요하며 이러한 핀을 사용하여 정전식 터치 센서를 구현하거나 LED를 포토다이오드로 읽거나 아날로그 센서 읽기와 같은 구성 작업을 사용할 수 있습니다. 그러나 이것은 또한 pinMode(pin, INPUT)로 구성되고 어떤 핀에도 연결되지 않은 핀이나 다른 회로에 연결된 와이어가 겉보기에 무작위로 변하는 핀을 보고하고 핀에서 전기 노이즈를 가져와 근처의 상태에 영향을 미친다는 것을 의미합니다. 주변 또는 용량 결합에 의한 핀.

입력으로 구성된 핀이 있는 풀업 저항 -
입력이 없는 경우 입력 핀을 알려진 상태로 조정하는 것이 유용한 경우가 많습니다. 이것은 입력에 풀업 저항(+5V까지) 또는 풀다운 저항(접지)을 추가하여 달성할 수 있습니다. 10K 저항은 풀업 또는 풀다운 저항에 적합합니다.

INPUT_PULLUP으로 구성된 핀의 속성 -
Atmega 칩에는 소프트웨어를 통해 액세스할 수 있는 20K 풀업 저항이 내장되어 있습니다. 이러한 내장 풀업 저항은 pinMode()를 INPUT_PULLUP으로 설정하여 액세스할 수 있습니다. 이는 INPUT 모드의 동작을 효과적으로 반전합니다. 여기서 HIGH는 센서가 꺼져 있음을 의미하고 LOW는 센서가 켜져 있음을 의미합니다. 이 풀업 값은 사용된 마이크로컨트롤러에 따라 다릅니다. 이 값은 대부분의 AVR 기반 보드에서 20kΩ ~ 50kΩ 사이로 보장됩니다.

INPUT_PULLUP으로 구성된 핀에 센서를 연결할 때 다른 쪽 끝은 접지해야 합니다. 간단한 스위치의 경우 스위치가 열렸을 때 핀이 높게 읽히고 스위치를 눌렀을 때 낮게 읽힙니다. 풀업 저항은 입력으로 구성된 핀에 연결된 LED를 흐리게 하는 데 충분한 전류를 제공합니다. 프로젝트의 LED가 제대로 작동하는 것처럼 보이지만 매우 희미한 경우 이러한 현상이 발생했을 가능성이 큽니다.

풀업 저항은 핀이 높은지 낮은지를 제어하는 ​​동일한 레지스터(내부 칩 메모리 위치)에 의해 제어됩니다. 따라서 입력이 INPUT일 때 핀이 풀업을 갖도록 구성되어 있으면 이후에 pinMode()를 통해 OUTPUT으로 전환되면 해당 핀이 HIGH로 구성됩니다. 이것은 다른 방향으로도 작동합니다. 하이 상태의 출력 핀은 pinMode()를 사용하여 입력으로 전환되면 풀업 저항을 설정합니다.
Arduino 1.0.1 이전에는 다음을 통해 내부 풀업을 구성할 수 있었습니다.

pinMode(pin, INPUT);   // set pin to inputdigitalWrite(pin, HIGH);  // 开启上拉电阻

참고: 디지털 핀 13은 다른 디지털 핀보다 디지털 입력으로 사용하기가 더 어렵습니다. 대부분의 보드에서 보드에 납땜된 LED와 저항이 연결되어 있기 때문입니다. 내부 20k 풀업 저항을 활성화하면 온보드 LED와 직렬 저항이 전압 레벨을 낮추어 항상 LOW를 반환하기 때문에 예상되는 5V 대신 약 1.7V에서 중단됩니다. 핀 13을 디지털 입력으로 사용해야 하는 경우 pinMode()를 INPUT으로 설정하고 외부 풀다운 저항을 사용하십시오.

OUTPUT으로 구성된 핀의 속성 -
pinMode()를 통해 OUTPUT으로 구성된 핀은 낮은 임피던스 상태에 있다고 합니다. 이는 다른 회로에 많은 전류를 공급할 수 있음을 의미합니다. Atmega 핀은 다른 장치/회로에 최대 40mA(milliamps)까지 소싱(양 전류 소싱) 또는 싱크(음 전류 소싱)할 수 있습니다. 예를 들어, 이 전류는 LED를 켜거나(직렬 저항을 잊지 마십시오) 많은 센서를 작동시키기에는 충분하지만 대부분의 릴레이, 솔레노이드 또는 모터를 작동시키기에는 충분하지 않습니다.

Arduino 핀의 단락 또는 고전류 장치를 실행하려는 시도는 핀의 출력 트랜지스터를 손상 또는 파괴하거나 전체 Atmega 칩을 파괴할 수 있습니다. 일반적으로 이로 인해 마이크로컨트롤러의 "죽은" 핀이 생기지만 칩의 나머지 부분은 여전히 ​​잘 작동합니다. 따라서 특정 애플리케이션이 핀에서 최대 전류 소모를 요구하지 않는 한 출력 핀을 470Ω 또는 1k 저항이 있는 다른 장치에 연결하는 것이 가장 좋습니다.

2.serial<communication>
설명 - Arduino 개발 보드와 컴퓨터 또는 기타 장치 간의 통신에 사용됩니다. 모든 Arduino 보드에는 하나 이상의 직렬 포트(UART 또는 USART라고도 함)가 있으며 일부는 둘 이상 있습니다.

Uno, Nano, Mini 및 Mega에서 핀 0과 1은 컴퓨터와 통신하는 데 사용됩니다. 이 핀에 무엇이든 연결하면 보드에 대한 성공적인 업로드를 방해하는 것을 포함하여 해당 통신을 방해할 수 있습니다. 아두이노 환경에 내장된 시리얼 모니터를 이용하여 아두이노 보드와 통신할 수 있습니다. 도구 모음에서 직렬 모니터 버튼을 클릭하고 begin()을 호출할 때 사용된 것과 동일한 전송 속도를 선택합니다.

TX/RX 핀의 직렬 통신은 TTL 로직 레벨(보드에 따라 5V 또는 3.3V)을 사용합니다. 이 핀을 RS232 직렬 포트에 직접 연결하지 마십시오. +/- 12V에서 작동하며 Arduino 보드를 손상시킬 수 있습니다.

이러한 추가 직렬 포트를 사용하여 PC와 통신하려면 Mega에 연결된 USB 대 직렬 어댑터가 없으므로 추가 USB 대 직렬 어댑터가 필요합니다. 이를 사용하여 외부 TTL 직렬 장치와 통신하려면 TX 핀을 장치의 RX 핀에 연결하고 RX를 장치의 TX 핀에 연결하고 Mega의 접지를 장치의 접지에 연결합니다.

실험 결과:
스위치를 누르지 않으면 직렬 포트는 계속해서 스위치 값 = 0을 출력하고, 스위치를 누르면 직렬 포트는 계속해서 스위치 값 = 1을 출력하여 직렬 포트를 사용하여 모니터링하는 목적을 실현합니다. 키 스위치 모듈의 상태.

프로그램 2: 직렬 포트 단순 카운터(키 인터럽트)
실험 참조 오픈 소스 코드(Arduino):

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  程序二:串口简单计数器(按键中断)
  在循环中,我们不断检测按键是否为高电位
  如果为高电位(按键按下),则计数加1;
  反之,不做动作(继续自动计数)
  实验接线:按键开关接D2
*/

#define anjian 2         //定义按键脚
int count = 0;           //定义初始count值

void setup() {
    
    
  Serial.begin(9600);     //设置波特率
  pinMode(anjian, INPUT);    //设置按键脚为输入模式
}

void loop() {
    
    
  if (digitalRead(anjian) == HIGH) // 当检测到按键按下时
  {
    
    
    delay(2);
    count = count + 1;              //计数加1
  }
  Serial.println(count);              //打印出count值
  delay(500);                     //延时一段时间再次检测
}

실험적인 직렬 포트 반환

여기에 이미지 설명 삽입
실험 결과:
스위치를 누르지 않으면 직렬 포트 단순 카운터는 자동으로 계속 카운트하고 직렬 포트는 정수 시퀀스를 출력하고 스위치를 누르고 중단이 발생하면 직렬 포트는 계속해서 그 때의 숫자를 출력합니다. 중단되고 버튼에서 손을 떼면 카운팅이 계속됩니다.

지식 포인트: 인터럽트
인터럽트는 단일 칩 마이크로컴퓨터의 작동 중에 예기치 않은 상황이 발생하고 호스트가 개입해야 할 때 기계가 자동으로 실행 중인 프로그램을 중지하고 새로운 상황을 처리하기 위해 프로그램으로 전환할 수 있음을 의미합니다. 처리 후 원래 중단된 프로그램으로 돌아갑니다. 인터럽트의 본질은 프로세서가 외부 세계에 개방하는 실시간 제어 인터페이스입니다. 인터럽트를 사용하면 마이크로 컨트롤러가 이러한 조건이 충족되는지 자주 확인할 필요가 없으므로 작업에 집중할 수 있지만 인터럽트가 발생하면 언제든지 응답할 수 있습니다.

CPU는 큰 리더와 같아서 하위 부서가 문을 두드리지 않거나 문제를 보고하기 위해 전화를 걸지 않으면 여전히 상황을 알고 싶어합니다.잠시 후 각 부서에 하나씩 물어봐야 합니다. 무슨 일이 있어도 하나 이니셔티브는 다 있다 손에 힘이 드십니까? 채널을 열어(방해는 허용됨) 부하들에게 할 일이 있으면 언제든지 나에게 보고하라고 전하는 것이 어떻습니까? 차도 마시고 신문도 보고 별일 없으면 급한 일.

실험 2에서 사용한 아두이노 함수
If If <제어 구조>
설명 -
이 if 문은 조건을 확인하고 조건이 "true"이면 다음 문 또는 문 집합을 실행합니다.
통사론--

if (condition) {
    
    
  //声明
}

매개변수 -
조건: 부울 식(즉, 참 또는 거짓일 수 있음).
예제 코드 -
if 문을 사용하는 경우 대괄호를 생략할 수 있습니다. 이렇게 하면 다음 줄(세미콜론으로 정의됨)이 유일한 조건문이 됩니다.

if (x > 120) digitalWrite(LEDpin, HIGH);
if (x > 120)
digitalWrite(LEDpin, HIGH);
if (x > 120) {
    
    digitalWrite(LEDpin, HIGH);}
if (x > 120) {
    
    
  digitalWrite(LEDpin1, HIGH);
  digitalWrite(LEDpin2, HIGH);
}

참고 및 경고 -
괄호 안에 평가할 명령문에는 아래 표시된 연산자 중 하나 이상을 사용해야 합니다. 비교 연산자:
x == y(x는 y와 같음)
x! = y(x가 y와 같지 않음)
x < y(x가 y보다 작음)
x > y(x가 y보다 큼)
x <= y(x가 y보다 작거나 같음)
x >= y(x y보다 크거나 같음) 등의
단일 숫자(예: if (x = 10))를 사용할 때 주의하십시오. 단일 등호는 대입 연산자이며 x를 10으로 설정합니다(값 10을 변수 x에 넣음). 대신 if (x == 10) 비교 연산자 double equals(예:)를 사용하고 x가 10과 같은지 테스트합니다. 후자의 명제는 x가 10인 경우에만 참이지만 전자의 명제는 항상 참입니다.
이것은 C++가 if (x=10) 명령문을 다음과 같이 평가하기 때문입니다. 그런 다음 조건 조건이 'if'이면 0이 아닌 모든 숫자가 TRUE로 평가되므로 10 TRUE로 평가됩니다. 따라서 if(x = 10)는 항상 TRUE로 평가되며, 이는 'if' 문을 사용할 때 바람직하지 않은 결과입니다. 또한 해당 변수 x는 10으로 설정되며 이 역시 원하는 작업이 아닙니다.

프로그램 3: 키 스위치 모듈을 사용하여 온보드 LED(개발 보드의 D13 핀)를 조그합니다.
실험 원리:
LED 디스플레이는 Arduino Uno 제어 회로 보드의 핀 13에 통합되었으므로 빌드하는 데 하나의 버튼 모듈만 필요합니다. LED가 켜지도록 하는 간단한 회로(보드의 해당 L). LED는 이미 보드의 13번 핀에 연결되어 있으므로 버튼 모듈을 디지털 2번 핀에 연결하기만 하면 버튼 모듈이 감지 버튼 누름 신호를 인식하면 LED가 켜지고 그렇지 않으면 꺼집니다.

실험 참조 오픈 소스 코드(Arduino):

/*
  【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  程序三:通过按键开关模块,点动控制板载LED灯的亮灭
  使用:上拉电阻按键开关模块
  接线:按键开关接D2
*/

const int switchPin = 2;  // 按键开关连接引脚2
const int redLedPin = 13;  // 引脚13板载LED灯

void setup() {
    
    
  pinMode(switchPin, INPUT);  // 设置引脚2为输入模式
  pinMode(redLedPin, OUTPUT);  //设置引脚13为输出模式
}

void loop() {
    
    
  int switchValue = 0; //定义变量并赋初值为0
  switchValue = digitalRead(switchPin);  //读取引脚2的值
  if (switchValue == 0) {
    
       //判断键值等于0,执行下面的程序
    digitalWrite(redLedPin, HIGH); //点亮LED
  }
  else {
    
      //判断键值不为0,将执行下面的语句
    digitalWrite(redLedPin, LOW); //熄灭LED
  }
}

여기에 이미지 설명 삽입

추천

출처blog.csdn.net/weixin_41659040/article/details/132235886