สอน Arduino - Digital Input ปุ่ม Button
LOGIN   |   REGISTER    
commandronestore.com         แจ้งชำระเงิน
 
 
 
  STORE  
  PRODUCT  
  LEARNING  
  MEMBER  
  CONTACT  
    0   CART  
 
  0   ORDER
 
Untitled Document
 
เลือกหมวดหมู่สินค้า
 เครื่องกล / หุ่นยนต์
 อิเล็กทรอนิกส์ / ไฟฟ้า
 บอร์ด / คอนโทรลเลอร์
 เครื่องมือช่าง
 Package / ชุด KIT
 
   
     
 
#2
 Button Digital Input
Last Update  5 March 2016  
 
 Learning Arduino 
 
 
Button Digital Input
การนำปุ่มหรือ Switch มาใช้ควบคุมการทำงานต่างๆของวงจร เรียนรู้ละทำความเข้าใจ Digital Input
 
• Leanig Arduino คือกลุ่มบทความ (LIST) ที่ Commandrone ได้จัดทำขึ้นมา มีเนื้อหาเกี่ยวกับการใช้งานบอร์ด Arduino ในระดับพื้นฐาน ไปจนถึงระดับกลาง ประกอบด้วยบทความต่างๆดังนี้
 
0
 
Getting Started!
เริ่มต้นใช้งาน ดาวน์โหลด Software และ Setup คอมพิวเตอร์ ทำความรู้จักกับ Libraries
 
Blinking LED
เริ่มบทเรียนแรกด้วยการทำไฟกระพริบด้วย Arduino
 
Button Digital Input
นำปุ่มกดติดปล่อยดับมาใช้ควบคุมการทำงานของวงจร
 
    SPONSORs
 
 
 
 
     
0
CART
 
0
ORDER
 อุปกรณ์ที่ใช้ใน Leraning นี้ 
 
  รายการสินค้า     *สามารถเปลี่ยนจำนวนสั่งซื้อได้ที่รถเข็น
 
Arduino UNO R3 +USB
บอร์ด UNO R3 Design in Italy
• ATmega328P
• 14 Pins
฿  310.00 THB
ต่อ 1 ชิ้น
 
Untitled Document
2 Pin Push Button
ปุ่มกดติดปล่อยดับ 2 ขา
• ใช้เป็น Switch On / Off
• ขนาด 6 x 6 x 5 mm
• ทนแรงดัน 12 V (แนะนำ)
• ทนกระแส 50 mA
• ทนแรงดันสูงสุด 250 Vac
Untitled Document
฿  3.00 THB
ต่อ 1 ชิ้น
 
Untitled Document
3 mm Red LED
LED 3 mm สำหรับงานอิเล็กทรอนิกส์
• สีแดง
• ไฟเลี้ยง 1.9 - 2.1 V 20 mA
Untitled Document
฿  1.00 THB
ต่อ 1 ชิ้น
+
ราคาส่ง
10 ชิ้นขึ้นไป 0.50 ฿
100 ชิ้นขึ้นไป 0.40 ฿
แต้มสะสม
3 แต้ม   ทุกๆ 5 ชิ้น
         
20cm M-M jumper
สายจัมป์เปอร์ ผู้ - ผู้
• หัวเหลี่ยมเสียบแน่น
• คละสี** (ทางร้านจะเลือกสีให้)
฿  3.00 THB
ต่อ 1 เส้น
 
470 Ω 1/4 W Resistor
ตัวต้านทานค่าคงที่
• 470 โอห์ม
• 1/4 วัตต์ ความแม่นยำ +/- 1%
฿  1.00 THB
ต่อ 1 ชิ้น
 
MB 102 Protoboard
สำหรับทดลองวงจรอิเล็กทรอนิกส์
• ขนาด 830 รู
• สีขาวเนื้อ ,เสียบแน่น ถอดง่าย
฿  120.00 THB
ต่อ 1 ชิ้น
 
     
 
   
Digital Input  
   
