Node.js Raspberry Pi - GPIO บทนำ
GPIO คืออะไร?
GPIO ย่อมาจาก General Purpose Input Output
Raspberry Pi มีพิน GPIO สองแถวซึ่งเป็นจุดเชื่อมต่อระหว่าง Raspberry Pi กับโลกแห่งความจริง
ขาออกเป็นเหมือนสวิตช์ที่ Raspberry Pi สามารถเปิดหรือปิดได้ (เช่นการเปิด/ปิดไฟ LED) แต่ก็สามารถส่งสัญญาณไปยังอุปกรณ์อื่นได้
หมุดอินพุตเป็นเหมือนสวิตช์ที่คุณสามารถเปิดหรือปิดจากโลกภายนอกได้ (เช่น สวิตช์ไฟเปิด/ปิด) แต่อาจเป็นข้อมูลจากเซ็นเซอร์หรือสัญญาณจากอุปกรณ์อื่นก็ได้
นั่นหมายความว่าคุณสามารถโต้ตอบกับโลกแห่งความจริง และควบคุมอุปกรณ์และอุปกรณ์อิเล็กทรอนิกส์โดยใช้ Raspberry PI และพิน GPIO ของมันได้!
มองอย่างใกล้ชิดที่ GPIO Pins
นี่คือภาพประกอบของ Raspberry Pi 3
หมุด GPIO เป็นสี่เหลี่ยมสีแดงขนาดเล็กในสองแถวทางด้านขวาของ Raspberry Pi บน Raspberry Pi จริงเป็นหมุดโลหะขนาดเล็ก
Raspberry Pi 3 มีพิน GPIO 26 พิน พินที่เหลือเป็นพลังงาน กราวด์ หรือ "อื่นๆ"
ตำแหน่งหมุดสอดคล้องกับตารางด้านล่าง
Raspberry Pi B+, 2, 3 & Zero
3V3 | 1 | 2 | 5V |
GPIO2 | 3 | 4 | 5V |
GPIO 3 | 5 | 6 | GND |
GPIO 4 | 7 | 8 | GPIO14 |
GND | 9 | 10 | GPIO 15 |
GPIO 17 | 11 | 12 | GPIO 18 |
GPIO 27 | 13 | 14 | GND |
GPIO 22 | 15 | 16 | GPIO 23 |
3V3 | 17 | 18 | GPIO 24 |
GPIO 10 | 19 | 20 | GND |
GPIO 9 | 21 | 22 | GPIO 25 |
GPIO 11 | 23 | 24 | GPIO 8 |
GND | 25 | 26 | GPIO7 |
DNC | 27 | 28 | DNC |
GPIO 5 | 29 | 30 | GND |
GPIO 6 | 31 | 32 | GPIO 12 |
GPIO 13 | 33 | 34 | GND |
GPIO 19 | 35 | 36 | GPIO 16 |
GPIO 26 | 37 | 38 | GPIO 20 |
GND | 39 | 40 | GPIO 21 |
ตำนาน
หมายเลขพินทางกายภาพ |
พลัง + |
พื้น |
UART |
I2C |
SPI |
GPIO |
อย่าเชื่อมต่อ |
มองใกล้ที่เขียงหั่นขนม
เขียงหั่นขนมใช้สำหรับสร้างต้นแบบอุปกรณ์อิเล็กทรอนิกส์ช่วยให้คุณสร้างวงจรโดยไม่ต้องบัดกรี โดยพื้นฐานแล้วจะเป็นกระดานพลาสติกที่มีจุดผูก (รู) ภายในกระดานมีแถบโลหะที่เชื่อมต่อจุดผูกต่างๆ ในลักษณะเฉพาะ
ในภาพประกอบด้านล่าง เราได้เน้นบางส่วนที่มีสีต่างกัน นี่เป็นการแสดงวิธีการเชื่อมต่อกริด
ส่วนต่าง ๆ ของเขียงหั่นขนม:
- ด้านซ้ายและด้านขวามีจุดเสมอกัน 2 คอลัมน์ จุดผูกทั้งหมดในแต่ละคอลัมน์เหล่านี้เชื่อมต่อกัน
- The Power Bus - คอลัมน์ที่เน้นด้วยสีแดง มักใช้เพื่อเชื่อมต่อพลังงานกับ Breadboard เนื่องจากเชื่อมต่อทั้งคอลัมน์แล้ว คุณจึงสามารถต่อไฟเข้ากับจุดเชื่อมต่อใดๆ ในคอลัมน์ได้
- The Ground Bus - คอลัมน์ที่เน้นด้วยสีน้ำเงิน มักใช้เพื่อเชื่อมต่อกราวด์กับเขียงหั่นขนม เนื่องจากทั้งคอลัมน์เชื่อมต่อกัน คุณจึงสามารถเชื่อมต่อกราวด์กับจุดผูกใดๆ ในคอลัมน์ได้
- แถวของ Tie-Points ที่เชื่อมต่อ - แถวที่เน้นด้วยสีเขียว จุดผูกของแต่ละแถวเหล่านี้เชื่อมต่อกัน แต่ไม่ใช่ทั้งแถว! จุดผูกด้านซ้ายเชื่อมต่อกัน (ABCDE) และจุดเชื่อมต่อด้านขวาเชื่อมต่อกัน (FGHIJ)
- ตรงกลางของ Breadboard มีร่องลึก ซึ่งแยกแถวซ้ายและขวา ความกว้างของร่องลึกได้รับการออกแบบเพื่อให้วงจรรวมจำนวนมากพอดี
ติดตั้งโมดูล onoff
ในการเชื่อมต่อกับ GPIO บน Raspberry Pi โดยใช้ Node.js เราจะใช้โมดูลที่เรียกว่า "onoff"
Install the onoff module using npm:
pi@w3demopi:~ $ npm install onoff
Now onoff should be installed and we can interact with the GPIO of the Raspberry Pi.