Aller au contenu


Photo
- - - - -

Qu'est ce qu'un Shield ?


15 réponses à ce sujet

#1 dydyouaki

dydyouaki

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 792 messages
  • Gender:Male

Posté 02 septembre 2011 - 02:52

Bonjour ,
Je voudrais savoir qu'est ce qu'un Shield et a quoi cela sert ?? Merci et bonne journee a vous.


Merci a tous
Cordialement Dylan.

#2 SRWieZ

SRWieZ

    Membre

  • Membres
  • PipPip
  • 231 messages
  • Gender:Male
  • Location:Evreux, Haute-Normandie, France

Posté 02 septembre 2011 - 04:12

Bonjour,
un shield dans sa définition est "un bouclier" mais je pense que tu veux parlé de shield d'arduino.
Les shields sont des cartes conçu pour se poser sur l'arduino, tu en as une liste complète ici : http://shieldlist.org/
Le plus connu de toute est le shield ethernet qui te permet d'ajouter un port ethernet à ton arduino qui rend donc l'accès à internet facile une fois branché à l'arduino.

J'espère t'avoir aider, si ce n'est pas de cela dont tu parler je m'en excuse. ;)

#3 dydyouaki

dydyouaki

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 792 messages
  • Gender:Male

Posté 03 septembre 2011 - 06:15

Salut ,
si c'est exactement ca , ce dont je parlais. Donc en fait se sont des "extensions" pour rajouter des fonctions a une carte Arduino, si j'ai bien compris . Merci eaucoup.


Merci a tous
Cordialement Dylan.

#4 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 03 septembre 2011 - 09:37

Salut ,
si c'est exactement ca , ce dont je parlais. Donc en fait se sont des "extensions" pour rajouter des fonctions a une carte Arduino, si j'ai bien compris . Merci eaucoup.



Pas forcements des fonctionnalités. Dosons que plutot que de prendre soit des composant et de faire un montage fonctionnel, soit plutot que de prendre une carte ayant certaines fonctionnalités et de la relier à ton Arduino par une serie de fils de connexion, un Shield te permet simplement (parsqu'il a les même connexions de s'enficher sur ta carte. Les pins dont le shield a besoins sont donc utilisés, mais ceux qui ne snt pas utilisés sont a nouveau disponible en gardant a nouveau la même connectique soit pour y enficher un autre Shield, soit y brancher des fils vers un capteur ou autre.

L'avantage du Shield est de minimiser les soudures les fils et c'est simple a installer

Cdlt
Yves

 


#5 dydyouaki

dydyouaki

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 792 messages
  • Gender:Male

Posté 04 septembre 2011 - 06:02

merci beaucoup de ta reponse , claire et simple ;)
pour programmer une Arduino , on utilise le language C++ ou , y-a t'il d'autre language de programmation ?
Merci a tous
Cordialement Dylan.

#6 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 04 septembre 2011 - 06:23

Pour une Arduino, seul le C++ est utilisé.
Il existe toutefois pour utiliser d'autres langages de programmation d'autres types de Microcontroleur.

Par exemple (mais je ne les connais pas tous )
Basic stamp langage basic
Les Pic assembleur et C et ou C++
Certains Puc en basic tel que les Basic X qui sont de tres puissants MC
Le Maple 32bits. ce MC est tres rapide car 32 Bits et 72MHtz. Il est parfaitement compatible Arduino et ce programme en C++. Les Shield Arduino sont egalement compatibles, est il est comme Arduino LL. Je pense bien que je finirais par en essayer un car il semble avoir la souplesse d'une Arduino avec la puissance et la rapidité en plus.
Si quelqu'un les a deja testé, je serais tres interressé par un retour d'experience.

D'inondation, voila pour ceux que je connzis, mzis il en existe d'eutres. Les plus reperdus étant les PICs bien sur.

Cdlt
Yves


 


#7 dydyouaki

dydyouaki

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 792 messages
  • Gender:Male

Posté 04 septembre 2011 - 06:40

merci a toi , je vais commencer a apprendre le language C++ sur le www.siteduzero.com ;) bonne journee .
Merci a tous
Cordialement Dylan.

#8 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 04 septembre 2011 - 06:40