บอร์ด Arduino มี Digital I/O PINs สำหรับใช้งาน ซึ่งคำว่า I/O หมายถึง Input และ Output นั่นหมายความว่า นอกจาก Pins เหล่านี้จะสามารถเป็น Output เพื่อไปควบคุมอุปกรณ์ต่างๆได้แล้ว มันยังสามารถใช้เป็นตัว Input หรือตัวรับสัญญาณทางไฟฟ้าต่างๆ เพื่อใช้ควบคุมการทำงานของวงจรได้อีกด้วย
 
 Digital คืออะไร   
ทุกคนคงรู้จักคำว่า Digital ซึ่งในที่นี้จะหมายถึงสัญญาณทางไฟฟ้าประเภทหนึ่งที่มีค่าการทำงาน 2 ค่า คือ 1 และ 0 ซึ่ง 1 หมายถึง on (HIGH) และ 0 หมายถึง off (LOW) สัญญาณดิจิตอลนั้นสามารถนำไปใช้ประโยชน์ได้มากมายและมีความแม่นยำ
 
 Digital Input   
การที่เราใช้ Digital Pins ของ Arduino เป็นตัวรับค่าสัญญาณ คือการที่เราให้ Pins นั้นๆ เป็นตัว Input โดยค่าที่ Arduino อ่านได้จะมีอยู่ 2 ค่า คือ HIGH และ LOW ขึ้นอยู่กับ Pin นั้น มีสัญญาณหรือกระแสไฟฟ้าเข้ามาหรือไม่
 
 
 Pull-up , Pull-Down   
เป็นอีกหนึ่งสิ่งที่จำเป็นต้องรู้ เมื่อเรานำสวิซท์หรือปุ่ม button ต่อเข้ากับ Input Pin ของ Arduino เราจำเป็นต้องมีตัวต้านทานด้วย เพราะ Input Pin นั้นๆ จะอ่านค่าได้ไม่แน่นอนว่าค่าที่รับมาเป็น HIGH หรือ LOW กันแน่ เนื่องจากหลายๆครั้งที่แรงดันจะอยู่ครึ่งๆกลางๆระหว่าง HIGH กับ LOW เราจึงต้องมีการใส่ตัวต้านทาน Pull-up หรือ Down ลงไป เพื่อกำหนดสถานะให้แน่ชัดไปเลย ว่าจะสูงหรือต่ำกันแน่
คำว่า Pull จึงหมายถึงการดึงหรือการบังคับให้เป็นสูงหรือต่ำ
• Pull-Up คือการบังคับให้ Input มีสถานะ HIGH ตลอดเวลา จนกว่าจะกดปุ่ม เมื่อกดปุ่ม จะเป็น LOW เมื่อไม่กดจะเป็น HIGH หรือเรียกว่า Active Low
• Pull-Down คือบังคับให้ Input เป็น LOW ตลอดเวลา จนกว่าจะกดปุ่ม เมื่อกดปุ่มจะเป็น HIGH เมื่อไม่กดจะเป็น LOW หรือเรียกว่า Active High
 
วงจร Pull-Up
จะต่อตัวต้านทานค่าหนึ่ง เรียกว่า Pull-UP Resistor ไว้ที่ไฟเลี้ยง Vin เพื่อเป็นการรักษาระดับแรงดันไฟฟ้าให้เป็น HIGH ตลอด ,Arduino Input Pin จึงอ่านค่าได้เป็น HIGH ตลอด แต่เมื่อกดปุ่ม Button ,กระแสไฟฟ้าจะไหลลง Ground ทันที Input Pin จึงอ่านค่าได้เป็น LOW
 
