haut ⇨ ⇦bas
Electro
ipv4:216.73.216.164
Année scolaire 2025-2026
stylo
Nano
Arduino Nano, basé sur un ATMega328 cadencé à 16 MHz, sa mémoire de 32 kB, ses interfaces sont:
  • 14 broches d'E/S dont 6 PWM
  • 8 entrées analogiques 10 bits
  • bus série, I2C et SPI
  • alimentation par microUSB
nano3

La liste des connexions est visible ici : connexions

Programmation avec l'IDE propre à Arduino en C++

écrit par : Stéphane Le Méteil, le 22/02/2023
RGB

Aujourd'hui j'ai mis en route une carte nano avec une led RGB.

Matériel nécessaire : un arduino nano, un module RGB, 4 fils, un bout de papier.

Le programme de base :
const int ledRouge = 11;
const int ledVerte = 10;
const int ledBleue = 9;

void setup()
{
pinMode(ledRouge, OUTPUT);
pinMode(ledVerte, OUTPUT);
pinMode(ledBleue, OUTPUT);
}

void loop() 
{
analogWrite(ledRouge,0);
analogWrite(ledVerte,0);
analogWrite(ledBleue,0);
analogWrite(9+random(3), 255-random(155));
delay(50);
}
On le télécharge sur l'arduino. Pourquoi ces sorties ? Car ils sont PWM c'est à dire que l'on peut écrire des nombres de 0 à 255 pour moduler l'intensité de la couleur, c'est le rôle d'analogWrite. Cela crée une tension de 0 à 5V pour allumer l'une des trois couleurs ici au hasard.
écrit par : Stéphane Le Méteil, le 22/02/2023
Mini écran OLED

Aujourd'hui j'ai mis en route une carte nano avec un mini écran OLED : ECRAN OLED I2C 128X64.

Matériel nécessaire : un arduino nano, un écran, 4 fils.

On utilise le port I²C (les ports A4(SDA) et A5(SDL) du nano)

le module


montage
Le programme:
#include < SPI.h >
#include < Wire.h >
#include < Adafruit_GFX.h >
#include < Adafruit_SSD1306.h >
// OLED display width and height, in pixels
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

// Declaration for an SSD1306 display
// connected to I2C (SDA, SCL pins)
#define OLED_RESET -1 // (-1 Arduino reset pin)
Adafruit_SSD1306 display(
SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);

void setup() {
  Serial.begin(9600);
  // Address 0x3D for 128x64
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 
  display.clearDisplay();
  delay(2000); // Pause for 2 seconds
  testdrawstyles();
}

void loop() {
}


void testdrawstyles(void) {
  display.clearDisplay();

  display.setTextSize(1);      // Normal 1:1 pixel scale
  display.setTextColor(WHITE); // Draw white text
  display.setCursor(0,0);      // Start at top-left corner
  display.println("Hello, world!");
  display.println("");
  display.setTextSize(4);      // Draw 4X-scale text
  display.setTextColor(WHITE);
  display.println("YES!");
  display.display();
  delay(2000);
}
écrit par : Stéphane Le Méteil, le 23/02/2023
Utiliser l'I2C
Utiliser un capteur de température/humidité et afficher les valeurs sur l'écran OLED avec l'I²C
Matériel nécessaire : un arduino nano, un écran, un module SHTC3, 12 fils. On utilise le port I²C (les ports A4(SDA) et A5(SDL) du nano)
L'écran: le module

Le capteur: le module

Le résultat : resultat

Lien vers le code arduino du projet.

Le port I²C fonctionne en parallèle, on peut donc brancher plusieurs capteurs dessus pourvus qu'ils aient des adresses différentes.
le montage
écrit par : Stéphane Le Méteil, le 24/02/2023
I2c et écran LCD
ecranLCD Récupérer une carte arduino UNO, un shield grove et un écran Grove-LCD-RGB-Backlight et tenter de faire apparaître un message.
Plusieurs écueils : Avantage indéniable : la simplicité du câblage.
Une bonne aide à la programmation sur cette page.
écrit par : Stéphane Le Méteil, le 19/02/2024
UNO R4
Utilisation du code

1. Copiez le code sur votre Arduino.
2. Téléversez le code sur votre Arduino.
3. Ouvrez le site Web https://ledmatrix-editor.arduino.cc/.
4. Cliquez sur le petit logo avec un Arduino en haut de la page.
5. Cliquez sur "I’VE UPLOADED THE SKETCH".
6. Cliquez sur "TRY".
7. Sélectionnez votre Arduino (en haut à gauche de l'écran). Si vous ne le voyez pas, essayez de débrancher et de rebrancher l'USB.
8. Cliquez sur "Verbinding maken".
9. Dessinez ce que vous souhaitez dans les cases au milieu de l'écran et cela apparaîtra sur votre Arduino.

#include "Arduino_LED_Matrix.h"

ArduinoLEDMatrix matrix;

void setup() {
  Serial.begin(115200);
  matrix.begin();
}

uint32_t frame[] = {
  0, 0, 0, 0xFFFF
};

void loop() {
  if(Serial.available() >= 12){
    frame[0] = Serial.read() | Serial.read() << 8 | Serial.read() << 16 | Serial.read() << 24;
    frame[1] = Serial.read() | Serial.read() << 8 | Serial.read() << 16 | Serial.read() << 24;
    frame[2] = Serial.read() | Serial.read() << 8 | Serial.read() << 16 | Serial.read() << 24;
    matrix.loadFrame(frame);
  }
} 
On dessine alors ce que l'on veut, on télécharge l'animation au format animation.h que l'on peut éditer avec un éditeur de texte. On crée alors un petit programme arduino pour visualiser l'effet.
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;

void setup() {
  Serial.begin(115200);
  matrix.begin();
}

const uint32_t animation[][4] = {
	{ 0x1b,       0x2482081,  0x100a0040, 66 },
	{ 0x20071b,   0x22482081, 0x100a0040, 66 },
	{ 0x1b03f,    0x864c60c3, 0x181b0040, 66 },
	{ 0x400e005b, 0x2482081,  0x100a0040, 66 },
	{ 0x1b,	      0x2482085,  0x10ea0440, 66 } };

void loop(){
  for (int i=0;i<5;i++) 
    { matrix.loadFrame(animation[i]); delay(200); }
}
écrit par : Stéphane Le Méteil, le 13/04/2024
Derniers articles publiés :
Le 13/02/2026 dans bia sous le titre : 13 Février
Le 09/02/2026 dans bia sous le titre : 6 Février
Le 03/02/2026 dans Cira1 sous le titre : Primitives
Le 03/02/2026 dans Première sous le titre : Contrôle N°5
Le 01/02/2026 dans Latex sous le titre : Bonne entête
Version du 30 Janvier 2026