Si le C++ rebute (et c'est mon cas), et si tu dois programmer en C++, alors il faut savoir qu'on peut programmer en C++ à peu près comme en C, sans utiliser les trucs spécifiques "orientés objet" du C++. Ca nécessite quelques adaptations assez simples. C'est ce que je fais sur BOB4, mon drone, même si c'est normalement du C# (ressemblant fortement à du C++) dont je n'utilise pas les possibilités "avancées".

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#9 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 04 septembre 2011 - 07:40

Justement Leon

Je fais partie aussi de ces personneS qui ne trouvent pas que le C++ soit un langage naturel.
De plus, j'ai appris de facon autodidacte et empirique à programmer en Basic puis en Visual Basic.
Du coup, le C et plus encore le C++ me parait bien difficile à aborder. Autant j'arrive a lire un code en VB et malgres mon faible niveau comprendre assez rapidement ce que fait ce code et comment s'articulent ses fonctions (je devrais donc dire "ses Sub"). Autant en C ou en C++ c'est une tout autre affaire.

Comme beaucoup dans mon cas, le site du Zero reste une reference pour l'apprentissage car il permet comme peux de livres ou de tuto de demistifier tout ça et de rendre ce langage moins effrayent au débutant que je suis.

Mais une question toutefois me taraude. J'ai commencé directement par les cours de C++. Cela a malgres la pedagogie de l'auteur du cours sur le Zero, cela m'a laissé la sensation que ce langage avait plus a voir avec le Chinois ou l'Hebreu que d'un langage simple à aborder.

Mon mentor en robotique ;) me dit de recommencer mais avec les cours de C et pas ceux en C++.

Alors, Arduino, c'est du C, du C++, ou une espèce rare entre les deux +.

Et comment comprendre que le C suffit sur Arduino alors que bon nombre d'instructions sont en C++.
Pour preuve, le nom meme de C++ (qui veux bien dire que c'est une incrementation du C) utilise des instructions en C++ et pas en C.

Justement, une incrementation s'écrit bien x++ et pas x=x+1.

Donc comment fait tu pour Developper en C sur un microcintroleur qui utilise du C++ ?

C'est bien ce que je disais il y a quelque temps. Plus j'en apprend et moins j'en sais. Ou plus exactement, plus j'en apprend moins je comprend ce que j'apprend. Pourtant, je ne lésine pas sur les efforts. Je trouve donc tout cela bien déroutant.

Iu tu pouvais avoir la gentillesse de nous expliquer tout cela, ce serait une excellente idée.

Merci d'avence

Cdlt
Yves

 


#10 Black Templar

Black Templar

    Membre

  • Membres
  • PipPipPipPipPip
  • 1 430 messages
  • Gender:Male
  • Location:Lille

Posté 04 septembre 2011 - 07:52

Salut Astron

Mon mentor en robotique ;) me dit de recommencer mais avec les cours de C et pas ceux en C++.


Ici, il y a deux écoles qui s'affrontent : ceux qui disent que le C++ peut tout à fait s'apprendre avant le C et ceux qui disent qu'il faut d'abord commencer par le C.
Personnellement, je serais plus de la seconde école. Je trouve que le C est plus simple à comprendre (même si le C++ est plus puissant et permet une meilleure organisation du code).
De plus, tu étudie vraiment la base ! Tu apprends à utiliser la mémoire, à allouer des espaces mémoire, etc. Une fois que ces bases là sont connues et maitriser, alors je il est possible de passer au C++ qui te permettra de manipuler des "objets" plus puissant !

