Le moyen le plus sûr de connecter Raspberry Pi à Arduino Uno R3


13

Je travaille sur un robot utilisant un Arduino Uno R3 et je voulais avoir la possibilité de contrôler l'Arduino sans fil, comme arrêter l'Arduino sans avoir à débrancher la prise d'alimentation à chaque fois.

Je veux connaître le moyen le plus sûr de connecter mon Raspberry Pi à l'Arduino, sans risque énorme de tension qui va mal dans les deux sens.

J'ai regardé en utilisant i2c et Serial, selon ces pages: http://blog.oscarliang.net/raspberry-pi-arduino-connected-i2c/ & http://blog.oscarliang.net/connect-raspberry-pi- and-arduino-usb-cable / . Je n'ai pas encore recherché USB. La raison pour laquelle je pose cette question est que sur le poste i2c, il a dit que je devais faire attention à la différence de tension:

Comment ça marche? Est-ce sûr?

Le Raspberry Pi fonctionne à 3,3 Volts tandis que l'Arduino fonctionne à 5 Volts. Il existe des tutoriels suggérant d'utiliser un convertisseur de niveau pour la communication I2C. Ce n'est PAS nécessaire si le Raspberry Pi fonctionne en tant que «maître» et l'Arduino en tant que «esclave».

Comment puis-je connecter en toute sécurité le RPi en tant que maître et l'Arduino en tant qu'esclave.


2
Connectez-vous simplement via USB. Pour arrêter l'arduino, vous pouvez simplement ajouter un transistor (NPN) à l'un des ports GPIO qui tirera la broche de réinitialisation de l'arduino à la terre, en gardant l'arduino dans un état `` d'arrêt '' jusqu'à ce que la ligne de réinitialisation soit restaurée.
Gerben

Réponses:


5

Le plus sûr serait le Bluetooth série. Avec un dongle USB pris en charge sur le Raspberry Pi et quelque chose comme un Bluefruit EZ-Link sur l'Arduino, vous pouvez programmer et contrôler l'Arduino à partir du Raspberry Pi sans connexion physique.

Le prochain meilleur serait probablement via USB. Il existe un protocole «standard» ( Firmata ) pour interagir avec Arduino et les capteurs, mais il pourrait ne pas être idéal pour la robotique.


Hoo! 22 $, pas vraiment bon marché, mais d'accord! Va examiner cela!
RPiAwesomeness

2
Essayez ebay pour des alternatives moins chères si le coût est un facteur
Jervelund

Lorsque vous dites Bluetooth série, cela fonctionnerait-il? foxytronics.com/products/…
RPiAwesomeness

Oui, celui JY-MCU fonctionnerait probablement après beaucoup de violon. La plus chère à laquelle j'ai lié gère toutes les étapes de configuration complexes. Cela vaut la différence de prix pour moi.
scruss

D'accord! Super. J'aime jouer du violon et celui-ci est moins cher, et le service est excellent, donc je pense que j'irai avec celui-ci. Merci!
RPiAwesomeness

11

La réponse courte à votre question, comment connecter en toute sécurité le RPi à un Arduino, est en effet donnée au premier lien que vous avez publié: http://blog.oscarliang.net/raspberry-pi-arduino-connected-i2c/ . J'ai utilisé la méthode qui y est donnée avec beaucoup de succès et sans endommager aucun composant.

Mais votre question suggère que vous ne faites pas confiance à cette méthode, et je pense que la clé pour lui faire confiance est de comprendre pourquoi elle est sûre. Ceci est expliqué dans le paragraphe suivant celui que vous avez cité, mais peut-être avec trop de détails. La clé est l'absence d'une résistance de «pull-up» sur l'Arduino 5V. Sans cela, la seule alimentation en tension provient du 3,3 V RPi, qui est heureusement suffisamment élevé pour que l'Arduino puisse le reconnaître.


7

Si vous ne voulez pas épargner le port USB de votre Rpi, vous pouvez utiliser GPIO Serial pour communiquer avec votre Arduino. Il existe un excellent tutoriel de Conor O'Neill pour connecter Rpi à un Arduino Pro Mini. La procédure est la même avec votre Arduino Uno.

Tout ce dont vous avez besoin est un LLC (Logic Level Converter) pour pouvoir connecter ces deux appareils. Comme vous l'avez déjà mentionné, ces appareils fonctionnent à différents niveaux de tension.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.