Les grands principes (Super debutant)

Bonjour,

En tant que super nowbee, je me pose pleins de questions sur ce que je pourrais creer avec arduino et comment faire et peut être que vous pourriez m'aider dans ces 1ers pas.

Je code avec CodeBlocks (debutant aussi en C) et je me demande si on est contraints à utiliser l'interface Arduino et sinon, comment on envoi les commandes à la carte ?
Du coup, peut-on adapter un programme pour faire reagir l'Arduino genre : une conditionnelle fonctionnant avec les touches clavier qui enverrait des ordres à des moteurs. J'imagine bien que oui mais j'aimerais bien voir comment ça marche.

Autre question : pourquoi peut on alimenter des moteurs ? pourquoi l'usb ne remplit il pas toujours cette fonction ?

azard:
Je code avec CodeBlocks (debutant aussi en C) et je me demande si on est contraints à utiliser l'interface Arduino et sinon, comment on envoi les commandes à la carte ?

Codeblocks, comme Eclipse te demandera de comprendre des notions comme les librairies statiques, la gestion d'avrdude, le fonctionnement interne d'un micro-contrôleur : pourquoi il faut une boucle infinie, etc........
Si tu es à l'aise avec ces sujets tant mieux, sinon il vaudra mieux éviter l'apprentissage triple : la gestion de l'IDE, l'apprentissage du langage et du fonctionnement interne du microcontroleur.

L'IDE arduino est simpliste et simplissime, l'aide à la détection d'erreur est minimale MAIS elle fonctionne sans avoir a rien faire et elle simplifie l'écriture du fichier source.. Et ça, ça n'a pas de prix pour débuter d'autant que la documentation est correcte.
Après une fois que tu aura découvert le monde des micros-controleurs tu pourra toujours te poser la question d'utiliser CodeBloks ou Eclipse et tu verra que cela te permettra d'apprendre d'autres notions très intéressantes. Si je peux me permettre : ne pas mettre la charrue avant les boeuf quand on débute. De même on ne se lance dans des projets semi-professionnel de suite : le baba en premier.

azard:
Du coup, peut-on adapter un programme pour faire reagir l'Arduino genre : une conditionnelle fonctionnant avec les touches clavier qui enverrait des ordres à des moteurs. J'imagine bien que oui mais j'aimerais bien voir comment ça marche.

La meilleure façon de voir c'est de lire les exemples fournis avec l'IDE. Ils sont fournis pour cela.

azard:
Autre question : pourquoi peut on alimenter des moteurs ?

Pourquoi mettre de l'essence dans une voiture ? Je ne suis pas sur d'avoir compris la question.

azard:
pourquoi l'usb ne remplit il pas toujours cette fonction ?

La définition de l'USB ne tient pas en 10 lignes. C'est une norme complexe et toutes les réalisations à base d'USB n'ont pas à satisfaire l'ensemble de la norme.
Les cartes arduino ne gèrent pas toutes l'USB de la même façon, voir "Products" sur ce site.
Si tu as des besoins particuliers expose les dans un nouveau sujet, il y a des membres très pointus sur le sujet qui pourront te renseigner mais si tu veux des réponses précises évite les demandes vagues.

azard:
Autre question : pourquoi peut on alimenter des moteurs ? pourquoi l'usb ne remplit il pas toujours cette fonction ?

La plupart du temps, l'USB ne fournit pas assez de courant pour alimenter les moteurs, car l'USB est limité en courant (500 mA max, à quoi il faut enlever ce qui est consommé par l'Arduino, etc...). Un moteur CC ou un servomoteur qui doit entrainer une charge consomme très souvent plus que ça et il te faut une source d'alimentation externe.

Effectivement je n'avais rien compris à la question.

En plus de ce qu'a dit 3Sigma j'ajouterais que les moteurs sont des générateurs de parasites et que, à moins de rechercher les ennuis, c'est une très mauvaise idée de les raccorder sur la même alim que le reste de l'électronique.
Idem avec les relais électromécaniques , en fait avec tout ce qui comporte une bobine.

merci beaucoup ! ça repond tout à fait à ma question.
Sinon et malgré les avertissements, sera-t-il possible (dans un futur peut-être loin pour moi =() de faire interagir un programme en C avec des moteurs ou autre ?
Pour exemple je vais prendre un jeu video (j'en conçois moi même) qui lancerait des ordres aux moteurs (exactement comme la dualshock de PS3)
Bref, l'IDE arduino permet-elle ce genre de chose et, sinon, peut-on avoir un dialogue avec une autre IDE ?
la reponse ne repond pas vraiment..

Bien sûr, c'est tout à fait possible.
Mais pour essayer d'être précis (même si je ne suis pas sûr de comprendre totalement ta question), l'IDE n'est qu'un moyen de développer un programme qui va tourner ensuite sur l'Arduino.
Concrètement, pour ce que tu veux faire, il y a deux choses:

  1. Tu vas utiliser l'IDE Arduino pour créer un programme et le télécharger sur la carte. Ce programme fera deux choses: lecture d'infos sur la liaison série (par exemple) et envoi des commandes aux moteurs
  2. Tu vas utiliser un autre IDE (n'importe lequel), un autre langage (n'importe lequel) qui va tourner sur un autre matériel (n'importe lequel),... enfin pas tout à fait n'importe lequel car le but sera de pouvoir envoyer sur une liaison série (par exemple) connectée à l'Arduino les infos de commande des moteurs.

Donc pour résumer:

  • un matériel quelconque, tu le programmes comme tu veux
  • un Arduino, tu utilises l'IDE Arduino pour le programmer
  • une liaison entre les deux (série par exemple)

Important: l'IDE Arduino, ce n'est pas comme Eclipse, tu n'as pas de bouton d'exécution pour exécuter un programme. L'IDE te sert à développer et à uploader le programme sur l'Arduino. Ce programme est ensuite exécuté par l'Arduino de façon autonome, dès que tu le mets sous tension, meme s'il n'est pas connecté à ton ordinateur.

Un IDE c'est un Environnement de Développement Intégré que ce soit Eclipse, CodeBlocks, Netbeans ou Arduino.
La différence tient entre EDI généraliste où il faut tout configurer et spécialisé où tout est déjà configué.
L'IDE arduino arrive avec les bibliothèques arduino déjà configurée, avec Eclipse et CodeBlocks il faut le faire toi-même.

Pour le reste la programmation d'un micro c'est du C/C++. Quel que soit l'IDE tu utilisera gcc et avr-gcc.
l'IDE ne décide pas de la programmation, il apporte une aide plus ou moins importance un point c'est tout.
Tu pourra faire tout ce qui est possible de faire avec le micro-contrôleur quelque soit l'IDE puisque ce sera un problème de C/C++.

Je suis un petit programmeur, je n'aime pas l'IDE Arduino, mais je dois reconnaître que si j'avais commencé avec CodeBlocks ou Eclipse j'aurais probablement été dégoutté et j'aurais laissé tombé. Je reconnais aussi que pour faire des essais c'est sacrément pratique d'avoir un truc qui fonctionne immédiatement sans avoir a configurer un nouveau projet.

Merci 3Sigma !
Je comprends le principe : on fait un prog "injecté" dans Arduino; on fait un prog logiciel avec n'importe quel language.
Via l'envoi d'infos sur la liaison serie, le prog Arduino reagira ... C'est limpide !!! XD

je programme depuis plusieurs années en ActionScript et un peu java mais tu me donnes des recherches à faire sur quelque chose que je ne connaissais pas : la liaison série.
Je me lance dans la comprehension de cette notion ! merci encore.