Raspberry Pi เป็นบอร์ดที่ใช้โปรเซสเซอร์สถาปัตยกรรม ARM ที่ออกแบบมาสำหรับวิศวกรอิเล็กทรอนิกส์และมือสมัครเล่น PI เป็นหนึ่งในแพลตฟอร์มการพัฒนาโครงการที่น่าเชื่อถือที่สุดในขณะนี้ ด้วยความเร็วโปรเซสเซอร์ที่สูงขึ้นและ RAM 1 GB PI สามารถใช้กับโปรเจ็กต์ที่มีรายละเอียดสูงมากมายเช่นการประมวลผลภาพและ Internet of Things
สำหรับการทำโครงการที่มีรายละเอียดสูงจำเป็นต้องเข้าใจฟังก์ชันพื้นฐานของ PI เราจะกล่าวถึงฟังก์ชันพื้นฐานทั้งหมด ของ Raspberry Pi ในบทช่วยสอนเหล่านี้ ในแต่ละบทช่วยสอนเราจะพูดถึงฟังก์ชันหนึ่งของ PI ในตอนท้ายของ ซีรีส์การสอน Raspberry Piนี้คุณจะสามารถทำโปรเจ็กต์ระดับสูงได้ด้วยตัวเอง ดูบทช่วยสอนด้านล่าง:
- เริ่มต้นกับ Raspberry Pi
- การกำหนดค่า Raspberry Pi
- ไฟ LED Blinky
- การเชื่อมต่อปุ่ม Raspberry Pi
- Raspberry Pi PWM generation
- การควบคุม DC Motor โดยใช้ Raspberry Pi
- Stepper Motor Control พร้อม Raspberry Pi
- การเชื่อมต่อ Shift Register กับ Raspberry Pi
ในการกวดวิชานี้เราจะอินเตอร์เฟซแบบ Capacitive ทัชแพดเพื่อ Raspberry Pi Capacitive Touchpad มี 8 ปุ่มตั้งแต่ 1 ถึง 8 ปุ่มเหล่านี้ไม่ใช่ปุ่มที่แน่นอน แต่เป็นTouch Sensitive Pads ที่วางอยู่บน PCB เมื่อเราสัมผัสแผ่นอิเล็กโทรดแผ่นใดแผ่นหนึ่งแผ่นอิเล็กโทรดจะสัมผัสกับการเปลี่ยนแปลงของความจุบนพื้นผิว การเปลี่ยนแปลงนี้ถูกจับโดยชุดควบคุมและชุดควบคุมเพื่อเป็นการตอบสนองดึงพินที่เกี่ยวข้องให้สูงที่ด้านเอาต์พุต
เราจะแนบนี้ Capacitive ทัชแพดโมดูลตรวจจับกับราสเบอร์รี่ Pi เพื่อใช้เป็นอุปกรณ์ป้อนข้อมูลสำหรับ Pi
เราจะพูดคุยเกี่ยวกับ Raspberry Pi GPIO Pins ก่อนที่จะดำเนินการต่อไป
หมุด GPIO:
ดังแสดงในรูปด้านบนมีพินเอาต์พุต 40 พินสำหรับ PI แต่เมื่อคุณดูรูปที่สองด้านล่างคุณจะเห็นว่าไม่สามารถตั้งโปรแกรมขาออกทั้งหมด 40 พินเพื่อใช้งานของเราได้ เหล่านี้เป็นเพียง 26 GPIO พินที่สามารถตั้งโปรแกรมได้ หมุดเหล่านี้ไปจาก GPIO2 เพื่อ GPIO27
หมุด GPIO 26 ตัวนี้ สามารถตั้งโปรแกรมได้ ตามความต้องการ หมุดเหล่านี้บางตัวยังทำหน้าที่พิเศษบางอย่างเราจะพูดถึงในภายหลัง ด้วย GPIO พิเศษเราจึงเหลือ 17 GPIO (สีเขียวอ่อน)
แต่ละเหล่านี้ 17 หมุด GPIO สามารถส่งมอบสูงสุดของ 15mA ปัจจุบัน และผลรวมของกระแสจาก GPIO ทั้งหมดต้องไม่เกิน 50mA ดังนั้นเราจึงสามารถวาดค่าเฉลี่ยสูงสุด 3mA จากพิน GPIO เหล่านี้ ดังนั้นเราไม่ควรยุ่งเกี่ยวกับสิ่งเหล่านี้เว้นแต่คุณจะรู้ว่าคุณกำลังทำอะไรอยู่
สิ่งสำคัญอีกอย่างที่นี่คือการควบคุมตรรกะ PI คือ + 3.3v ดังนั้นคุณจึงไม่สามารถให้ตรรกะมากกว่า + 3.3V กับพิน GPIO ของ PI ได้ หากคุณให้ + 5V กับพิน GPIO ของ PI บอร์ดจะเสียหาย ดังนั้นเราจึงต้องจ่ายไฟให้กับ Capacitive Touchpad ที่ + 3.3Vเพื่อรับเอาต์พุตลอจิกที่เหมาะสมสำหรับ PI
ส่วนประกอบที่ต้องการ:
ที่นี่เราจะใช้ ราสเบอร์รี่ Pi 2 รุ่น B กับ Raspbian Jessie OS ข้อกำหนดฮาร์ดแวร์และซอฟต์แวร์พื้นฐานทั้งหมดได้กล่าวไว้ก่อนหน้านี้คุณสามารถค้นหาได้ในบทนำ Raspberry Pi นอกเหนือจากที่เราต้องการ:
- หมุดเชื่อมต่อ
- ทัชแพดแบบ Capacitive
แผนภูมิวงจรรวม:
การเชื่อมต่อซึ่งทำขึ้นสำหรับ Capacitive Touchpad Interfacing แสดงไว้ในแผนภาพวงจรด้านบน
คำอธิบายการทำงานและการเขียนโปรแกรม:
เมื่อทุกอย่างมีการเชื่อมต่อตามวงจรที่เราสามารถเปิด PI เพื่อเขียนโปรแกรมใน PYHTON
เราจะพูดถึงคำสั่งบางอย่างที่เราจะใช้ในโปรแกรม PYHTON
เรากำลังจะนำเข้าไฟล์ GPIO จากไลบรารีฟังก์ชันด้านล่างช่วยให้เราสามารถตั้งโปรแกรมพิน GPIO ของ PI ได้ นอกจากนี้เรายังเปลี่ยนชื่อ "GPIO" เป็น "IO" ดังนั้นในโปรแกรมเมื่อใดก็ตามที่เราต้องการอ้างถึงพิน GPIO เราจะใช้คำว่า 'IO'
นำเข้า RPi.GPIO เป็น IO
บางครั้งเมื่อพิน GPIO ที่เราพยายามใช้อยู่อาจจะทำหน้าที่อื่น ๆ ในกรณีนั้นเราจะได้รับคำเตือนขณะดำเนินการโปรแกรม คำสั่งด้านล่างบอกให้ PI เพิกเฉยต่อคำเตือนและดำเนินการกับโปรแกรม
IO.setwarnings (เท็จ)
เราสามารถอ้างอิงพิน GPIO ของ PI ไม่ว่าจะด้วยหมายเลขพินบนบอร์ดหรือตามหมายเลขฟังก์ชัน เช่นเดียวกับ 'PIN 29' บนกระดานคือ 'GPIO5' เราบอกตรงนี้ว่าเราจะแทนหมุดตรงนี้ด้วย '29' หรือ '5'
IO.setmode (IO.BCM)
เรากำลังตั้ง 8 พินเป็นพินอินพุต เราจะตรวจจับ 8 คีย์เอาต์พุตจาก Capacitive Touchpad
IO.setup (21, IO.IN) IO.setup (20, IO.IN) IO.setup (16, IO.IN) IO.setup (12, IO.IN) IO.setup (25, IO.IN) IO.setup (24, IO.IN) IO.setup (23, IO.IN) IO.setup (18, IO.IN)
ในกรณีที่เงื่อนไขในวงเล็บปีกกาเป็นจริงข้อความภายในลูปจะดำเนินการหนึ่งครั้ง ดังนั้นหาก GPIO พิน 21 สูงขึ้นข้อความภายในลูป IF จะถูกดำเนินการหนึ่งครั้ง หาก GPIO พิน 21 ไม่สูงไปข้อความภายในลูป IF จะไม่ถูกดำเนินการ
ถ้า (IO.input (21) == True):
คำสั่งด้านล่างนี้ใช้เป็นลูปตลอดไปโดยคำสั่งนี้คำสั่งภายในลูปนี้จะดำเนินการอย่างต่อเนื่อง
ในขณะที่ 1:
เมื่อเราเขียนโปรแกรมด้านล่างใน PYTHON และดำเนินการแล้วเราก็พร้อมที่จะไป เมื่อสัมผัสแพดโมดูลจะดึงพินที่เกี่ยวข้องขึ้นและ PI ตรวจพบทริกเกอร์นี้ หลังจากการตรวจจับ PI จะพิมพ์คีย์ที่เหมาะสมบนหน้าจอ
ดังนั้นเราจึงมีInterfaced Capacitive Touchpad ไปยัง PI