Programmer les microcontrolleurs

Bonjour ,

j'ai fais un programme avec Arduino pour mon projet , est ça marchait , mais je veux ajouter plusieurs composants mais je n'ai pas de pin suffisante sur Arduino , de plus je veux imprimer cette carte , doc je ne peux pas continuer avec Arduino .
du coup je veux travailler avec des p'tits microcontrôleurs , mais qui contient plusieurs pins. j'ai trouver ATtiny88 ...., ou ATmega32 ,mais j'arrive pas à les programmer .
je veux convertir mon code Arduino en code C pour le mettre sur Atmel Sudio.
Merci

Quel arduino utilisiez vous ? une Arduino MEGA aura de nombreuses pins, beaucoup plus qu’un ATtiny88

Passez du C++ au C n’est pas simple, encore moins si vous dépendez de classes de certaines bibliothèques (Serial, …).

Expliquez nous mieux votre souci

Bonjour ,
oui je sais qu'un Arduino Mega aplus de pin , sauf que moi je veux faire une conception de carte que je vais imprimer , du coup je remplace l arduino par un microcontrolleur que je peux mettre dans mon circuit , la je travaill avec un ATmega 32 , IL SE PROGRAMME COMME Arduino , sauf que pour lire la valeur analogique je trouve un probleme
Avez vous une idee?

Le port A de votre atmega32 est connecté à l’ADC mais Avec l’information que vous partagez impossible de répondre….

Bonjour,
Cela pourrait vous intéresser.
Voici un topic sur le forum international concernant ATmega32

Voir la librairie ici. Il y a des extensions pour la gestion des voies analogiques.

Bonjour,
je vous remercie Monsieur .

oui il est connecté , ce que je cherche là est de lire la valeur analogique d'un capteur par exemple avec ATmega32 mais en utilisant ARDUINO IDE

Bonjour ,
le problème c'est que je reçois deux valeur différente si je lis sur la même sortie analogique , par exemple quand je lis analogRead(A0) sur Arduino il donne 238 , mais sur ATmega quand je met anaogRead(A0 ) donne 161.
ça vous dit qlq chose?

Est-ce que les entrées des convertisseurs sur les deux microcontrôleurs sont configurés de manière identique? Même nombre de bits par exemple.

Et surtout la tension de référence du convertisseur numérique analogique est-elle la même dans les 2 montages.

Même si , mais toujours le même problème
image

Voila mi je cherche la valeur de R qui depend de analogRead().
Saud que moi je fais la simulation sur Proteus , par contre j'alimente la ATmega32 par 5v contrairement à Arduino

oui , je me suis basée sur ça

Quelle tension y-a-t-il sur AREF?

J ai mis 5V , même si je change , ça change rien


Ici par exemple , quand je met le AVCC a 0V , quelque soit les autres composant , le analogread donne 1023 , par contre quand je met la tension de R (500) a 0 le analogRead() donne 0 , et quand je n'attache pas R2 a la masse ( circuit ouvert) le analogRead() donne 148 ???

Il ne faut pas mettre AVCC à 0V cela court-circuite l'alimentation.
L'image de la simulation que l'on voit c'est un ATmega32 seul ou c'est une carte contenant un ATmega32?
Si c'est l'ATmega seul, il n'y a rien sur AREF. L'ADC est configuré pour travailler avec quelle référence?

Non c'est just un ATmega seul
est csi je mets AVCCC a 5v qu'est ce que passe t il dans le circuit ?


voila pour arduino

Il faut lire les datasheets.
Dans la datasheet il y a cette contrainte : VCC-0.3 < AVCC < VCC+0,3
Et pour Aref : 2,0 < Aref < AVCC

Je ne sais pas à quel point la simulation est fidèle mais là, il n'y a pas de quartz sur ton schéma. Donc est-ce que le mega32 est configuré pour utiliser l'horloge interne?

Autrement, avec AREF connecté au +5V, le résultat de la conversion devrait être assez proche de ce que donne un Arduino Uno.

VOILA normalement , mais je ne sais pas d’où vient la différence ?

Je m'excuse , mais est ce que vous pouvez m'xpliquer l'utilité de l horloge interne , (du quartz)