arduino怎么用按钮控制小灯

arduino怎么用按钮控制小灯,第1张

使用按键(PUSHBUTTON)控制LED灯号的开关,当按键被按下时打开LED灯号,按键放开时关闭LED灯号。

材料

Arduino的主板×1

LED×1

按钮或开关开关×1

10K电阻×1

面包板×1

单心线X N

接线

把LED接到PIN13,长脚(阳极)接到PIN13,短脚(阴极)接到GND;

按钮一支脚接到+5 V;

PIN2接到按钮的另一支脚,同一支脚位接一个10K的电阻连到GND;

源码如下:

const int buttonPin = 2;     // the number of the pushbutton pin

const int ledPin =  13;      // the number of the LED pin

// variables will change:

int buttonState = 0;         // variable for reading the pushbutton status

void setup() {

// initialize the LED pin as an output:

pinMode(ledPin, OUTPUT);

// initialize the pushbutton pin as an input:

pinMode(buttonPin, INPUT);

}

void loop(){

// read the state of the pushbutton value:

buttonState = digitalRead(buttonPin);

// check if the pushbutton is pressed

// if it is, the buttonState is HIGH:

if (buttonState == HIGH) {

// turn LED on:

digitalWrite(ledPin, HIGH);

}

else {

// turn LED off:

digitalWrite(ledPin, LOW);

}

说明:

L01〜L02:定义按键与LED的脚位,按键接在PIN2码,而LED接在PIN13;

L16:读取按键的状态并保存到buttonState变数里;

L20〜L26:这支程式的目的是按下按键时要打开LED灯号,放开按键时要关闭的LED灯号,因此,假如buttonState为高,代表按键状态是按下(压制)的,此时要打开LED,反之,假如buttonState为低,代表按键状态是放开的,此时要关闭LED。

注:这支是Arduino的内建的程序,点选

File > Examples > 2Digital > Button

就可以找到。

int num=10;//定义LED闪烁次数

void setup() {

pinMode(LED_BUILTIN, OUTPUT);

Serialbegin(9600);

}

void loop() {

Led_Blink();//LED闪烁子程序

Serialprintln(num);//串口输出监视num的数值

}

void Led_Blink()//LED闪烁子程序

{

if(num>0)

{

num--;

digitalWrite(LED_BUILTIN, HIGH);

delay(300);

digitalWrite(LED_BUILTIN, LOW);

delay(300);

}

else

{

digitalWrite(LED_BUILTIN, LOW);

}

}

#include <MsTimer2h>

// 定义LED的引脚

#define LED_PIN_A 1

#define LED_PIN_B 2

// 时间定义宏

#define TM_MS(n) (n)

static uint16_t timerCntA;

static uint16_t timerCntB;

void TimerCbk (void);

void setup()

{

    pinMode(LED_PIN_A , OUTPUT);

    pinMode(LED_PIN_B , OUTPUT);

    // 设置为每1ms调用一次TimerCbk函数。

    MsTimer2::set(1, TimerCbk);

    MsTimer2::start();

}

void loop()

{

    if (timerCntA >= TM_MS(1000))

    {

        digitalWrite(LED_PIN_A, !digitalRead(LED_PIN_A));

        timerCntA = 0;

    }

    if (timerCntB >= TM_MS(3000))

    {

        digitalWrite(LED_PIN_B, !digitalRead(LED_PIN_B));

        timerCntB = 0;

    }

}

void TimerCbk (void)

{

    (timerCntA < UINT16_MAX)  (timerCntA++) : (timerCntA = 0);

    (timerCntB < UINT16_MAX)  (timerCntB++) : (timerCntB = 0);

}

位于loop

int vol= analogRead(A0);

vol = map(sensorValue, 0, 1023, 0, 5);

if (vol==1)

以上就是关于arduino怎么用按钮控制小灯全部的内容,包括:arduino怎么用按钮控制小灯、arduino 怎么让灯闪烁之后停下、arduino编程单片机 控制让两盏led灯各自闪烁,一盏灯亮1秒然后灭1秒,并保持此频率闪烁。另等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9603408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存