Et comment comprendre que le C suffit sur Arduino alors que bon nombre d'instructions sont en C++.
Pour preuve, le nom meme de C++ (qui veux bien dire que c'est ene un télé ration de C) utilise des instructions en C++ et pas en C.

Justement, une incrementation s'écrit bien x++ et pas x=x+1.

Donc comment fait tu pour Developper en C sur un microcintroleur qui utilise du C++ ?


Tout simplement parce que le code en C est compilable avec un compilo C++ ! (et non l'inverse).
Les deux langages sont très proches et le C++ autorise la compilation de code en C !
Du coup, comme arduino est programmable en C++ modifié et que ce code est compilé en C++, il est tout à fait possible de coder en C. Le code résultant pourra donc être compris par le compilo C++ :)


++
Black Templar

Mon site internet : http://ferdinandpiette.com/


#11 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris

Posté 04 septembre 2011 - 08:28

Si le C++ rebute (et c'est mon cas), et si tu dois programmer en C++, alors il faut savoir qu'on peut programmer en C++ à peu près comme en C, sans utiliser les trucs spécifiques "orientés objet" du C++. Ca nécessite quelques adaptations assez simples. C'est ce que je fais sur BOB4, mon drone, même si c'est normalement du C# (ressemblant fortement à du C++) dont je n'utilise pas les possibilités "avancées".

Leon.


Personnelement je suis pareil, j'écris tout mon code en C. Je ne suis pas fan de la programmation objet sur microcontroleur.

Sinon Aston, comme tu le dis, le C++ est une "amélioration" du C. Et comme "qui peut le plus, peut le moins" ben un compilo C++ va forcement compiler du C.


Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.


#12 dydyouaki

dydyouaki

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 792 messages
  • Gender:Male

Posté 04 septembre 2011 - 11:35

Astondb8 je parle l'hebreu est c est plus facile que du C .
Moi je prefere apprendre du C++ , quitte a etre plus complique, mais qui seras mieu que le C . Apres chaqun ses facons .
Soyez gentil en passant , pour mon projet robot suiveur de ligne ou pourrais je troivais : led IR EL-7L et capteur IR ST-7L ????
Merci a tous
Cordialement Dylan.

#13 Leon

Leon

    Membre passionné

  • Membres
  • PipPipPipPipPip
  • 1 289 messages
  • Gender:Male

Posté 04 septembre 2011 - 11:56

Personnelement je suis pareil, j'écris tout mon code en C. Je ne suis pas fan de la programmation objet sur microcontroleur.

Sinon Aston, comme tu le dis, le C++ est une "amélioration" du C. Et comme "qui peut le plus, peut le moins" ben un compilo C++ va forcement compiler du C.

Et je rajouterai que pour programmer un microcontroleur, on a tout intérêt à déclarer un maximum de variables GLOBALES. Des variables déclarées une fois pour toutes. Il faut restreindre au maximum les allocations dynamiques, qui sont permises par beaucoup de compilateurs/environnement pour microcontroleurs. Tout ça à cause des faibles capacités en RAM, et du temps que peut prendre l'allocation dynamique. Donc c'est tout le contraire de l'esprit des langages évolués comme le C++ ou le C#. Un code pour microcontrôleur, avec plein de variables GLOBALES ferait criser de nombreux développeurs d'applications sur PC!

Ensuite, la majorité des programmes pour robot n'ont pas grand intérêt à utiliser des trucs "orientés objet". Un asservissement, du traitement du signal, ça n'utilise en rien les avantages de ces langages.
Dès qu'on touche à de l'intelligence artificielle, certains traitement d'image (des trucs complexes), l'intérêt de ces langages ré-apparait à mon avis. Mais de toutes façon, ça tient rarement sur de petits microcontroleurs, et on développe en général ça sur des plates-formes plus grosses.

Leon.

BOB4, mon drone hélicoptère autonome d'intérieur http://heli.bot.free.fr/
BOB3, mon robot autonome d'intérieur avec WiFi + Foxboard Linux http://ze.bot.free.fr/
BOB5, robot bipède simulé, puis tentative de réalisation (fail)


#14 Jbot

Jbot

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 801 messages
  • Gender:Male
  • Location:Paris

Posté 04 septembre 2011 - 12:10

En effet, je suis tout a fait d'accord, l'orienté objet dans un microcontroleur n'a pas des masses d'utilité. Au pire si on a besoin d'un "objet" on peut créer une structure pis voila. C'est ce que je fais moi. Aprés chacun sa façon de coder :)


Malédiction du Créatif :
Plus vous avez d’idées et moins vous arrivez à les structurer.


#15 Astondb8

Astondb8

    Pilier du forum

  • Membres
  • PipPipPipPipPip
  • 1 111 messages
  • Gender:Male
  • Location:Paris

Posté 04 septembre 2011 - 12:30

Soit

Donc si je comprend bien

Le C est plus basique que le C++ mais plus simple a apprendre
Il est largement suffisant pour la plupart des instructions dont nous avons besoin pour nos projets.
Par contre, comme le compilateur accepte aussi bien le C et le C++
Est il possible de mélanger les deux ?
Par exemple pour reprendre l'exemple de Jbot
Développer en C
Et si nous avons besoin d'un objet, le déclarer comme en C++ ?

Cdlt
Yves

 


#16 mvp86

mvp86

    Membre occasionnel

  • Membres
  • Pip
  • 136 messages
  • Gender:Male
  • Location:POITIERS

Posté 04 septembre 2011 - 01:52

Bonjour,

Je viens rajouter un peu mon grain de sel ;)
Que ce soit du C, du Pascal, Fortran, Cobol, .... c'est toujours un peu la même chose, à partir du moment ou l'on connait un peu les bases de la programmation (boucles, tests, ...) après c'est un peu la syntaxe qu'il faut adapter et la "philosophie", certains langages étant plus adaptés au traitement mathématique, d'autres aux données, d'autre proche de la machine (matériel), etc...

Pour l'Arduino, c'est un mélange de C et C++ et je pense qu'avec la platine en main et la doc en ligne (en Anglais + exemples) on peu commencer à se débrouiller un minimum en faisant des essais ;)
Inutile de prendre un bouquin sur le C++ ou le C, mieux vaut en choisir un sur l'Arduino qui donnera en plus ses fonctions spécifiques (qui n'existent pas en C ou C++).
A moins de vouloir tout connaitre sur le C, pour le futur...

Bon apprentissage.



Répondre à ce sujet



  


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

0 members, 0 guests, 0 anonymous users