Aller au contenu


Photo
- - - - -

Language programmation


  • Veuillez vous connecter pour répondre
18 réponses à ce sujet

#1 SProduction

SProduction

    Nouveau membre

  • Membres
  • 28 messages

Posté 30 octobre 2012 - 08:36

Bonjour,

Je souhaite me lancer dans la programmation afin de pouvoir rendre tous mes projets autonomes et débuter par la suite un nouveau robot.

Mais j'ai deux "petites questions:

- Quel micro-contrôleur me conseillez-vous d'apprendre? Je pensais faire avec les PIC, car le 16F84 a l'air relativement simple pour débuter, mais est-ce que les modèles supérieurs (jusqu’à de "très gros" modèles avec 40 pin par exemple) permettent de faire des applications assez "complexes" (avec intellingence artificelle, etc.) par la suite lorsque je les maîtriserai bien? ou me conseillez-vous autre chose?

- Quel langage choisir? le C, l'assembleur, le basic? A ce que j'ai pu comprendre, il vaudrait mieux le C qui est un bon compromis entre le basic et l'assembleur. Mais peut-on faire autant e choses en c qu'en assembleur? Car je n'ai pas trop envie, une fois que je maîtrise bien le c de devoir "perdre" quelques mois de plus pour apprendre l'assembleur...


J'espère avoir été assez précis dans mes questions...

Merci d'avance à tous!

Seb

#2 Francky

Francky

    Membre passionné

  • Membres
  • PipPipPip
  • 967 messages
  • Gender:Male

Posté 30 octobre 2012 - 09:11

Bonsoir,

permettent de faire des applications assez "complexes" (avec intellingence artificelle, etc.) par la suite lorsque je les maîtriserai bien? ou me conseillez-vous autre chose?

Oulah ! Perso je dirai non pour l'intelligence artificielle (ou alors sur de grosses bébêtes :)). Surtout que ça n'"existe" pas vraiment pour l'instant.

- Quel langage choisir? le C, l'assembleur, le basic? A ce que j'ai pu comprendre, il vaudrait mieux le C qui est un bon compromis entre le basic et l'assembleur. Mais peut-on faire autant e choses en c qu'en assembleur? Car je n'ai pas trop envie, une fois que je maîtrise bien le c de devoir "perdre" quelques mois de plus pour apprendre l'assembleur...

Pour l'assembleur, chaque modèle de pic a ses propres instructions (t'en as quand même qui ont en partie (au minimum) les mêmes). Après c'est comme tu veux. Le seul truc que je peux te conseiller c'est d'aller voir du côté de Bigonoff pour l'assembleur et du site du zéro pour le C. ;)

#3 SProduction

SProduction

    Nouveau membre

  • Membres
  • 28 messages

Posté 30 octobre 2012 - 09:31

Mais sinon, coté hardware, que me conseillez-vous?? PIC, Arduino, etc?

