การสื่อสาร GPIO-UART-to-Arduino


12

ฉันได้ลองโดยไม่มีโชคเพื่อให้ Raspberry Pi พูดคุยกับ Arduino ฉันใช้ตัวแปลง 3.3 V-to-5 V เพื่อสลับแรงดันไฟฟ้า ฉันใส่LEDบนพิน UART TX และดูเหมือนว่ามันเป็นการย้อนกลับข้อมูล หากเป็นจริงฉันต้องใช้วงจรอะไรในการสื่อสารกับ Arduino

ฉันใช้เย็นส่วนประกอบระดับลอจิกแปลง มันเป็นทรานซิสเตอร์สำหรับ 3.3 V ถึง 5 V และตัวต้านทานสำหรับ 5 V ถึง 3.3 V

คำตอบ:


5

GPIO ของ Raspberry Pi มีค่า 3.3 V และไม่ได้ 5 V ซึ่งหมายความว่าถ้าคุณขับ 5 V ให้กับพวกเขาคุณอาจทำให้อินพุตขาดลง http://elinux.org/RPi_Low-level_peripheralsมีข้อมูลเกี่ยวกับหมุด

คุณสามารถใช้หนึ่งในบอร์ดเหล่านี้:

http://store.nkcelectronics.com/5v-to-33v-logic-level-shifter-bo.html

หรือเพียงซื้อ74LS245จากDigi-KeyหรือMouser Electronicsและเชื่อมต่อแบบนี้:

ราคาถูก 5 V ถึง 3.3 V converter


3

คุณยังสามารถใช้การเพิ่มประสิทธิภาพ n-channel MOSFETสำหรับแต่ละพินได้หากคุณมีจำนวนไม่มาก ดูโพสต์ราสเบอร์รี่ Pi และอุปกรณ์ I2C ของแรงดันไฟฟ้าที่แตกต่างกันหรือหน้า 43 ในสเปครถบัสI²C เมื่อคุณต้องการเพียงสองพินนี่ก็แค่ทำเพื่อคุณ


ฉันใช้วิธีนี้เชื่อมต่อ Pi กับ Arduino ของฉัน โพสต์บล็อกนี้มีรูปภาพของเขียงหั่นขนมและแผนภาพชัดเจนถ้าคุณไม่มั่นใจมาก: fritz-hut.com/connecting-an-arduino-and-raspberry-pi
Stefan Mohr

2

ฉันใช้ CD4050 เพื่อทำการแปลงระดับจาก 5V เป็น 3.3V และทำหน้าที่เป็นบัฟเฟอร์เพื่อปกป้อง Raspberry Pi ของฉัน Arduino ควรมองว่า 3.3V เป็นค่าตรรกะสูงดังนั้นคุณไม่จำเป็นต้องแปลงจาก 3.3V เป็น 5V (ฉันยืนแก้ไขที่นี่ตามหน้าเว็บ Arduino ของแรงดันไฟฟ้าใด ๆ ที่มากกว่า 3V ถือว่าเป็นตรรกะสูง)

ฉันรวบรวมตัวอย่างด่วนของการใช้ CD4050, Raspberry Pi GPIO UART และ Arduino ที่นี่: http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart

ยินดีต้อนรับความคิดเห็นใด ๆ มันทำงานได้ แต่ฉันอาจทำผิด :)


1

ฉันได้เจอกับปัญหาเดียวกันและแก้ไขมันด้วยการรัน barebones atmega328 พร้อม Arduino bootloader ที่ 3.3 โวลต์ แต่ที่ 8 MHz 8 Mhz อาจทำให้เกิดปัญหาหากคุณมีข้อกำหนดเรื่องเวลาที่เข้มงวด ฉันเองฉันแค่วางแผนที่จะใช้ Arduino เพื่อสร้าง PWM สำหรับแถบ led rgb ดังนั้นมันก็โอเคถ้าความถี่ของ pwm นั้นน้อยกว่าปกติ การทดสอบเบื้องต้นของฉันจนถึงตอนนี้ได้ระบุว่า Arduino สามารถรับข้อความได้ดี


1

มีวิธีแก้ปัญหาง่ายๆอย่างหนึ่งที่คุณสามารถลบแหล่งพลังงานภายนอกของ Arduino และเชื่อมต่อ GPIO พิน 1 ถึง 5v พินของ Arduino โดยใช้จัมเปอร์ลวดที่ทาง Arduino พลังงานหลักจะเป็น 3.3v และหมุดทั้งหมดจะมี 3.3v แทน 5v ตอนนี้คุณสามารถเชื่อมต่อหมุด Uart ของ Pi และ Arduino โดยตรง ทำงานให้ฉัน

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