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.
Réponses:
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.
la source
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.
la source
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.
la source