Outils pour utilisateurs

Outils du site


start:arduino:debutant

Parcours Arduino débutant

Que peut on faire avec un Arduino

Toutes les cartes arduino

Les cartes Arduino que l'on va utiliser

Les logiciels utiliser

A télécharger sur votre ordinateur :

La version IDE Arduino au 01/09/2024 est la 2.3.2 , mais on peut bien sur utiliser une version plus ancienne 1.8.19 ou une version en ligne

* IDE Arduino

Interface graphique d'utilisation de l'utilitaire “avrdude” de Atmel (celui qui est utilisé, notamment, par Arduino IDE pour téléverser le firmware ou fichier .hex sur la carte mère de votre imprimante préférée, dès lors qu'elle est à base de microcontroleur Atmel (comme l'ATmega 2560, UNO, ou ATiny ). Cet outil est développé et entretenu par Zak Kemble (cf. http://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/). *AVRDUDESS

PlateformIO est un éco système open source conçu pour le développement IOS supportant le framework Arduino. Celui-ci est accessible depuis tout type de systèmes d’exploitation puis qu’il est programmé en python. *platformio pour programmer un arduino

Pour tester en ligne

Tinkercad

Après avoir creer un compte gratuit ou utiliser votre compte Google , vous pourrez tester vos montage Arduino et aussi faire de modélisation ( Simplifiée ) pour des pieces 3D .

Un exemple de montage arduino

Le materiel dont on va avoir besoin

Comparaison des caractéristiques des principales cartes Arduino et autres cartes

Cartes MControleurs (bits) Mhz V Flash(KB)Boot(KB)SRam(KB)EEpromDigitalI/OPWMAnalogI/Oint
Uno ATmega328P 8 16 5 32 0.5 2 1 14 6 62
Nano ATmega328P 8 16 5 32 2 2 1 14 6 82
Mega ATmega2560 8 16 5 256 8 8 4 54 15 166
Giga STM32H747XI 2Coeurs 32M7=480 M4=240 3.32MB 1MB 76 12 12 76
Micro ATmega32U4 8 16 5 32 4 2.5 1 20 7 125
Leonardo ATmega32U4 8 16 5 32 4 2.5 1 20 7 125
Nano RP2040 ARM Cortex M0+ 321333.316M2642020820
MKR ZERO SAMD21 Cortex-M0 32 48 3.3 256 32 no 2212 810
DUE AT91SAM3X8E 32 84 3.3512 96 54 12 1454
MKR WIFI 1010SAMD21 Cortex-M0 32 48 3.3 256 32no 8 12 8 10
MKR Vidor 4000] Intel® Cyclone® 10CL016 FPGA-SAMD21 Cortex®-M0 32 48/200 3.3 20008000 no 22tout 88
ESP32 Xtensa® single-/dual-core 32 240 2.7 ~ 3.6 64000520 448 ROM28 tout 18
PYBStick26 STM32F411 32 100 1.7 V to 3.6 512128 17 17 6
DocAtiny85 ATINY85 8 1-20 5 8 - 512o512o 6 22-

Materiels

Des liens pour des kits arduino

Pour apprendre à utiliser un Arduino

Des Livres

On apprend de nos erreurs

les variables globales et la fonction void setup Les variables

le sens des LEDS : cathode = -, anode = +, le meplat = -

la valeur d une résistance : 220 ohms n'est pas 10k ohms mesure des resistances et anneaux Calcul resistances Tension de seuil

la connexion à la carte Arduino : les ports USB sur windows 10

La syntaxe du langage Arduino : les ; et les { et }

Non détection des cartes Arduino :

Nano : soit mettre ancien bootloader, soit mettre Uno comme carte dans –> outils –> type de cartes –> UNO

Mega ou nano : le port COM non reconnu sous W10 , mettre à jour pilote dans gestion des périphériques, clic droit sur port COM et MAJ pilotes

Les programmes pour commencer

Voir dans les programmes exemples de l IDE arduino Arduino le grand Livre p221Programmes des montages N°1

Blink.ino
int led = 13;
 
void setup() {
  pinMode(led, OUTPUT);      // Définit la pin 13 comme pin de sortie
}
 
// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // Allume la LED
  delay(1000);               // Attend une seconde
  digitalWrite(led, LOW);    // Eteint la LED
  delay(1000);               // Attend une seconde
}

Le chenillard avec des LEDS Programme 1

Chenillard001.ino
int led1 = 3; // Déclaration de la variable
int led2 = 5; // Déclaration de la variable
int led3 = 6; // Déclaration de la variable
int led4 = 9; // Déclaration de la variable
int led5 = 10; // Déclaration de la variable
int led6 = 11; // Déclaration de la variable
 
 
void setup() {
  pinMode(led1,OUTPUT); // Défini la variable en tant que sortie (OUTPUT)
  pinMode(led2,OUTPUT); // Défini la variable en tant que sortie (OUTPUT)
  pinMode(led3,OUTPUT); // Défini la variable en tant que sortie (OUTPUT)
  pinMode(led4,OUTPUT); // Défini la variable en tant que sortie (OUTPUT)
  pinMode(led5,OUTPUT); // Défini la variable en tant que sortie (OUTPUT)
  pinMode(led6,OUTPUT); // Défini la variable en tant que sortie (OUTPUT)
 
}
 
