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 Ω
มาลองทำวงจร Arduino ง่ายๆแต่ได้ความรู้ คือวงจรที่มีทั้ง Input และ Output แบบ Digital โดยเราจะทำวงจรที่ใช้ Input Pin ของ Arduino มารับค่าการกดปุ่ม แล้วนำค่านั้นไปควบคุม LED อีกทีโดยใช้ Output Pin โดยเราจะใช้วงจรแบบ Pull-Down เพื่อกำหนดให้ LED ติดเมื่อกดปุ่มเท่านั้น
การต่อวงจร
อุปกรณ์ที่ใช้ มีดังนี้
• 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 Ω ช่วยจำกัดกระแส ป้องกันกระแสเกิน
การใช้งานปุ่มกดติดปล่อยดับ (Push Button)
Push button คือ สวิชท์วงจรอิเล็กทรอนิกส์ชนิดหนึ่ง มีหน้าที่ควบคุมการเปิด และ ปิด ของวงจรส่วนนั้น ๆ โดยทั่วไปอาจมี 2 ขา หรือ 4 ขา โดยปุ่มกดติดปล่อยดับนั้น เมื่อทำการกดจะเป็นการปิดวงจร ทำให้กระแสไฟฟ้าสามารถไหลผ่านวงจรได้ เมื่อไม่ได้กด จะทำให้วงจรเปิด กระแสไฟฟ้าจะไม่สามารถไหลผ่านวงจรได้
4 Pins Push Button (ปุ่มกดติดปล่อยดับ 4 ขา)
ปุ่มกดติดปล่อยดับ 4 ขา เป็นที่นิยมกันอย่างมาก การต่อวงจรอาจดูเหมือนยุ่งยาก แต่อันที่จริงแล้วสามารถต่อได้ง่ายดายมากถ้าเข้าใจหลักการทำงานของมัน
หลักการทำงานของ 4 Pins Push Button
การทำงานของมันจะแยกเป็น 2 ส่วน คือ ตอนที่ยังไม่กด (Not Pressed) และ ตอนที่กด (Pressed)
ซึ่งเมื่อเราลองจัดวางปุ่ม Button นี้ ดังรูป โดยให้ด้านหน้าและหลังของปุ่ม ไม่มีขา ส่วนด้านซ้ายเป็นขา 1 กับ 3 และด้านขวาเป็นขา 2 กับ 4
เมื่อวงจรเปิด (Not Pressed) : ขาที่ 1 จะเชื่อมอยู่กับขาที่ 2 / ขาที่ 3 จะเชื่อมอยู่กับขาที่ 4
เมื่อวงจรปิด (Pressed) : ขาที่ 1 จะเชื่อมอยู่กับขาที่ 3 / ขาที่ 2 จะเชื่อมอยู่กับขาที่ 4
หรือพูดง่ายๆคือ เมื่อเรายังไม่ได้กดปุ่ม ขา ที่ 1 จะเชื่อมอยู่กับขาที่ 2 และ ขาที่ 3 จะเชื่อมอยู่กับขาที่ 4 แต่เมื่อเรากดปุ่มแล้ว จะเกิดการสลับคู่ของขา เพื่อเปลี่ยนแปลงเส้นทางการจ่ายกระแสไฟฟ้าในวงจรนั่นเอง
เราสามารถใช้หลักการนี้มาควบคุมการเปิด และ ปิด ของวงจรอิเล็กทรอนิกส์ได้ง่ายๆ
ตัวต้านทาน (resistor) คืออะไร
- ตัวต้านทานทำหน้าที่ “ควบคุมปริมาณกระแสไฟฟ้าและแรงดันระหว่างสองจุดในวงจร”
- และยังใช้งานอื่น ๆ ได้อีก เช่น เปลี่ยนพลังงานไฟฟ้าเป็นพลังงานความร้อน ตรวจวัดอุณหภูมิสวิตช์เปิดปิดด้วยแสง
ตัวต้านทางมีกี่แบบ
ตัวต้านทานแบ่งตามการใช้งานได้ 3 แบบ
- ตัวต้านทานชนิดค่าคงตัว
- ตัวต้านทานปรับค่าได้
- ตัวต้านทานปรับค่าตามสภาพแวดล้อม
ในบทเรียนนี้จะทำความรู้จักกับ ตัวต้านทานชนิดค่าคงตัว (fixed resistor) มีค่าความต้านทานคงที่ มีให้เลือกหลายวัสดุและกำลังวัตต์ โดยขนาดตัวต้านทานจะยึดค่ากำลังไฟฟ้าสูงสุดที่ต้านได้เป็นเกณฑ์ มีตั้งแต่ 0.25-100 วัตต์ โดยใช้รหัสแถบสีเป็นตัวบอกค่า
“ตัวต้านทานชนิดค่าคงตัว แบ่งตามชนิดวัสดุเป็น 5 แบบ”
• แบบคาร์บอนผสม
• แบบฟิล์มโลหะออกไซด์
• แบบฟิล์มคาร์บอน
• แบบลวดพัน
• แบบฟิล์มโลหะ
สัญลักษณ์
ตัวอย่างการอ่านค่าตัวต้านทาน
จากภาพ ตัวต้านทานมีค่าความต้านทานเท่าใด
จากการอ่านค่าแถบสีของตัวต้านทาน จะได้ว่า
ส้ม ส้ม นํ้าตาล ทอง = 10 ×102 Ω ±5%
= 1.0 kΩ ± 50 Ω
= 0.95 kΩ – 1.05 kΩ
จะได้ว่า ตัวต้านทานในภาพมีค่าความต้านทานอยู่ในช่วง 0.95 กิโลโอห์ม ถึง 1.05 กิโลโอห์ม
จากภาพ ตัวต้านทานมีค่าความต้านทานเท่าใด
จากการอ่านค่าแถบสีของตัวต้านทาน จะได้ว่า
นํ้าตาล แดง แดง ส้ม ส้ม = 122 × 103 Ω ± 3%
= 122 kΩ ± 3.66 kΩ
= 118.34 kΩ – 125.66 kΩ
จะได้ว่า ตัวต้านทานในภาพมีค่าความต้านทานอยู่ในช่วง 118.34 กิโลโอห์ม ถึง 125.66 กิโลโอห์ม
การอ่านค่าความต้านทานจากแถบสีบนตัวต้านทานชนิดค่าคงตัว ทำได้โดยอ่านจากแถบสีที่ระบุบนตัวต้านทาน ซึ่งสามารถเทียบกับตารางแสดงค่าของแถบสีบนตัวต้านทาน โดยทั่วไปแถบสีบนตัวต้านทานจะมี 4 แถบ โดยแต่ละแถบสีมีความหมาย ดังนี้
ตารางค่าของแถบสีบนตัวต้านทาน
การต่อปุ่มเข้ากับเบรดบอร์ด
อุปกรณ์ที่ใช้
- ใช้ปุ่ม 4 ปุ่ม
- เบรดบอร์ด
- สายแพตัวผู้ – เมีย
- ตัวต้านทาน 4.7 KΩ
การต่อวงจร
1. นำปุ่มเสียบเข้ากับเบรดบอร์ด
2. นำสายแพเสียบที่บอร์ด Arduino ต่อเข้าเบรดบอร์ด
Arduino เบรดบอร์ด
V5 => +
GND => -
3. กรณีที่เบรดบอร์ดมีการแบ่งครึ่ง เราต้องจั๊มไฟกับกราวด์ ให้ถึงกัน
4. ใช้ตัวต้านทาน 4.7 kΩ 4 ตัว มางอขาเป็นตัวยู
5. นำตัวต้านทานมาเสียบช่องตรงกับขาของปุ่ม อีกฝั่งให้ไปเสียบที่ขั้วบวกบนเบรดบอร์ดตามภาพ
เสียบตัวต้านทานให้ครบทั้ง 4 ปุ่ม
นำสายไฟให้เสียบที่ขาของปุ่ม และสายไฟอีกฝั่งให้เสียบที่ขั้วลบ เสียบให้ครบทั้ง 4 ปุ่ม
6. เตรียมสายไฟ ผู้-เมีย 4 เส้น เพื่อเสียบกับขาที่ต่อกับตัวต้านทาน และอีกฝั่งไปยังบอร์ด Arduino
สายไฟที่ต่อจากปุ่มที่ 1 เสียบที่บอร์ดช่องสัญญาณที่ S2
สายไฟที่ต่อจากปุ่มที่ 2 เสียบที่บอร์ดช่องสัญญาณที่ S3
สายไฟที่ต่อจากปุ่มที่ 3 เสียบที่บอร์ดช่องสัญญาณที่ S4
สายไฟที่ต่อจากปุ่มที่ 4 เสียบที่บอร์ดช่องสัญญาณที่ S5
เริ่มต้นเขียนคำสั่งให้ปุ่ม
ปุ่มที่ 1 ใช้เลือกเมนูที่ 1
ปุ่มที่ 2 ใช้เลือกเมนูที่ 2
ปุ่มที่ 3 ให้เป็นปุ่ม OK (ตกลง)
ปุ่มที่ 4 ให้เป็นปุ่ม Cancel (ยกเลิก)
กำหนดตัวแปรของปุ่ม
ประกาศการรับค่าของตัวแปร
สร้างฟังก์ชัน Select Menu ทดสอบการรับค่าของปุ่ม
เขียนคำสั่งต่อในส่วนของ Setup กำหนดค่า ให้แสดงผลออกทาง monitor ก่อน
และไปเปิดใช้งานฟังก์ชัน select_menu ที่เราคอมเม้นไว้
จากนั้นทำการ upload คำสั่งลงบอร์ด
ที่โปรแกรม Arduino IDE คลิกที่ serial monitor
เลือกเป็น 9600 ตามที่เราเขียนคำสั่งไว้
คำสั่งในการทดสอบปุ่มกดให้แสดงผลออกทาง Monitor
ทดสอบการกดปุ่ม
|