AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Microcontrôleur [électronique]

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 16:56

Bonsoir à tous,
J'ai eu l'occasion d'utiliser des microcontrôleurs au lycée (easypic (<~ ***** infâme) l'année dernière et mon PPE de cette année va utiliser arduino). Le fait est qu'en soit c'est plutôt cool et ca permet de faire pleins de trucs :
Spoiler:
 
Ca c'est le principal truc de notre tpe de l'année dernière, et on gérait ca grace à un microcontrôleur (connecté avec les câbles multicolores).
Bref, en gros j'aimerais bien faire mon propre microcontrôleur, histoire de mieux voir comment ca marche Smile Je peux me demerder pour imprimer/percer des circuits électroniques au lycée donc normalement je devrais pas avoir de problèmes d'ordre purement matériel (mis à part le fait que j'ai pas 200 balles à y investir).
L'idée ce serait d'avoir un truc assez vierge de base, avec le microcontrôleur en soi, et un max d'entrées et de sorties, ensuite suffirait de connecter d'autres modules/composants en fonction de ce qu'on veut faire.
Et donc forcément faudrait pouvoir le programmer, et c'est là que ca se complique... Faire un petit IDE basique ca devrait le faire et tout, mais c'est bien au niveau de la carte que ca va etre chaud... :/
Donc c'est là que j'aurais besoin de votre aide ! Wink De quoi faudrait que je parte ? J'aimerais bien ne pas avoir à gérer tout ce qui est bus de données en interne, donc ce serait cool d'avoir les opérations bit à bit pour commencer. De là je sais refaire toutes les opérations en base 10, mais ensuite j'ai un autre problème : comment je gère les instructions de bases, genre if, for, etc... ? Donc peut etre qu'il me faudrait un machin qui gère l'assembleur ?

Voilà, donc là ia mes questions en vrac, je pense que ia des gens qui s'y connaissent un peu ici, donc si vous avez des pistes, n'hésitez pas ! Smile
Merci à vous Smile

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 17:28

Ça se programme pas en C l'arduino?
Tous ceux que je connais qui ont programmés des microcontrôleurs l'ont fait en C en tout cas, c'est assez rare les cas ou faut passer par l'assembleur.

_________________
                 
Revenir en haut Aller en bas
En ligne
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 17:34

Ouais justement l'arduino c'est un genre de mix entre C/C++, et le easypic c'était aussi un genre de C (m'enfin vraiment à *****). Mais ce que j'aimerais faire c'est justement ce que font arduino ou easypic, c'est à dire grâce à un programme écrit sur la mémoire morte du microcontrôleur, pouvoir gérer l'état des sorties, en fonction des entrées (ou non mais ca revient au même). Mais donc justement avec easypic (je sais pas pour arduino), le programme en C était transcrit en assembleur depuis le PC, puis l'assembleur était envoyé sur le microcontrôleur.
Donc en fait ma question ce serait surtout : comment gérer de l'assembleur depuis le microcontrôleur? (j'ai conscience que c'est loin d'etre clair...)

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
avatar

Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 17:41

Un microcontroleur programmable en EPROM/EEPROM, c'est mission impossible a réaliser. Si tu veux faire un microcontroleur, je te conseille d'en faire un qui n'est pas reprogrammable, que tu programmes toi meme une fois (en d'autre terme, sans charger un programme mais directement en faisant un programme avec des composants).
Dans le cas ou tu veux vraiment vraiment partir sur un EEPROM, je ne pourrais pas t'aider...

Pour rappel aussi :


Citation :
The 8080 microprocessor back in 1975 had less than 5000 transistors whereas
the 2.2 GHz Pentium IV using .13 micron technology had about 42 million

source : http://www.embeddedrelated.com/usenet/embedded/show/14362-1.php
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 17:52

Ouai c'est pas clair, car la pareil que gabin j'ai l'impression que tu demandes comment faire toi même ta puce Very Happy