void loop() {
 
    digitalWrite(led1, HIGH);
    delay(200);
    digitalWrite(led1, LOW);
    delay(200);
 
    digitalWrite(led2, HIGH);
    delay(200);
    digitalWrite(led2, LOW);
    delay(200);
 
    digitalWrite(led3, HIGH);
    delay(200);
    digitalWrite(led3, LOW);
    delay(200);
 
    digitalWrite(led4, HIGH);
    delay(200);
    digitalWrite(led4, LOW);
    delay(200);
 
    digitalWrite(led5, HIGH);
    delay(200);
    digitalWrite(led5, LOW);
    delay(200);
 
    digitalWrite(led6, HIGH);
    delay(200);
    digitalWrite(led6, LOW);
    delay(200);
 
 
}

Chenillard programme2

Chenillard002.ino
// ce programme allume les leds une par une
int pin[6]={3,5,6,9,10,11};
int temp0=50; //tempo pour allumer les leds
int temp1=50; // tempo pour eteindre
 
void setup(){
for (int i = 0 ; i<=5 ; i++){
pinMode(pin[i], OUTPUT);
}
}
 
void loop(){
for (int i = 0 ; i<=5 ; i++){ // boucle for pour allumer les leds une par une
digitalWrite(pin[i], HIGH);
delay(temp0);
digitalWrite(pin[i], LOW);
delay(temp0);
}
for (int i = 5 ; i>=0 ; i--){
digitalWrite(pin[i], LOW);
delay(temp1);
digitalWrite(pin[i], HIGH);
delay(temp0);
 
}
 
}

Chenillard Programme 3 en utilisant une fonction sinus

Chenillard003.ino
// les sorties avec PWM
#define LED1 11
#define LED2 10
#define LED3 9
#define LED4 6
#define LED5 5
#define LED6 3
 
// Valeur pour decaler le sinus
#define DECAL PI*2/6
 
// configuration des sorties
void setup(){
    pinMode(LED1, OUTPUT);
    pinMode(LED2, OUTPUT);
    pinMode(LED3, OUTPUT);
    pinMode(LED4, OUTPUT);
    pinMode(LED5, OUTPUT);
    pinMode(LED6, OUTPUT);
}    
 
void loop() {
  for (float i=0; i<PI*2; i=i+PI*2/1000) {
    analogWrite(LED1,sin(i)*127.5+127.5);
    analogWrite(LED2,sin(i+DECAL)*127.5+127.5);
    analogWrite(LED3,sin(i+DECAL*2)*127.5+127.5);
    analogWrite(LED4,sin(i+DECAL*3)*127.5+127.5);
    analogWrite(LED5,sin(i+DECAL*4)*127.5+127.5);
    analogWrite(LED6,sin(i+DECAL*5)*127.5+127.5);
  }
}

Chenillard Programme 4 avec moins de ligne de code toujours en utilisant une fonction sinus

ChenillardSinus4
// ce programme allume les leds une par une
int pin[6]={3,5,6,9,10,11};
 
 
 
// Valeur pour decaler le sinus
#define DECAL PI*2/6
 
 
void setup(){
for (int i = 0 ; i<=5 ; i++){
pinMode(pin[i], OUTPUT);
}
}
 
void loop() {
  for (float i=0; i<PI*2; i=i+PI*2/300) { 
    analogWrite(LED6,sin(i+DECAL*5)*127.5+127.5);   
    // ATTENTION ce programme ne fonctionne pas il faut ajouter une boucle for ...
    // A vous de chercher une solution pour remplacer 6 lignes par une seule....
    // Indices : boucle for imbriquée dans la première  avec une valeur de 0 à 5 ....
     }
  }
}

Correctionprogramme correction

Des Électronique 1 avec Bouton poussoir

Le des électronique 2 avec capteur Lumière

Des électronique

Des_electronique.ino
const int ECART=100;
const int TEMPO=2000;
 
void setup(){
 
	randomSeed(analogRead(1));
 
	for(int i=2;i<=8;i++){
		pinMode(i,OUTPUT);
	} 
}
 
void loop(){
 
	int luminosite1=analogRead(0);
	delay(100);
	int luminosite2=analogRead(0);
 
	if(luminosite2-luminosite1>ECART){
 
 
		afficheDe(random(1,7));
 
		delay(TEMPO);
		eteintDe();
	}
}
 
void afficheDe(int nombre){
 
	if(nombre==1){
		digitalWrite(5,HIGH);
	}
 
	if(nombre==2){
		digitalWrite(2,HIGH);
		digitalWrite(8,HIGH);
	}
 
	if(nombre==3){
		digitalWrite(2,HIGH);
		digitalWrite(5,HIGH);
		digitalWrite(8,HIGH);
	}
 
	if(nombre==4){
		digitalWrite(2,HIGH);
		digitalWrite(4,HIGH);
		digitalWrite(6,HIGH);
		digitalWrite(8,HIGH);
	}
	if(nombre==5){
		digitalWrite(2,HIGH);
		digitalWrite(4,HIGH);
		digitalWrite(6,HIGH);
		digitalWrite(8,HIGH);
		digitalWrite(5,HIGH);
	}
 
	if(nombre==6){
		digitalWrite(2,HIGH);
		digitalWrite(3,HIGH);
		digitalWrite(4,HIGH);
		digitalWrite(6,HIGH);
		digitalWrite(7,HIGH);
		digitalWrite(8,HIGH);
	}
}
 
void eteintDe(){
	for(int i=2;i<=8;i++){
		digitalWrite(i,LOW);
	}
}

TP

Autres Cours

/home/chanteri/www/fablab37110/data/pages/start/arduino/debutant.txt · Dernière modification : 2024/08/25 18:48 de gerardadmin