Je voudrais construire un robot aussi petit que possible et avec aussi peu de pièces "délicates" que possible (les robots se dénigreront).
Je me demandais s'il était possible d'utiliser une petite puce qui pourrait recevoir des commandes bluetooth / IR / wifi pour déplacer les moteurs, et à son tour, renvoyer des commentaires basés sur des capteurs tels qu'un accéléromètre (pour détecter l'impact).
Je peux probablement réaliser quelque chose comme ça avec le PiCy
Cependant, c'est légèrement plus grand que je ne le souhaiterais (en raison de la taille du Pi) et je ne sais pas combien de temps le Pi durerait en continu.
Je voudrais donc essayer de décaler le cerveau (le Pi) sur le côté de l'arène et d'utiliser simplement une petite puce pour recevoir les commandes de déplacement et renvoyer les données de l'accéléromètre.
Avez-vous des recommandations pour une telle puce? Le Wi-Fi serait mon choix mais si cela a un impact sur la taille, je pourrais essayer BT
Edit: Après de nouvelles recherches, il semble qu'un Arduino nano avec un bouclier WiFi RedBack pourrait faire le travail avec quelque chose comme ça pour les moteurs: http://www.gravitech.us/2mwfecoadfor.html
Il existe deux approches pour construire les robots que vous décrivez.
Le premier, comme vous le suggérez, consiste à découpler la puissance de traitement du reste du robot qui contient les capteurs et actionneurs. Pour ce faire, vous avez besoin d'une certaine communication entre l'unité de traitement (PC / RPi / autre microcontrôleur) et votre robot. Une solution à faible coût pour cela consiste à utiliser des modules Bluetooth bon marché (recherchez ebay pour `` Module Bluetooth série '', ils ne devraient pas coûter plus de 5 $). Côté robot, vous aurez également besoin d'un microcontrôleur, car vous devez recevoir les données du Bluetooth, les traiter et les convertir pour contrôler les signaux des moteurs. De plus, le même microcontrôleur sera chargé de lire les capteurs et de retransmettre les données à l'unité de traitement à distance.
La deuxième approche consiste à avoir une seule unité de traitement qui se trouve sur le robot. Le même contrôleur lira les capteurs, fournira l'intelligence et contrôlera les moteurs. Parce que le robot que vous décrivez est simple, ce contrôleur pourrait être implémenté sur un simple microcontrôleur. Vous pouvez créer votre propre contrôleur (en utilisant PIC / AVR / ARM) ou vous pouvez utiliser une solution prête comme un Arduino, BasicStamp etc. En option, vous pouvez avoir une connexion Bluetooth avec un PC pour la télémétrie (en observant les valeurs des capteurs et / ou en contrôlant manuellement le robot).
Pour votre projet, la seconde approche semble plus séduisante. Cela coûtera beaucoup moins cher et les robots réagiront plus rapidement puisque le traitement se fait directement sur le robot. De plus, comme la première approche nécessite également une unité de traitement sur le robot, il semble exagéré d'utiliser une deuxième unité pour le traitement. D'autre part, la première approche vous permet de développer votre contrôleur de robot dans un système de niveau supérieur (PC / RPi) qui, selon votre expérience, peut être un environnement plus confortable.
la source
Je pense que j'ai peut-être trouvé le contrôleur parfait pour ce projet:
http://www.robotshop.com/en/dagu-micro-magician-robot-controller.html
Le Micro Magicien me permettra de contrôler 2 moteurs CC simples, de détecter les impacts et les collisions avec l'accéléromètre ET de recevoir les commandes de déplacement du récepteur IR! Assez génial pour la taille.
La seule pièce restante dans le puzzle est de renvoyer les données à la télécommande (données de l'accéléromètre). Je ne sais pas si je pourrais connecter un émetteur IR ou peut-être BT / Wifi?
Edit: on dirait que cela pourrait faire le travail! http://www.dawnrobotics.co.uk/dagu-arduino-bluetooth-module/
Maintenant pour trouver de petits moteurs ...
la source