Salut à tous.
Je fait des circuits analogiques car je ne trouve pas de cours de Basic pour programmer mes microprocesseurs.
Quelqu'un pourrait m'aider?
Mais si vous avez aussi des tutoriels pour Logipic plus complets que ce que l'on trouve sur son site de téléchargement ça me serait utile.
Parce-que là je suis complétement perdu .
Merci à tous ce qui m'aideront.
PS:évités de m'indiquer des forum tant que possible car mon contrôle-parental m'y refuse l'accès.
Encore une fois, quels résultats essais tu d'atteindre ?
Quels sont tes moyens technologiques ?
Car plusieurs solutions s'offrent à toi...
1) La logique analogique/numérique, cablée sur plaque prépercée... Tu poses tes composants, les soudes, puis relie les pattes avec des bouts de fils... bien pour débuter mais vite agacant car tu as vite fait de faire des erreurs (et ca devient vite la jungle dans les fils...
2) Réaliser toi-mêmes tes cartes électroniques... nécessite des connaissances avancés en électronique pour faire la CAO des cartes (et pour que ca fonctionne à la fin) mais aussi besoin de matériel (circuit vierge, insoleuses etc etc), bref pas évident
3) les solutions "préfabriqués" (que les puristes détestent car trop amateurs) -> Arduino. Ces petites cartes ont un microcontroleur et tout son électronique de base d'embarqué sur une petite carte. le tout associé à la solution 1 permet de faire des montages de base en électronique analogique (pour la mise en place des capteurs par exemple) mais aussi numérique (pour le traitement en C et le pilotage de servo moteur par exemple)... et tout ça pour un prix "modeste"
Bref, encore une fois tout dépend de ton envie, tes moyens, ton temps, ta patience, tes connaissances/compétences...
Salut
je débute dans ce domaine mais j'ai des connaissances assez avancée dans le domaine de la programmation (.exe).
Je veux utiliser des microcontroleur dans le but de créer des circuits numériques.
La solution 3) combinée avec la solution 1) est pour moi la meilleur technique.
Je suis motivé et par contre mes moyens financiers sont très limités (mais mon prof de techno me donne parfois quelque composants); j'utilise beaucoup des composants de récupération.
Je débute dans le domaine des microcontroleurs et j'ai besoin d'aide!!!
Je sais qu'il faut une platine de chargement pour mettre le code dedans et ce n'est pas un problèmes.
merci d'avance.
PS:J'utilise les microcontroleurs pour des servomoteurs .
Si tu pars sur de l'arduino, pas besoin de platine de chargement... Les modèles de base (Uno) ont un port USB qui permet à la fois de charger le programme et aussi de faire de la com' par voie série (émulé sur le pc) pour envoyer/recevoir des données...
Une carte comme celle ci coûte moins de 30€
Après si ton prof de techno te donne des composants tu peux t'amuser à faire quelques trucs de base (chenillard à LEDs par exemple)...
L'utilisation de servo moteurs est aussi envisageable, la carte possède des pins +5V GND et plusieurs pins PWM et I/O. En plus plusieurs librairies sont fournies pour travailler avec...
Par contre si tu veux utiliser des moteurs plus gros (moteurs CC ou PàP) il te faudra commencé à faire de l'électronique pour cabler des ponts en H et autres joyeusetés...
Salut
Le chenillard toutes les 4e de mon collège le font (c'est donc déjà fait) et c'était sympa.
Pour un plus gros projet j'utiliserais ce que tu me conseille au début mais étant donné des moyens financier très très faible
j'utilise des microcontroleus moins cher (3€) ou il faut une platine de chargement (modèle 16f84A).
Citation
Par contre si tu veux utiliser des moteurs plus gros (moteurs CC ou PàP) il te faudra commencé à faire de l'électronique pour cabler des ponts en H et autres joyeusetés...
Pourrait tu m'expliquer ce que sont les moteurs CC et PàP ainsi que les ponts en H ect.
Moteur CC : moteur à courant continu et moteur PàP : moteur pas à pas.
Le pont en H permet – entre autres – de commander le sens de rotation d'un moteur.
Pour en revenir à ta question initiale, si tu veux programmer ton PIC, il te faudra comme tu l'as dit une platine de chargement, mais surtout sa documentation.
Ensuite si tu as le bon compilateur (mikroC par exemple), tu peux aussi bien le programmer en C.
Sur le site tu peux trouver beaucoup de documentation en tout genre qui pourrais t'aider. Mais je doute que tu trouves des tutos aussi détailler que ceux du SDZ. Et tout est en Anglais.
Si tu prends un PIC comme le 16f877 avec lequel j'ai écrit qqs programmes pour un TP, tu as un datasheet de plus de 200 pages. C'est vraiment détaillé, mais il faut vraiment avoir envie de s'y plonger.
La programmation en assembleur est 'tres bas niveau' et le nombre d'instruction est faible, un peu plus de 30 (Structure RISC). Tu peux trouver les instructions nécessaire à la programmation d'un PIC => http://wiki.4hv.org/index.php/Instruction_set:_PIC
Salut
merci pour le compilateur mais ou trouver des cours de C pour électronique???
Il n'y a rien de particulier dans le C embarqué, tout ce que tu dois savoir c'est lire la doc de ton PIC. Quasiment tout fonctionne en assignant des valeurs particulières à certains registres, tout est expliqué dans la fameuse doc (par ex. TRISA = 0xff; pour définir le port A en entrée).
Après le reste, c'est du classique avec des structures conditionnelles, etc.
Pour MPLAB, c'est juste l'IDE quiest gratuit, d'aussi loin que je m'en souvienne le compilateur est payant (en tout cas le C18 l'était,besoin d'une licence)...
Programmez en Assembleur est une idée intéressante mais vite difficile à mettre en oeuvre pour des résultats un peu plus complexe... (et plus difficile à débugguer aussi XD )
Pour ce qui est des sigles...
moteurs CC : moteurs à Courant Continu... les moteurs que l'on retrouve souvent dans les jouets. Tu mets une tension et hop ca tourne... tu inverses les fils et hop ca retourne (mais dans l'autre sens). Tu changes la tension et ca tourne plus ou moins vite.
moteurs PàP: Moteur Pas à Pas. Ils possèdent en général 4 bobines à l'intérieur. En pilotant les bobines dans le bon ordre tu feras tourner le moteur dans un sens ou l'autre (ou tu ne feras rien du tout si c'est mal piloté). Plus tu pilotes vite et plus tu tournera vite.
Pont en H: Composant qui sers "d'interface de puissance". Il se charge de faire la conversion "signal du microcontrolleur" vers "courant pour le moteur". En effet des sorties de microcontroleur ne peuvent pas délivrer de courant assez fort pour piloter un moteur (au risque de griller la sortie), on utilise donc un pont en H qui fera le lien entre logique et puissance.
Bonjour, j'ai un petit peu regardé et j'ai trouvé ça : nullPDF (nan, nan, j'dis pas que t'es nul faut qu'tu click sur PDF), c'est un document PDF qui m'a l'air pas mal...
Et si tu nas pas compris le système binaire, clique ici :
Le binaire est le système de base de machine (je crois ) qui est constitué de 0 et de 1.
Pour savoir comment ça marche, prenons un nombre...5 !
Voila la formule :
5/2=2, 5%2=1
||2/2=1, 2%2=0
|||||||1/2=0, 1%2=1
On prend le dernier nombre (1), l'avant dernier(0) et le premier (1), donc c'est 101. Si t'as toujours pas compris, faisons un autre exemple, 6 (j'ai pris au hasard) :
6/2=3, 6%2=0
||||3/2=1, 3%2=1
||||||||1%2=0, 3%2=1
Donc 110 :
En résumé, on fait le nombre de base / par 2 et %(modulo) 2(pour savoir si c'est 0 ou 1)on fait le résultat de la division précédente / par 2 , %2 etc...
J'ai pas tous lu, j'ai parcouru le sommaire et regarder quelques pages et j'ai envie de dire: Belle trouvaille. si tu as envie de te mettre à l'assembleur.
Personnellement je ne sais pas si ce langage ai vraiment pertinent à "apprendre". Il est très bon de savoir cependant le pourquoi du comment et de comprendre quelques instructions de base...
Car de mon expérience, j'ai toujours pu m'en passer et utiliser des langages de plus haut niveau (le C par exemple). Je n'allais voir l'assembleur que dans un but pédagogique. Après si tu tiens à faire de vrais optimisation il est indispensable de le connaitre...
D'accord avec toi pour le coté pédagogique de l"ASM !
Mais par contre, quand tu dis :
Citation : Eskimon
Après si tu tiens à faire de vrais optimisation il est indispensable de le connaitre...
Tu peux citer quelques optimisations utiles en asm, pour exemple, s'il te plait ?
Parce que j'aurais plutôt l'impression qu'aussi bien en haut niveau qu'en bas niveau, on peut optimiser correctement. Il faut juste savoir à quoi correspond un code de haut niveau dans ton ordinateur et ce que fait ton compilateur sur ton code de haut niveau (propagation constantes, suppression expressions communes, variables induction...).
Ok j'ai peut etre parler un peu vite dans ce cas...
Un point sur lequel on sera surement d'accord: Un code propre et ordonné est surement la première des optimisations à faire...
Savoir quel type de variable choisir pour quel usage (pourquoi prendre un int lorsqu'une variable n'a aucune chance de dépasser 255 ?)... ce genre de considération n'est pas assez souvent évoqué vu que "on s'en fiche dans un pc on a de la RAM a gogo"...mais pas dans un microcontrolleur...
Après pour ce qui est de l'ASM, je ne fait que quoter mes enseignants qui eux ont vu la naissance des µc et leurs évolutions. Nulle doute qu'a l'époque l'optimisation ASM existait... après, de ma mémoire d'étudiant, je ne me souvient pas avoir tripoté de l'assembleur pour optimiser koike se soit, les compilateurs le font tellement bien tout seul... j'ai juste eu a comparer les différences en opérations ASM entre deux différents niveaux d'optimisation sélectionnée pour le compilo...
Donc, en résumé, l'assembleur je suis ni pour, ni contre, bien au contraire...
Après pour ce qui est de l'ASM, je ne fait que quoter mes enseignants qui eux ont vu la naissance des µc et leurs évolutions. Nulle doute qu'a l'époque l'optimisation ASM existait.
Ah, je vois de quels genre d'optimisations tu parles (c'est la remarque sur les µc qui n'a fait comprendre). Il s'agit surtout de réduction en force : remplacer une (ou plusieurs) instruction lente par une (ou plusieurs) instruction équivalente mais plus rapide.
Sur les microcontroleurs et dans l'embarqué ça sert énormément, mais on peut parfois faire ça en C ou dans un langage de haut niveau directement. Il faut juste avoir les instructions de décalage, les opérations logiques et l'addition pour ça. Ainsi que quelques hypothèses sur les instructions.
Et pour comprendre le principe même de ce genre d'optimisations, connaitre l'ASM est un gros plus. D'ailleurs, sur le PDF posté plus haut, il en est fait mention.
Mais pour un programmeur PC, on s'en moque un peu, voir complétement : le processeur de ce genre de PC est une bête de course, le problème, c'est les accès mémoire et branchements.
Citation : Eskimon
Savoir quel type de variable choisir pour quel usage (pourquoi prendre un int lorsqu'une variable n'a aucune chance de dépasser 255 ?)
Bon, je me permets un détail hors-sujet, mais prendre un char à la place d'un int, c'est une mauvaise idée, car ça ralentit le temps d’exécution de ton application (mais je ne vas détailler ca ici, va voir mon tutoriel en béta-test sur l'optimisation de code, j'en aprle vers la fin).
J'ai l'impression que depuis le début on s'accorde sans se comprendre
Je pars d'une vision microcontrolleur (car c'était le sujet de base) et donc du principe qu'on travaille avec des composants 8 bits... autrement dit un char (8 bits) sera traité en une opérations alors qu'un int (16 bits) sera traité en deux... arrete moi si je me trompe mais dans ce cas le choix le plus judicieux sera de prendre un char si on est sur que la valeur ne dépassera pas 255.
Ensuite si on parle PC je suis absolument d'accord pour dire que le int sera meilleur que le char et ce pour le même raison... processeur 32 bits, int = 32 bits donc traité en une instruction alors que le char de 8 bits devra être analysé différement (désolé je n'ai pas trop le temps pour lire ton tuto...)
Après je peux me tromper, ou alors on parlait juste pas des mêmes choses...
Je fait des circuits analogiques car je ne trouve pas de cours de Basic pour programmer mes microprocesseurs.
Du Basic ? Pourquoi foutre ? Le BASIC rend fou.
Prends un Arduino ça coûte 20 €, il y a un environnement de développement très facile d'accès et des montagnes de tuto sur le net...
Si tu veux faire de l'assembleur (pourquoi pas... même si personnellement je trouve ça contre-productif) il y a toujours le célèbre site de Bigonoff sur les PIC...
Si t'es nostalgique du PC, prends un LPCXPresso, un ARM à 50 MHz avec le programmateur pour 20 €...
Et si t'es vraiment fauché et que t'aimes les platines d'essai, mais que tu veux quand même un uc décent et puissant qui se programme en C, éh bien prends un Launchpad à 4.30$ qui te permettra de jouer avec ls MSP430 de TI qui est un bon uc... pas cher aussi...
Citation
Bon, je me permets un détail hors-sujet, mais prendre un char à la place d'un int, c'est une mauvaise idée, car ça ralentit le temps d’exécution de ton application (mais je ne vas détailler ca ici, va voir mon tutoriel en béta-test sur l'optimisation de code, j'en aprle vers la fin).
Ça dépend si ton uc est un 8, 16, 32, ou autre, bits...
De toutes façons en embarqué "int", "char" etc, c'est à bannir, il faut utiliser les types genre int8, int16, etc (qui sont des typedef créés par un header spécifique au uc en question) ce qui te permet de savoir exactement ce que tu manipules, combien de cycles ça va prendre, et accessoirement de ne pas blinder les pauvres 128 octets de RAM du machin...
Merci !!!!!
Merci à tous.
merci Lord Casque Noir pour toutes ces précisions et je pense que je vais utiliser un Arduino comme tu me le conseil.
Merci à Troloul pour le PDF (c'est exactement ce que je cherchais.
Et un grand merci à Mewtow et à Eskimon pour toutes les informations et précisions fournies (Mewtow, je pense que j'irai lire ton tuto car il a l'air intéressant).
Encore merci à tous de m'avoir aidé et d'avoir répondu à mes questions.
Quitte à apprendre le microcontrôleur en ASM (et Saint Axerror sait que nous formons un comité restreint de sado-masochistes à "programmer dans ce langage), La référence pour moi, c'est les cours de Bigonoff, un PIC, et une carte de chargement simple (me souviens plus du prix, mais ça va pas taper très loin non plus ).
bon courage dans le monde passionnant des microcontrôleurs !!! =D
Salut,
j'ai finalement décidé d'utiliser un Arduino USB one pour créer la réplique du Ripsaw MS1 créé par H&H technologi (cliquer ici pour des photo).
Pourriez-vous me donner des indication sur comment bien le programmer (peut importe le langage) et les logiciels qui vont avec (un tuto serai génial)?
bah chez Arduino ils donnent tout, un IDE et tout le reste...
Le langage utilisé est le C++ (mais avec quelques particularités).
Tu pourras trouver plein de tutos sur leur site officiel (http://arduino.cc/en/Tutorial/HomePage)
Sinon pour travailler avec tu as juste besoin d'un cable USB pour relier ton pc a la carte et pouvoir ainsi la programmer/echanger des infos en voie série...
@pazzo: crée un nouveau topic, ca rendra ton sujet plus visible car je suis pas sur qu'il est sa place ici...et essaie d'apporter un peu plus de détails peut-être aussi...
Si tu connais le C++ c'est déjà une bonne chose (au passage dans mon précédent post j'ai fait une erreur, la langage Arduino est "Processing" et non pas "C++", je viens de le découvrir récemment... cependant les deux sont très proches)...
bonjour, je cherche un tuto avec des exercices corrigés pour m'entrainer à la programmation des microcontroleurs,j'utilise le compilateur microc et le logiciel de simulation proteus isis. est ce que quelqu'un peut m'aider?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !
Retrouvez moi sur mon blog et ma chaine Youtube !