วงจร Pull-Down
จะต่อตัวต้านทาน หรือ Pull-Down Resistor ไว้ที่ Ground แทน ส่วนปุ่ม Button จะต่อเข้ากับ Vin เมื่อไม่กดจะมีสถานะเป็น LOW แต่เมื่อกดจะเป็น HIGH เพราะกระแสไฟฟ้าจะเลือกไหลเข้าหา Arduino Pin ที่มีความต้านทานน้อยกว่าแทน
 
จะเห็นได้ว่าวงจรท้ง 2 มีสถานะการทำงานที่ตรงกันข้าม ขึ้นอยู่กับจะเลือกใช้แบบไหน
 
 การต่อวงจร Pull-UP / Pull-Down 
ตัวต้านทานที่นำมาใช้เป็นตัว Pull-Up / Down Resistor นิยมใช้ค่า 5K - 20K Ω
 นำปุ่ม Button มาควบคุมไฟ LED   
มาลองทำวงจร Arduino ง่ายๆแต่ได้ความรู้ คือวงจรที่มีทั้ง Input และ Output แบบ Digital โดยเราจะทำวงจรที่ใช้ Input Pin ของ Arduino มารับค่าการกดปุ่ม แล้วนำค่านั้นไปควบคุม LED อีกทีโดยใช้ Output Pin โดยเราจะใช้วงจรแบบ Pull-Down เพื่อกำหนดให้ LED ติดเมื่อกดปุ่มเท่านั้น
 
 STEP 1   ต่อวงจร
ต่อวงจรเตรียมไว้ก่อน โดยอุปกรณ์ที่เราจะใช้ มีดังนี้
• Arduino UNO R3
• ปุ่มกดติดปล่อยดับ
• หลอด LED
• ตัวต้านทาน 10K Ω
• ตัวต้านทาน 470 Ω
• สายไฟต่างๆและ Protoboard
 
 
 การต่อวงจร 
วงจรนี้ เป็นวงจรแบบ Pull-Down โดยต่อปุ่ม Button เข้ากับไฟ 5 V และมีตัวต้านทานค่าตั้งแต่ 5K - 20K Ω ในที่นี้ใช้ 10K Ω ทำหน้าที่เป็น Pull-Down Resistor และใช้ Digital PIN 2 เป็นตัว Input รับค่าการกดปุ่ม ส่วนตัว Output คือ Digital PIN 13 ต่อเข้ากับ LED โดยมีตัวต้านทาน 470 Ω ช่วยจำกัดกระแส ป้องกนกระแสเกิน (อ่านวิธีเลือกตัวต้านทานให้ LED)
   
 STEP 2   เขียน Code และ Upload
 
 
// Digital Input with Pull-Down Push Button
// www.commandronestore.com


int buttonPin = 2;
int ledPin = 13;
int buttonState = 0; //ตัวแปรสถานะของปุ่ม ตั้งค่าเริ่มต้นให้เป็น 0 ไว้ก่อน

void setup() {
pinMode(ledPin, OUTPUT); //กำหนดให้ Pin 13 เป็น Output
pinMode(buttonPin, INPUT); //กำหนดให้ Pin 2 เป็น Input
}

void loop(){
buttonState = digitalRead(buttonPin);

if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH); //ถ้ากดปุ่ม ไฟจะติด
}
else {
digitalWrite(ledPin, LOW); //ถ้าไม่กดปุ่ม ไฟจะดับ
}
}

   
   
   
 
  BACK  
 
   
     
 
 
MAIN MENU
Yor are going to visit...
 
STORE
Homepage & News
PRODUCT
Shopping at our store
LEARNING
Tutorials & How to
MEMBER
Become our client
CONTACT
Getting more information
 
 
 
 
CONTACT
Contact Commandrone
 
083-0121146
Bangsue, Bangkok
Commandrone Page
Commandrone Channel
thai.commandrone@gmail.com
commandronestore.com
 
 
 
 
  8900 Pageviews today (Approximately)
 
 
     
 
www.commandronestore.com
© 2016 Commandrone All Rights Reserved