如何用按鈕來控制LED燈
上次寫了一個關于最基礎的LED燈的教程,因為在生活中 , 我們常常用到按鈕 。今天 , 所以,我將教大家來做一個很簡單的通過按鈕來控制LED燈的開關
按鈕模塊
首先就是接線,這個接線是輸出傳感器是輸入,所以說就要接數字端(這就考慮到一個好的判斷方法 , 模擬引腳是輸入設備——例如:聲音傳感器 , 顯示屏,火焰傳感器;數字引腳是輸出設備——例如:LED燈,超聲波,風扇模塊 。
那么我們就要接線了,首先找到按鈕模塊,接線到數字端 , 同時要注意你插的是幾號 。像我就插到了1號(習慣而已 , 不需要太注重);然后再插上LED燈,LED燈就需要在數字引腳接了 。
同樣選擇我們的arduinouno主控板,在拓展里面
然后我們就開始編程 。
然后我們就開始判斷
當按鈕等于1這個值時
LED燈就亮
當按鈕等于0這個值時
否則就滅
(這就用到了如果否則語句)
最后點擊選擇主板,最后上傳查看效果即可 。
Arduino按鈕控制風扇變檔使用按鍵(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 > 2.Digital > Button
就可以找到 。
樹莓派按鍵控制led燈python上一次學習了用樹莓派控制一個led燈 。
那么如何用按鍵來控制led燈呢?
就是說有一個按鍵,我們按下的時候led燈亮起,再按一次led燈關閉
如此往復呢?
首先我們在13號引腳那里連接一個上拉電阻 , 然后再連接開關,如下圖 。
在這種情況下 , 我們用11號引腳控制led燈 。
程序如下 。
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.OUT)
GPIO.setup(13,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
led=True
while True:
while (GPIO.input(13)==GPIO.HIGH):
pass
else:
led= not led
pass
if led:
GPIO.output(11,GPIO.HIGH)
pass
else:
GPIO.output(11,GPIO.LOW)
pass
pass
在這里可以看到 。但是程序不是很健壯 , 原因是我們沒有消抖 。
當我們按下的一瞬間,可能程序已經重復執行了好多遍 。
因此 , 現在想辦法消抖 。
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(11,GPIO.OUT)
GPIO.setup(13,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
led=True
while True:
while(GPIO.input(13)==GPIO.HIGH):
pass
else:
time.sleep(0.1)
if(GPIO.input(13)==GPIO.LOW):
led=not led
pass
pass
if led:
GPIO.output(11,GPIO.HIGH)
time.sleep(0.1)
pass
else:
GPIO.output(11,GPIO.LOW)
time.sleep(0.1)
pass
pass
這樣就非常準了
【如何用按鈕來控制LED燈,Arduino按鈕控制風扇變檔】以上就是關于如何用按鈕來控制LED燈,Arduino按鈕控制風扇變檔的全部內容,以及如何用按鈕來控制LED燈的相關內容,希望能夠幫到您 。
- 如何淘寶陰影
- 如何在電腦上電影和電視
- 如何通過支付寶繳養老保險費
- 如何預覽景深
- ppt如何才可以全屏顯示
- 錦緞被面如何舊物利用
- 自愧不如元輔是什么意思,自愧不如是什么意思解釋
- 抖音里的文案如何復制粘貼,抖音怎么才可以復制鏈接到微信里面
- qq群聊天如何只看一個人的消息
- 如何快速打開某個文件夾,如何用快捷鍵快速打開文件夾
