ฉันจะใช้หมุด GPIO เป็นเอาต์พุตดิจิตอลได้อย่างไร


28

ฉันอ่านแล้วว่า Raspberry Pi มีจำนวนอินพุตและเอาต์พุตหมุด

  • ฉันจะเปลี่ยนได้อย่างไร (จาก Python?)
  • แรงดันไฟฟ้าตรรกะอะไร
  • ฉันต้องการตัวต้านทานแบบเลื่อนขึ้นหรือลงหรือไม่?
  • ฉันต้องเปลี่ยนพินจากอินพุตเป็นเอาต์พุตหรือไม่
  • หมุดไหนมีให้เลือก?

คำถามที่สองของคุณไม่ชัดเจน
Sohan Arafat

คำตอบ:


16

GPIO ของหมุดคือ 3.3 V และกระแสสูงสุดคือ 16 mA นั่นหมายความว่าคุณจะไม่สามารถใช้พลังงานได้เกือบทุกอย่างโดยตรง นั่นเป็นเหตุผลว่าทำไมคุณต้องใช้สวิตช์ทรานซิสเตอร์อย่างน้อยถ้าไม่ใช่วงจรป้องกันขั้นสูง คุณสามารถอ่านเพิ่มเติมเกี่ยวกับพวกเขาในRPI สอน EGHS: วงจรป้องกัน

คู่มือทั่วไปคือRPI อุปกรณ์ต่อพ่วงในระดับต่ำ


3
คุณช่วยขยายคำตอบของคุณหน่อยได้ไหม? ฉันต้องการดูคำถามทั้งหมดที่ตอบแล้วและข้อมูลในลิงก์ที่มีให้โดยสรุป ในขณะนี้ข้อมูลเกี่ยวกับ RTC ไม่ถูกต้อง (RTC ไม่เกี่ยวข้อง)
อเล็กซ์ L

11

คำแนะนำเหล่านี้ไม่เฉพาะ Python แต่อาจช่วยให้คุณเริ่มต้นการทดลองกับ GPIO https://raspberrypi.stackexchange.com/a/350/668มีข้อมูลเกี่ยวกับห้องสมุดและการใช้งานเฉพาะสำหรับ Python

เมื่อคุณบูต Raspberry Pi โดยใช้ Debian distro ที่แนะนำแล้ว GPIO จะถูกปิดการใช้งาน คุณต้องเปิดใช้งานหมุดแต่ละที

หากคุณทำผ่าน/ sysคุณจะพบ "เส้นทางใน Sysfs" ที่น่าสนใจ (ค้นหาภายในhttps://www.kernel.org/doc/Documentation/gpio/sysfs.txt ) โดยเฉพาะอย่างยิ่งคุณจะเปิดใช้งานพินโดย "ส่งออก" คำสั่งใด ๆ ด้านล่างถือว่าคุณกำลังใช้งานเป็นสิทธิ์พิเศษ (sudo หรืออื่น ๆ ) หรือคุณเปลี่ยนสิทธิ์ / ความเป็นเจ้าของของไฟล์เสมือนที่กำลังแก้ไข

echo 4 > /sys/class/gpio/export

สิ่งนี้ทำให้ GPIO pin # 4 นั้นทำให้ / sys / class / gpio / gpio4 มีอยู่ซึ่งมีไฟล์เสมือนหลายไฟล์ ไฟล์เหล่านั้นรวมถึง "ทิศทาง" ซึ่งกำหนดว่าเป็นอินพุตหรือพินเอาต์พุต "ค่า" ซึ่งเป็นแบบอ่านอย่างเดียวสำหรับอินพุตหรือเขียนได้สำหรับเอาต์พุตและมีค่าปัจจุบันและอื่น ๆ

echo out > /sys/class/gpio/gpio4/direction # set it as an output pin
echo 1 > /sys/class/gpio/gpio4/value # set the value to ON
echo 0 > /sys/class/gpio/gpio4/value # set the value to OFF
echo in > /sys/class/gpio/gpio4/direction # set it as input
cat /sys/class/gpio/gpio4/value # get the value
echo 4 > /sys/class/gpio/unexport # disables pin 4 and removes the gpio4 directory

แน่นอนว่าคุณอาจต้องการใช้ไลบรารี่ที่มีอยู่ก่อนเพื่อทำ GPIO ที่มาพร้อมกับหรือเข้ากันได้กับภาษาที่คุณเลือก แต่ถ้าคุณต้องการอะไรที่เรียบง่ายคุณสามารถเชื่อมต่อโดยตรงกับ sysfs เพื่อทำ GPIO พื้นฐาน


0

นำเข้าไลบรารีหลามและคุณสามารถควบคุมพินได้อย่างง่ายดาย มีแบบฝึกหัดออนไลน์มากมายคุณต้องการและ IDE พร้อมด้วยการสนับสนุนของไพ ธ อนและความรู้พื้นฐานเกี่ยวกับการเขียนโปรแกรมไพ ธ อน

หมุด GPIO มีให้สำหรับอินพุตและเอาต์พุต

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.