J'ai essayé sans succès de faire parler le Raspberry Pi à un Arduino. J'utilise un convertisseur 3,3 V-5 V pour permuter les tensions. J'ai mis une LED sur la broche UART TX, et il semble qu'il inversait les données. Si cela est vrai, de quel circuit ai-je besoin pour le faire communiquer avec l'Arduino?
J'utilise un convertisseur de niveau logique Cool Components . C'est un transistor pour 3,3 V à 5 V et une résistance pour 5 V à 3,3 V.
J'utilise un CD4050 pour faire la conversion de niveau de 5V à 3,3V et aussi pour servir de tampon pour protéger mon Raspberry Pi. L'Arduino devrait voir 3,3 V comme un niveau logique élevé, vous ne devriez donc pas avoir besoin de convertir de 3,3 V à 5 V (je me corrige ici, selon la page Web de l'Arduino, toute tension supérieure à 3 V est considérée comme logique élevée).
J'ai rassemblé un exemple rapide d'utilisation du CD4050, du Raspberry Pi GPIO UART et d'Arduino ici: http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart
Tous les commentaires sont les bienvenus, cela fonctionne, mais j'aurais peut-être mal fait :)
la source
En fait, j'ai rencontré le même problème et l'ai résolu en exécutant un atmega328 barebones avec un chargeur de démarrage Arduino à 3,3 volts, mais à 8 MHz. Le 8 Mhz peut causer un problème si vous avez des exigences de synchronisation strictes. Moi-même, je ne prévois que d'utiliser l'Arduino pour générer du PWM pour une bande LED RVB, donc ça va si la fréquence du PWM est la moitié de la normale. Jusqu'à présent, mes tests préliminaires ont indiqué que l'Arduino peut très bien recevoir le message.
la source
Il existe une solution simple, vous pouvez supprimer toute source d'alimentation externe d'Arduino et connecter la broche GPIO 1 du Raspberry Pi à la broche Arduino de 5 V à l'aide d'un fil de pontage de cette façon, l'alimentation principale de l'Arduino sera de 3,3 V et toutes ses broches auront 3,3 V au lieu de 5 V. Vous pouvez maintenant connecter directement les broches Uart de Pi et Arduino. A travaillé pour moi.
la source