Si c'est ça faut passer par une sous branche des mathématiques qui s'appelle l'algèbre booléenne.
A partir de ça tu peux créer, a coup de portes nand ou nor (représentées par des opérations booléennes quand tu fais ça sur 'papier') une puce qui te fera les sorties que tu veux en fonction des entrées.
Mais ça, c'est loin d'être évident a concevoir, et ça coûte très cher a faire fabriquer (gravage sur silicium obligé si t'as beaucoup de portes logiques).

_________________
                 
Revenir en haut Aller en bas
En ligne
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 18:20

Déjà, merci à vous deux Smile
Donc c'est effectivement un EEPROM qu'il me faut, mais je veux pas en faire un, j'aimerais l'utiliser.
Le but ce serait justement de faire un truc programmable, donc je veux pas faire un truc destiné à une tache unique.
Les chiffres de ta citation sont effectivement impressionnants, mais comme dit je veux pas faire un EEPROM mais l'utiliser, puis effectivement j'ai pas besoin d'une capacité de calcul.

Si par algèbre booléenne tu parle des fonctions logiques style AND, OR, XOR, etc... et des équations du style S=a.(b+c)./d, ca je sais faire, mais c'est pas ce que je cherche.

Donc, avec vos pistes, ma question ca deviendrait plutôt comment utiliser une EEPROM ? Comment envoyer un programme dessus, capable de prendre en compte l'état des entrées et d'influer sur les sorties ?
Je cherche comment ca marche, mais merci déjà à vous, et si vous avez des conseils/infos supplémentaires, je suis à l'écoute Smile

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 18:32

Tu peux regarder du coté de https://www.ghielectronics.com/catalog/product/256
L'avantage c'est que pour communiquer avec le pc c'est que c'est du micro usb.
L'autre avantage, c'est que c'est du c# :p

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 18:40

Merci, mais ca c'est justement un équivalent d'arduino ou d'easypic, or moi c'est ce que je veux obtenir à la fin ; c'est à dire des entrées, des sorties et un EEPROM (ou équivalent) qui gère le programme.
Désolé que ce soit aussi tordu... :/

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 18:47

BA...
Tu as l'EEPROM que tu programmes sur une "planche à pain" à coup de composant et de porte logique, c'est le seul moyen

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 19:11

Ouais en fait, me suis embrouillé tout seul dans cette histoire, ia pas moyen de faire ca simplement et sans réinventer la roue... En gros meme si je trouvais comment y mettre un programme assembleur faudrait que je me farcisse un convertisseur C-like -> ASM, donc pas la peine... Donc effectivement le plus simple reste de passer par arduino (ou le truc que tu m'as montré Mobi), ou alors de faire effectivement une puce, pour un usage bien spécifique, avec effectivement des fonctions logiques.
Donc vous aviez raison, merci à tous de votre aide Smile
Vais me trouver un p'tit projet sympa et le faire avec ce qui existe déjà Smile
Désolé du dérangement Yum!

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
glcraft
Utilisateur confirmé: Rang *****
avatar

Messages : 1698
Localisation : Entre l'Espagne, l'Italie, la Suisse, L'allemagne et le RU :P
Projet Actuel : Jeu de survie avancé
||--------

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 2 Oct 2014 - 22:33

Pendant ma première (et seul) année de GEII, on a étudié l'ATMega32 et un autre que je m'en souviens plus. Je peux te le conseiller car développement en C99 (ou le dernier... m'en souviens plus non plus) donc très grandes maniabilité et flexibilité (je crois même qu'on peut programmer en C++) et l'IDE est juste parfait et gratuit, je l'ai trouvé aussi bien que code::blocks (à savoir que je développe que sous C::B)
Revenir en haut Aller en bas
http://gameblog49.skyblog.com/
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Microcontrôleur [électronique]   Ven 3 Oct 2014 - 5:16

Merci du conseil, l'arduino qu'on va utiliser pour le projet est justement basé sur un ATmega, donc j'aurais l'occasion de voir ce que ca vaut Smile

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
avatar

Messages : 7371
Localisation : Essonne

MessageSujet: Re: Microcontrôleur [électronique]   Jeu 16 Oct 2014 - 23:08

Ghu, c'est un truc de tueur le lien avec la FEZ Panda II O.O
T'as pas besoin de ça ^^

Je te conseille de te prendre une arduino uno, ça correspondra tout à fait à ton besoin ^^

Ensuite, regarde du côté du CHIP8, et implémente un émulateur chip8 sur la arduino.
ça sera pas mal proche de ce que tu veux faire.

Après, pour faire exactement ce que tu demande, il te faut une EEPROM (généralement ça côute moins d'un euro pour quelques centaines de Ko). Tu la branache à ton micro contrôleur (généralement, c'est par liaison I²C, mais parfois en SPI, plus rarement en parallèle).

Ensuite, tu te crée ton "langage" avec des fonctions (lire état por, changer état port, attendre, etc.).
Tu stockes tout ça dans l'EEPROM, et ton programme embarqué lit la mémoire et éxécute l'ordre.

Exemple ultra basique :

Commandes :
0 : arrêt
1 : aller à (+addresse)
2 : écrire état (+port)
3 : lire état (+port)
4 : inverser valeur courante
5 : définir valeur courante (+valeur)

EEPROM :
3 0 4 2 0 5 1 2 1 1 0

Et ce "programme" génère un signal carré sur la patte 0 et met la patte 1 à 5V.

pseudo code C pour le micro contrôleur :

Code:
Address = 0;
Buffer = 0;
while(1)
{
Action = read_eeprom(Address);
switch(Action)
{
case 0 :
{
break;
}
case 1 :
{
Address = read_eeprom(Address+1);
break;
}
case 2 :
{
Port = read_eeprom(++Address);
set_port(Port, Buffer);
break;
}
case 3 :
{
Port = read_eeprom(++Address);
Buffer = read_port(Port);
break;
}
case 4 :
{
Buffer = ! Buffer;
break;
}
case 5 :
{
Buffer = read_eeprom(++Address);
}
Default : break;
}
Adress++;
}

C'est crado, mais j'ai fait ça en live...

Microcontrôôôôôôleuuuuurs !
Kyyyaaaa ! <3 <3 <3 <3

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
l'antique http://www.membres.lycos.fr/thedarkminousite/
Bienvenue au 2516eme utilisateur : Gyratine !
Revenir en haut Aller en bas
http://www.membres.lycos.fr/thedarkminousite/
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Microcontrôleur [électronique]   Ven 17 Oct 2014 - 5:19

Ok , merci de ton aide !
Je vais regarder du côté des chip8!
Par contre ia un truc que j'ai pas capté dans ton code, c'est pourquoi t'incremente pratiquement tout le temps l'adresse quand tu veux lire/ecrire une valeur ? De la même façon, comment tu peux faire un if ou une boucle de cette façon ?
En tous cas merci de ton aide !

Je vais pas mal bouffer de tout ce qui est microcontrôleur cette année, pour notre PPE on va avoir une arduino méga avec ecrant tactile et émetteur Bluetooth (on va contrôler des verrins Yum!), et là mon prof m'a refilé une uni avec écran tactile et truc a quartz pour tester pendant les vacances, ainsi qu'une rasperry pie !

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8902
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Microcontrôleur [électronique]   Ven 17 Oct 2014 - 7:17

Bah c'est simple, pour lire l'instruction suivante faut forcément incrémenter l'adresse, sinon tu passes ton temps a exécuter la même. Faut voir cette variable comme le compteur ordinal, si jamais t'as déjà entendu ça quelque part Razz

_________________
                 
Revenir en haut Aller en bas
En ligne
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Microcontrôleur [électronique]   Ven 17 Oct 2014 - 16:19

Ah oui tiens, je suis incroyablement con décidément ^^
Bon par contre pour toutes les structures, franchement je vois pas (sauf pour les fonctions Yum!)

edit : ****** j'ai capté comment faire, merci à vous tous pour votre aide !

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
avatar

Messages : 7371
Localisation : Essonne

MessageSujet: Re: Microcontrôleur [électronique]   Dim 19 Oct 2014 - 21:23

Mais de rien, ce fut un plaisir ^^

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
l'antique http://www.membres.lycos.fr/thedarkminousite/
Bienvenue au 2516eme utilisateur : Gyratine !
Revenir en haut Aller en bas
http://www.membres.lycos.fr/thedarkminousite/
Gab666
Modérateur 'Zut'
avatar

Messages : 5339
Localisation : **I move away from the mic to breathe in

MessageSujet: Re: Microcontrôleur [électronique]   Sam 1 Nov 2014 - 5:44

Si le développer un CPU ça t'intéresse, tu peux me contacter en message privé ça va me faire plaisir de répondre à tes questions. Si c'est pour le développement de circuit numérique (avec FPGA par exemple, je peux définitivement t'aider.) Pour ce qui est du design de PCB je me débrouille quand même un peu.

_________________
PIS MANIAC PREND DES BAINS !
Revenir en haut Aller en bas
http://www.dermanium-online.webou.net/
Contenu sponsorisé




MessageSujet: Re: Microcontrôleur [électronique]   

Revenir en haut Aller en bas
 
Microcontrôleur [électronique]
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» A quel âge vos bibous ont eu leur première dent?
» Le livre électronique
» Les apiculteurs parlent des OGM de leur problèmes face a l'envahisseur...
» Acte notarié authentique sur support électronique (AASSE)
» comment leur expliquer qu'un bebe va arriver (cherche livre)

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: