<< Go Back

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

ทดสอบการกดปุ่ม



 

<< Go Back