Cours:Multimetre : Différence entre versions
(→Programmation sur SimulIDE) |
(→Programmation sur SimulIDE) |
||
| Ligne 57 : | Ligne 57 : | ||
==Programmation sur SimulIDE== | ==Programmation sur SimulIDE== | ||
| − | + | réglages pour utiliser le compilateur Arduino avec SimulIDE : | |
| + | Aller dans les paramètres (Settings) de SimulIDE et effectuer le paramétrage proposé dans le lien suivant pour pouvoir utiliser le compilateur Arduino avec SimulIDE. | ||
| + | suivre le lien suivant et | ||
**[[Media:Arduino sous SimulIDE.jpg]] | **[[Media:Arduino sous SimulIDE.jpg]] | ||
Version du 4 novembre 2025 à 11:16
Sommaire
Planning
- Mercredi : 8h30-12h30 14h-17h
- montage et test de la carte / routage / programmation sur SimulIDE
- Jeudi : 8h30-12h30 14h-17h
- étude théorique
- Vendredi : 8h30-17h (prévoir le déjeuner sur place)
- programmation : 8h30-14h30
- évaluation: 14h30-17h
KiCad
- tutoriels KiCad
Saisie de schéma
Réalisation d'un PCB
Fichiers
*Fichiers Kicad
*Fichiers SimulIDE
- liens tinkercad
- Liens feuilles de calculs
- Fichiers eagle :
Programmation
Vérification du fonctionnement de la carte
- Télécharger le fichier suivant qui contient le programme de test à uploader dans l'Arduino.:
- Ouvrir un terminal (console en mode texte) avec la ligne de commande suivante :
avrdude -v -patmega328p -carduino -P/dev/ttyUSB0 -b115200 -D -Uflash:w:Test_multimetre.ino.hex:i
Une fois le programme téléchargé dans l'arduino nano, lancer un environnement Arduino IDE (sans programme) et démarrer le terminal de l'Arduino: le programme de test attend des commandes à travers un menu pour tester les différents composants de la carte.
Remarque 1 : le port USB0 est parfois à remplacer par le port USB1 et la vitesse de transmission (115200 bit/s) est parfois à positionner à la moitié (57600).
Remarque 2 : le deuxième fichier (.asm) contient le source du programme (en Assembleur!!). bon courage ;)
Programmation sur tinkercad
https://www.tinkercad.com/things/dSQS8on1FL6
Programmation sur SimulIDE
réglages pour utiliser le compilateur Arduino avec SimulIDE : Aller dans les paramètres (Settings) de SimulIDE et effectuer le paramétrage proposé dans le lien suivant pour pouvoir utiliser le compilateur Arduino avec SimulIDE. suivre le lien suivant et
Editeur série
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println("running");
delay(1000);
}
Interruption associée à l'appui sur un bouton
void maFonction()
{
// actions à réaliser à chaque appui
}
void setup()
{
attachInterrupt(numInterruption,maFonction,typeDeChangement);
// numInterruption : 0 ou 1 selon la broche utilisée ( D2 ou D3 )
// typeDeChangement : FALLING ou RISING ou CHANGE
}
void loop()
{
// si (mode 1) : mesure de résistance
// alors …
// sinon si (mode 2) : mesure de tension
// alors …
// sinon si (mode 3) : mesure de courant
// alors …
}
Fonction affiche7sgt
// ! bien déclarer les broches en sorties !
void affiche7sgt(uint8_t n)
{
PORTB=(PORTB&0xf0)|(n&0x0f);
}
// exemple d'utilisation
affiche7sgt(2); // permettra d'afficher la valeur 2
affiche7sgt(i); // permettra d'afficher le chiffre i (entre 0 et 9 ! )
affiche7sgt(n%10); // permettra d'afficher la valeur des unités de n
Fonction multiplexage
#include <TimerOne.h>
volatile int valeur=0; // volatile est nécessaire lorsqu'on utilise attachInterrupt
int digit=1; // variable qui indique sur quel digit on affiche la valeur
void multiplexage()
{
// la variable digit change de valeur à chaque exécution de la fonction (de 1 à 4)
// si digit vaut 1, on affiche la valeur des unités de la variable valeur
// sinon si digit vaut 2, on affiche la valeur des dizaines de la variable valeur
// ...
}
void setup() {
//initialiser les choses à initialiser !
//mise en place de l'action périodique
Timer1.initialize(5000);
Timer1.attachInterrupt(multiplexage);
}
void loop()
{
valeur = valeur + 1 ;
delay(100);
}