Débuter dans la robotique

Bonsoir à tous,

j'aimerais me lancer dans la robotique (+ programmation). Ayant fait quelques recherches sur internet et ayant déjà quelques bases en c#, je suis tombé sur un dérivé de "Arduino", j'ai nommé "Netduino". Avant de me lancer dans cette aventure, j'aimerais éclaircir 2 ou 3 petites choses :

-Est-ce que tous les produits que l'on peut acheter sur internet et étant compatibles avec "Arduino" le sont aussi avec "Netduino" ? (capteurs, moteurs, etc...)

-Est-il possible de faire un robot géré en wifi avec la "Netduino" ? (J'aimerais faire une sorte de voiture téléguidée avec une caméra, le tout contrôlé par mon ordinateur).

-Que devrais-je acheter afin de réaliser mon projet ? (j'ai vu ceci sur un site de vente de pièces pour robots : http://www.robotshop.com/productinfo.aspx?pc=RB-Tam-27&lang=fr-CA)

-Faut il avoir d'énormes connaissances en électricité ? (Je n'ai que 16ans et n'ai jamais eu de cours d’électricité de ma vie :x je fais juste de la programmation à mes heures perdues)

-Enfin, auriez-vous des liens avec des tutos pour m'aider à débuter en robotique ?

Voilà, j'espère avoir été assez clair dans mes questions et je vous remercie d'avance pour vos réponses :slight_smile:

Bonsoir

La compatibilité des produits initialement conçus pour Arduino n'est pas forcément immédiate.
Même si le hard est proche, ce n'est pas identique.
Mais surtout l'environnement de développement logiciel est totalement différent, donc impossible de récupérer des bouts de code et bibliothèque de l'environnement Arduino pour Netduino.
En gros, Arduino se programme en C/C++ mais fait souvent appel aux ressources du processeur Atmet ATmega328.

NetDuino est un autre processeur qui se programme en C# sous VisualStudio et l'environnement dot.Net MicroFramework.
Au risque de me faire incendier par mes frères Arduinesques, l'environnement de développement et de mise au point (debug) VisualC# est a des années lumière devant l'environnement Arduino.
On peut faire du vrai pas à pas dans les fonctions, voir les variables, mettre des points d'arrêts. Le dot.Net MircroFramework contient un vrai environnement multi-tache (multi-thread en fait). Genre de chose qu'il est possible de faire sur le processeur ATmega328 mais plutôt hors de l'environnement Arduino.
J'ai joué plusieurs mois avec une cousine de la NetDuino, la carte Panda II de GHI Electronique et c'est vraiment super agréable.

Je ne connais pas trop la communauté NetDuino et surtout je ne sais pas s'il y a une communauté en français. En tout cas ici, autour de l'Arduino, il y a du monde pour t'aider.

Si tu parts sur Arduino, la vrai, il te faudra soit :

L'inconvénient de Romeo c'est qu'elle a bien une partie de ce que tu veux mais ce qui lui manque est difficile a ajouter car il n'y a pas de connecteur shield.

Sinon il y a des shields de controle de moteur etc...
Donc commence par faire la liste de ce que tu souhaite controler sur ton véhicule.

Pour ce qui est de la caméra, tu peux mettre le Wifi sur ton véhicule par l'intermédiaire d'un petit routeur (TP Link TN702). Dans ce cas le mieux est de mettre une caméra Wifi sur la même base.
Mais sinon ni l'Arduino ni la NetDuino ont la capacité de gérer eux même une caméra et d'envoyer ensuite les données sur le réseau. Donc il vaut mieux que cette partie soit indépendante.

Voilà un premier tour d'horizon très rapide parce qu'il est déjà tard.
Je suis sur que d'autres viendront donné leur avis et peut être partager des projets similaires qui t'aideront à faire ton choix.

A+

Bonjour

Une adresse utile pour toi : http://www.pobot.org/

chabot380

Merci beaucoup pour vos réponses :slight_smile: Je vais continuer à fouiller et je vais m'y mettre :smiley:

En fait j'aurais encore quelques petites questions :

-Comment savoir si un accessoire compatible avec arduino l'est aussi avec netduino?

-Si un accessoire est compatible arduino et netduino et que j'ai un exemple de code en C pour arduino, il me suffit juste de traduire en ce code en C# pour qu'il fonctionne sous netduino?

-Auriez-vous une idée d'un kit que je pourrais acheter pour débuter (avec des pinces, des fils, ...)

Merci d'avance ^^'

diabolow:
-Comment savoir si un accessoire compatible avec arduino l'est aussi avec netduino?

Je dirais que 90% des cas vont être ok.
Après c'est plus le problème du code

-Si un accessoire est compatible arduino et netduino et que j'ai un exemple de code en C pour arduino, il me suffit juste de traduire en ce code en C# pour qu'il fonctionne sous netduino?

Ca va dépendre.
Le code exemple peut faire appel à des lib de base de l'environnement Arduino.
Par exemple le shield Ethernet + Carte SD va utiliser la lib SPI.
Or la lib SPI de l'Arduino et le driver SPI dot.Net n'ont rien a voir.
Donc c'est faisable mais il peut y avoir un gros travail de traduction.

Mais par exemple dans ce cas, il y a certainement du code chez Netduino pour gérer l'Ethernet ou la carte SD, vu qu'ils ont même une version NetduinoPlus avec Ethernet et SD sur la carte.

Dans certains cas pour gérer un shield, les exemples pourraient faire appel à des ressources matériel du processeur comme les timers.
Dans ce cas il faut comprendre ce que l'exemple fait avec les timers du processeur Arduino pour traduire cela sur le processeur de la Netduino. C'est plus compliqué d'autant plus que l'environnement dot.Net ferme beaucoup l'accès au hardware.

[/quote]
-Auriez-vous une idée d'un kit que je pourrais acheter pour débuter (avec des pinces, des fils, ...)
[/quote]

En Arduino, jète un coup d'oeil chez Snootlab et lextronic. 2 vendeurs français. Il y en a d'autres ...
http://shop.snootlab.com/shields-snootlab/90-snootlab-starter-kit.html : n'inclue pas l'Arduino
http://www.lextronic.fr/R2830-combo-pack-arduino.html : idem, sans l'Arduino
Mais c'est basic : platque d'expérimentation, quelques leds, quelques résistances, des fils

Nickel, merci beaucoup

Bonjour,

diabolow:
j'aimerais me lancer dans la robotique (+ programmation). Ayant fait quelques recherches sur internet et ayant déjà quelques bases en c#, je suis tombé sur un dérivé de "Arduino", j'ai nommé "Netduino". Avant de me lancer dans cette aventure, j'aimerais éclaircir 2 ou 3 petites choses :

J'ai moi même une netduino, j'ai fait un article à son sujet sur mon blog :wink:

diabolow:
-Est-ce que tous les produits que l'on peut acheter sur internet et étant compatibles avec "Arduino" le sont aussi avec "Netduino" ? (capteurs, moteurs, etc...)

Oui, et non, la plupart des shields arduino classique fonctionnerons avec une netduino.
Seulement certaines shields utilisant des fonctionnalités trés précise comme la "video experimenter shield" ne fonctionnerons pas par exemple.

Niveau logiciel il faut bien te rappeler que TOUT sera à faire toi même, drivers / librairies, code, etc.
Les librairies arduino classique ne pourrons pas être utilisé ! Cela implique donc de savoir lire un datasheet et savoir en extraire les informations utile.

diabolow:
-Est-il possible de faire un robot géré en wifi avec la "Netduino" ? (J'aimerais faire une sorte de voiture téléguidée avec une caméra, le tout contrôlé par mon ordinateur).

Pour faire du wifi il te faudra une shield wifi, celles de sparkfun sont assez simple à utiliser, par contre c'est 70€ minimum.
Pour la caméra, si tu as en tête de transmettre le flux vidéo par wifi via la netduino je t'arrête tout de suite ce n'est pas faisable, il te faudra obligatoirement un kit émetteur / récepteur vidéo externe.

diabolow:
-Faut il avoir d'énormes connaissances en électricité ? (Je n'ai que 16ans et n'ai jamais eu de cours d’électricité de ma vie :x je fais juste de la programmation à mes heures perdues)

Si tu compte te lancer dans un robot un peu avancé en C# il te faudra de solide connaissance en C# (logique), en bricolage (pour le montage), mais surtout en lecture / compréhension de datasheet / manuel en anglais.

barbudor:
NetDuino est un autre processeur qui se programme en C# sous VisualStudio et l'environnement dot.Net MicroFramework.
Au risque de me faire incendier par mes frères Arduinesques, l'environnement de développement et de mise au point (debug) VisualC# est a des années lumière devant l'environnement Arduino.
On peut faire du vrai pas à pas dans les fonctions, voir les variables, mettre des points d'arrêts. Le dot.Net MircroFramework contient un vrai environnement multi-tache (multi-thread en fait).

Aucune raison que tu te fasse incendier, VisualStudio est LE logiciel de développement C# VB.net par excellence !
Débugage temps réel, pas à pas, exécution depuis la ram ou depuis une carte SD, ... les possibilités offerte par la machine virtuelle .net sont infini.

barbudor:
Genre de chose qu'il est possible de faire sur le processeur ATmega328 mais plutôt hors de l'environnement Arduino.

Pas totalement d'accord, le pseudo multi-threading avec une surcouche RTOS ok, par contre le debug pas à pas & co sans matériel externe, même avec AVR studio c'est pas possible (faut au moins un debugeur externe, alors que la machine virtuel .net utilise directement l'usb).

barbudor:
Je ne connais pas trop la communauté NetDuino et surtout je ne sais pas s'il y a une communauté en français. En tout cas ici, autour de l'Arduino, il y a du monde pour t'aider.

Pas de communauté française, par contre il y a une grosse communauté Américaine.
J'ai eu le plaisir de discuter avec un des membres de la team netduino, ils sont trés sympa :slight_smile:

diabolow:
-Comment savoir si un accessoire compatible avec arduino l'est aussi avec netduino?

Soit ces marqué "arduino xxx uniquement", soit tu le déduit par toi même avec tes connaissances, sinon google + croise les doigts.

diabolow:
-Si un accessoire est compatible arduino et netduino et que j'ai un exemple de code en C pour arduino, il me suffit juste de traduire en ce code en C# pour qu'il fonctionne sous netduino?

Non il te faudra (dans la plupart des cas) tout reprendre de zéro, lire le manuel / datasheet du composant / shield, créer ta propre librairie, débuger, puis faire ton code final.
Certaine librairies existent tout prête sur internet pour la netduino, mais elles sont en nombre trés limité et souvent pour des domaines trés précis.

C'est plus compliqué d'autant plus que l'environnement dot.Net ferme beaucoup l'accès au hardware.

Ferme complétement l'accès au hardware, c'est une machine virtuelle, tu ne peut pas accéder directement au hardware.
Si le framework .net n'implémente pas un module pour un périphérique précis tu ne peut pas l'utiliser.
(Bon ok il y a le module "runtime interop" du .net micro framework qui permet d'exécuter du code assembleur mais bonjour la galére.)

En Arduino, jète un coup d'oeil chez Snootlab et lextronic. 2 vendeurs français. Il y en a d'autres ...
http://shop.snootlab.com/shields-snootlab/90-snootlab-starter-kit.html : n'inclue pas l'Arduino
http://www.lextronic.fr/R2830-combo-pack-arduino.html : idem, sans l'Arduino
Mais c'est basic : platque d'expérimentation, quelques leds, quelques résistances, des fils

Ou sinon http://www.watterott.com/index.php?page=index :grin:
Et n'oublions pas : http://store.arduino.cc/

Ah ouai, ça a l'air plus compliqué que prévu en faite :confused: Je vais un peu réfléchir pour voir si je prends une Arduino toute simple finalement ^^' En tout cas merci pour cette réponse