กลับไปหน้ารวมไฟล์
toggle-an-led-with-the-reset-button-for-quick-use-cases-f73bd2.md

เรื่องราวเบื้องหลัง

มันมีปัญหากวนใจมากตอนที่พี่ทดสอบ LED ที่ต่อกับ [Arduino](https://s.shopee.co.th/7fUgFAWSki) เพื่อดูไฟเลี้ยง ถ้าพี่อยากจะเปิดหรือปิด LED นี่ต้องไปงัดกับสายไฟที่ หลุดจากขา อยู่เรื่อย ทางเดียวที่จะควบคุมได้ก็ต้องเปิด Serial Monitor บนคอม ซึ่งมันก็ไม่สะดวกเลย พี่ก็อยากใช้ปุ่มกดเพื่อสลับสถานะ LED แต่นั่นแหละ...ตอนนั้นไม่มีปุ่มกดเลยสักปุ่ม

แต่จริงๆ แล้วพี่มีปุ่มนี่! เพราะปุ่ม RESET บนบอร์ดมันก็คือปุ่มกดนั่นเอง ใช้ได้เลย!

วงจร

สิ่งที่ต้องใช้มีแค่ LED, ตัวต้านทาน (ถ้าจำเป็น) และ Arduino เท่านั้นเอง

แผนภาพวงจร

โค้ด

พอต่อวงจรเสร็จ ก็เริ่มเขียนโปรแกรมได้เลย:

#include 
#define LED_PIN 13 // เปลี่ยนเป็นขาที่ต่อ LED นะ
#define EEPROM_ADDRESS 0
void setup(){
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
if (EEPROM.read(EEPROM_ADDRESS) == 0){
EEPROM.put(EEPROM_ADDRESS, 1);
digitalWrite(LED_PIN, HIGH);
Serial.println("LED ON");
} else {
EEPROM.put(EEPROM_ADDRESS, 0);
digitalWrite(LED_PIN, LOW);
Serial.println("LED OFF");
}
}
void loop(){}

โค้ดอ่านแล้วเข้าใจได้ไม่ยาก มันใช้ EEPROM ที่มีอยู่แล้วในตัวเพื่อเก็บค่าสถานะไว้ แม้จะกด Reset หรือปิดไฟก็ยังไม่หาย

วิธีใช้

ถ้าอยากเปิดหรือปิด LED ก็แค่กดปุ่ม RESET บนบอร์ดเลย

ระวังหน่อยนะ น้อง LED อาจจะติดขึ้นมางั้นๆ ได้ถ้าวงจรเกิดช็อต

พี่แนะนำให้ต่อ LED กับขาอื่นที่ไม่ใช่ขา 13 นะ จะได้ไม่กระพริบตอน Reset:

#define LED_PIN 12 // เปลี่ยนเป็นขาที่ต่อ LED นะ 

ข้อมูล Frontmatter ดั้งเดิม

title: "Toggle an LED with the RESET button for quick use cases"
description: "Ever need to turn an LED on and off but have only an Arduino? Look no further"
author: "tinkerer9"
category: ""
tags:
  - "useful"
  - "eeprom"
views: 895
likes: 0
price: 1499
difficulty: "Easy"
components:
  - "1x LED (generic)"
  - "1x Arduino UNO"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles: []
documentationLinks: []
passwordHash: "45b992fd6632cfea2c5208ebf7a9c8915160acc0cd3c58d209435b75a4d53930"
encryptedPayload: "U2FsdGVkX19b8oMmZsWlwYrhW4bWcaudqlU2MQRhmDQuGeCDiSDfK+2e7iE4LkYeBaK0aWY7H66dDlQDq6RoQxw5fz/WgkkCR07cm+WDlO0="
seoDescription: "Learn how to toggle an LED using the Arduino RESET button for simple and quick use cases."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/toggle-an-led-with-the-reset-button-for-quick-use-cases-f73bd2_cover.jpg"
lang: "th"