Dans mon esprit je suis parti sur le pic pour quelques principales raisons (et surtout dites moi si j'ai taur !):
- une gamme assez large en fonction des besoins
- contrairement aux arduino ou il faut acheter plusieurs cartes, le pic reste moins couteux
- Moins encombrant que l'arduino pour des systèmes embarqués (juste le pic et le circuit électronique nécessaire, alors que sinon, c'est plusieurs cartes et des fils un peu de partout (désolé, c'est comme ca que je vois les arduino :s ))

Et pour en revenir au langage, si l'assembleur offre des instructions propres à chaque pic, ca risque d'etre difficile de tout apprendre, et surtout de ne pas se mélanger... Donc peut on faire autant de choses en C qu'en assembleur (j'ai notament entendu parler du Gcc)


Merci

#4 Mgros

Mgros

    Membre occasionnel

  • Membres
  • Pip
  • 144 messages
  • Gender:Male
  • Location:Caissargues 30

Posté 30 octobre 2012 - 10:45

Salut pour info j'utilise des PICs.
j'ai débuté avec 16F mais je te conseillerais une série 18F qui est quasiment aussi simple à mettre en oeuvre mais qui à l'avantage de supporter suivant les modèle I2C USB ETHERNET UART CAN ANALOGIQUE etc...
Donc parfait pour un petit robot...
ensuite tu as MPLABX gratuit fournit par Micochip qui tourne sous linux ou windows ... tu peux programmer en C et tu as des librairies pour utiliser les fonctions type I2C UART etc...
et il te faut un programmateur (je conseille le pickit 2 qui permet de faire aussi logic analyseur parfait pour débugger le programme et voir ce que l'on ne peu voir à l'oeil ^^)...
a savoir qu'avec un pic tu peux utiliser les module arduino dans la plus par des cas suivant le model de ton pic...


Aprè l'arduino que d'autre sauront mieux argumenter ...
Mais tu le programme par USB dans un environnement de programmation gratuit...
et une communauté plutôt forte donc tu peux trouver du code tout fait rapidement...
@+
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.
Ma Chaîne youtube
------

#5 SProduction

SProduction

    Nouveau membre

  • Membres
  • 28 messages

Posté 31 octobre 2012 - 08:07

Etant donné que tu as l'air de pas mal tâter les pics, j'aurais quelques questions supplémentaires...

Pour la prog et de débuggage, je pensais investir dans une carte EasyPic de chez Mikroelektronika qui a l'air très complète (on peut faire tous les essais sur la carte par BP et led, ou en connectant direct nos équipements, elle gère également les afficheurs LCD, 7 seg, etc.)(voir ici: http://www.mikroe.com/easypic/) en as-tu déjà entendu parler, et penses-tu qu'elle soit compatible avec mplab (car je pense que c'est le logiciel pour lequel je pourrais trouver le plus de ressources, tutos, forums, etc.)

Sinon, au niveau du language de prog, qu'est ce que tu me conseillerai, sachant que je veux un langage qui soit assez évolutif, et performant... (C, assembleur, ou meme s'il y en a d'autres!)

Et si je veux connecter de l'arduino sur mon pic, comment ca marche? liaison série? connectique spéciale?


Encore merci à tous pour vos réponses et aussi pour celles qui viendront ;-)

#6 Francky

Francky

    Membre passionné

  • Membres
  • PipPipPip
  • 967 messages
  • Gender:Male

Posté 31 octobre 2012 - 10:00

Pour la prog et de débuggage, je pensais investir dans une carte EasyPic de chez Mikroelektronika qui a l'air très complète (on peut faire tous les essais sur la carte par BP et led, ou en connectant direct nos équipements, elle gère également les afficheurs LCD, 7 seg, etc.)(voir ici: http://www.mikroe.com/easypic/) en as-tu déjà entendu parler, et penses-tu qu'elle soit compatible avec mplab (car je pense que c'est le logiciel pour lequel je pourrais trouver le plus de ressources, tutos, forums, etc.)

Pour la carte, ça dépend vraiment de ton niveau et de ce que tu comptes faire. Après c'est clair que les pickit2 sont très souvent conseillées. Mais bon si tu as les moyens, peut être que la easypic vaut le coup (je ne la connais pas du tout). Essaie de faire des recherches sur google pour avoir des retours d'expérience.

Sinon, au niveau du language de prog, qu'est ce que tu me conseillerai, sachant que je veux un langage qui soit assez évolutif, et performant... (C, assembleur, ou meme s'il y en a d'autres!)

Si j'ai bien compris, l'assembleur est le langage le plus "proche" de la machine. Après, je pense qu'il vaut mieux que tu te fasses ta propre idée. Personnellement j'ai lu le cours de Bigonoff sur les 16f84a et maintenant je les programme en assembleur (je suis loin d'être un expert).

Et si je veux connecter de l'arduino sur mon pic, comment ca marche? liaison série? connectique spéciale?

Je crois que dans la plupart du cas c'est de l'I²C (tu as par exemple, de mémoire, le 16f877A qui le gère).

#7 SProduction

SProduction

    Nouveau membre

  • Membres
  • 28 messages

Posté 31 octobre 2012 - 10:47

Alors puisque tu programme en assembleur: y a-t-il beaucoup de différences pour chaque pic? (car je pense que je vais etre souvent ammené à utiliser diférents modèles de pic...)

En ce qui concerne la carte, je pensais à la EasyPic car elle à l'air assez complète, et je connais une personne qui vend la sienne pour 70€ (soit un tout petit peu plus cher que la Pickit), donc je pense que ca vaut le coup (oui? non?)...

merci

#8 Francky

Francky

    Membre passionné

  • Membres
  • PipPipPip
  • 967 messages
  • Gender:Male

Posté 31 octobre 2012 - 02:37

Alors puisque tu programme en assembleur: y a-t-il beaucoup de différences pour chaque pic? (car je pense que je vais etre souvent ammené à utiliser diférents modèles de pic...)

Il y a, par exemple, des différences au niveau du nombre de banques, des spécificités des pins (pour l'I²C, le PWM, ... ), ... Concrètement, tous les pics n'ont pas le même nombre d'instructions. De plus, il me semble qu'ils ont pas mal de points communs par famille (je suis plus tout à fait sûr). Au pire, si tu veux te faire une idée, tu peux regarder les cours de bigonoff ou même les datasheets des pics (les instructions sont fournies dedans).

En ce qui concerne la carte, je pensais à la EasyPic car elle à l'air assez complète, et je connais une personne qui vend la sienne pour 70€ (soit un tout petit peu plus cher que la Pickit), donc je pense que ca vaut le coup (oui? non?)...

Je ne peux pas trop te répondre. Mais bon c'est sûr le prix est intéressant. Après regarde au niveau des sites commerciaux si ça vaut le coup (prix des 2 pickits, etc).

#9 Mgros

Mgros

    Membre occasionnel

  • Membres
  • Pip
  • 144 messages
  • Gender:Male
  • Location:Caissargues 30

Posté 01 novembre 2012 - 09:20

pour les cartes easy pic le gros poins positif c'est que tu as une carte qui fonctionne avec un multitude d'exemples...
Et le point à la fois positif et négatif c'est le programmateur intégré pratique tant que tu reste sur la platine mais problématique quand tu veux programmer une nouvelle carte sur ton robot par exemple...
Et puis c'est un peu chère ...
(pour info j'en ai eu une ancienne après les nouvelle je sais pas)

Moi je te conseil le pickit2 que tu pourra utiliser avec tous les compilateur que ce soit Mikroc MPlabx etc...
Et pour la programmation passe directe en C si tu veux faire un robot ...
et commence par l'assembleur si tu veux avoir des bases et comprendre certaines chose mais pas pour réaliser un programme complexe c'est trop galère ^^...

Sinon pour débuter tu peux soit acheter une platine toute faite avec un PIC dessus ... soit acheter 1 pic 1 led et c'est quelques composants qui vont autours sur une platine proto pour faire clignoter une led ^^ ...


la on a déja parlé du pickit2

http://www.robot-maker.com/forum/topic/6610-programmateur-de-pic-usb-diy/page__p__43655__fromsearch__1#entry43655
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.
Ma Chaîne youtube
------

#10 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 217 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 02 novembre 2012 - 02:01

Je me greffe sur la conversation pour poser une petite question : si vous proposez le pic kit 2 au lieu du pic kit 3 c'est uniquement pour le prix ou par ce qu'il y a d'autres raisons que je ne connais pas ?

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#11 Francky

Francky

    Membre passionné

  • Membres
  • PipPipPip
  • 967 messages
  • Gender:Male

Posté 02 novembre 2012 - 11:19

Dans le pickit2 il y a un analyseur logique (de mémoire c'est ça). Le pickit 3 ne l'a pas mais permet de programmer plus de sortes de pics.

#12 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 10 217 messages
  • Gender:Male
  • Location:Anglet
  • Interests:Robotique, Entrepreneuriat, Innovation, Programmation, Résolution de problème, Recherche de solutions, Mécanique, Electronique, Créer, Concevoir

Posté 02 novembre 2012 - 03:51

Mince ... Si j'avais su ça avant j'aurais conseillé aux membres de mon équipe de commander le pic kit 2 au lieu du pic kit 3 ! Vu que c'est pas moi qui gérait ça j'ai pas regardé ... En fait faut tout faire soit même ! ^^

Plus sérieusement je vais aller zieuter à droite à gauche pour confirmer tes dires =) Au pire des cas je verrais bien ça mardi ou mercredi ^^ ( J'espère que tu as tord x) mais je sais pas pourquoi je pense que tu dois avoir raison x) ( cette loi de Murphy alors !:rolleyes: )

Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#13 SProduction

SProduction

    Nouveau membre

  • Membres
  • 28 messages

Posté 03 novembre 2012 - 10:31

Et j'ai récemment vu qu'il existait encore un autre langage pour programmer les PIC, il s'agit du JAL.

Quelqu'un le connait, ou pourrait me donner des infos dessus, voir même une petite comparaison avec le C et l'assembleur?


Merci

#14 Francky

Francky

    Membre passionné

  • Membres
  • PipPipPip
  • 967 messages
  • Gender:Male

Posté 03 novembre 2012 - 01:46

Plus sérieusement je vais aller zieuter à droite à gauche pour confirmer tes dires =) Au pire des cas je verrais bien ça mardi ou mercredi ^^ ( J'espère que tu as tord x) mais je sais pas pourquoi je pense que tu dois avoir raison x) ( cette loi de Murphy alors ! )

T'inquiètes, au pire des cas, le pickit3 doit pas être mal non plus ;p

il s'agit du JAL.

Désolé je ne connais pas ^^ Bon courage

#15 SProduction

SProduction

    Nouveau membre

  • Membres
  • 28 messages

Posté 04 novembre 2012 - 06:34

Et donc si j'ai bien compris, garce à l'assembleur, on peut également programmer des arm, non?

#16 Francky

Francky

    Membre passionné

  • Membres
  • PipPipPip
  • 967 messages
  • Gender:Male

Posté 04 novembre 2012 - 06:53

Et donc si j'ai bien compris, garce à l'assembleur, on peut également programmer des arm, non?

Désolé je n'en ai pas la moindre idée x')

#17 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPip
  • 1 212 messages
  • Gender:Male
  • Location:Autriche

Posté 04 novembre 2012 - 11:39

Et donc si j'ai bien compris, garce à l'assembleur, on peut également programmer des arm, non?


Si tu veux, mais bon courage ...

Le langage assembleur est un langage bas niveau qui permet d'agir directement au niveau des registres du processeurs. C'est dans ce langage qu'est traduit un programme en C compilé, par exemple. En gros, c'est ce que comprend la machine, sous forme lisible (ce que comprend vraiment la machine, c'est 1001110100 ...). Je t'invite à regarder un bouquin sur les processeurs et les architectures, ou Wikipédia pour plus de détails.

Le truc, c'est que si coder en assembleur te permet d'optimiser les performances de ton code, tu es contraint à des programmes très proches du matériel. Tu ne pourras pas te permettre des programmes mettant en jeu des concepts abstraits (typiquement de l'IA). Pour cela, passer par un langage plus haut niveau comme le C est plus pratique. C'est d'ailleurs l'intérêt de ces sur-couches.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot

#18 SProduction

SProduction

    Nouveau membre

  • Membres
  • 28 messages

Posté 05 novembre 2012 - 07:19

OK dons en clair, il vaut mieux bien connaitre le C qui sera plus polyvalent et permet de mettre en jeu l'IA ?

#19 R1D1

R1D1

    Modérateur et Membre passionné

  • Modérateur
  • PipPipPipPip
  • 1 212 messages
  • Gender:Male
  • Location:Autriche

Posté 05 novembre 2012 - 11:18

OK dons en clair, il vaut mieux bien connaitre le C qui sera plus polyvalent et permet de mettre en jeu l'IA ?


Oui et non. En fait, ça dépend de ce que tu veux faire et de ton matériel. Pour un microprocesseur (µP) de faible puissance, il peut être intéressant de rester proche de la machine : d'une, ce n'est pas lui qui gérera des algos d'IA (qui sont en général assez complexes et souvent un peu lourd), de deux, rajouter la couche (librairies) qui permet de faire du C peut être consommateur de place. Dans ce cas, il vaut mieux faire directement de l'assembleur dans la mesure où le µP reste simple. Pour moi, quand tu parles d'un ARM (il s'agit d'ailleurs d'une architecture), je pense à un processeur, qui est quand même plus complexe qu'un simple µP. Dans ce cas, le processeur embarque souvent un OS qui te donne accès à des couches de programmation plus abstraites, et des langages qui sont plus faciles à utiliser que l'assembleur.
R1D1 - Calculo Sed Ergo Sum -- en ce moment, M.A.R.C.E.L.
Avatar tiré du site bottlebot




1 utilisateur(s) li(sen)t ce sujet

0 members, 1 guests, 0 anonymous users