⚡ Tutoriels Microcontrôleurs

PIC · Arduino · ATmega · ATtiny — du débutant au confirmé

Cours gratuits, exemples de code, projets pratiques et simulateurs interactifs pour maîtriser la programmation embarquée.

40+
Tutoriels
4
Plateformes
100%
Gratuit
6
Guides

Guides pour débutants, outils et références

Électronique, langage C, comparatifs de plateformes, programmateurs et IDE — tout ce qu'il faut savoir avant de coder.

PIC12F683, PIC16F877A, ATmega328P, ATtiny13 et ATtiny85 utilisés dans les tutoriels
Quelques-uns des microcontrôleurs utilisés pour les montages de tutoriel-pic.fr : PIC12F683, PIC16F877A, ATmega328P, ATtiny13 et ATtiny85.
🔋

Bases de l'électronique

Résistances, condensateurs, transistors, LED, loi d'Ohm, diviseur de tension et régulateurs. Tout pour câbler vos microcontrôleurs.

Guide Fondamentaux

PIC12F683 — Microcontrôleur 8 broches

Architecture 8 bits, oscillateur interne, ADC 10 bits, PWM et timers. Le microcontrôleur compact idéal pour débuter.

🎯

Introduction aux PIC

Découvrez le PIC12F683, son architecture, et les outils nécessaires pour débuter (MPLAB X, XC8, PICkit).

Débutant C · XC8
🔌

Comprendre les Ports I/O

Apprenez à configurer les entrées/sorties : registres TRISIO, GPIO et ANSEL.

Débutant C · Registres
🔢

Configuration Binaire

Maîtrisez la notation binaire et les opérations bit à bit pour contrôler précisément vos broches.

Débutant C · Bits
💻

Code LED Clignotante

Votre premier programme complet : faire clignoter une LED avec le PIC12F683 en langage C.

Débutant C · GPIO
🎮

Simulateur LED Interactif

Testez le fonctionnement du code en temps réel avec notre simulateur de registres et LED.

Pratique Interactif
⏱️

Les Timers (Timer0 / Timer1)

Utilisez les timers matériels du PIC pour créer des délais précis et des compteurs.

Intermédiaire C · Timer
📊

Convertisseur ADC

Lisez des valeurs analogiques (capteurs, potentiomètres) grâce au convertisseur 10 bits intégré.

Intermédiaire C · ADC 10 bits
📈

Signal PWM

Contrôlez la luminosité d'une LED ou la vitesse d'un moteur avec la modulation de largeur d'impulsion.

Intermédiaire C · CCP1
⚡

Les Interruptions

Réagissez instantanément aux événements externes grâce au système d'interruptions du PIC.

Avancé C · ISR

PIC16F877A — Le classique 40 broches

5 ports, 3 timers, ADC 10 bits, PWM CCP, UART, SPI et I2C. Le microcontrôleur de référence pour l'apprentissage embarqué.

🎯

Introduction au PIC16F877A

Découvrez l'architecture, le brochage 40 pins, la mémoire et les outils pour bien démarrer.

Débutant C · XC8
🔌

Comprendre les Ports I/O

Configurez PORTA à PORTE avec les registres TRISx pour gérer les entrées/sorties sur 5 ports.

Débutant C · TRISx
🔢

Configuration des Registres

Maîtrisez le binaire, les masques et la configuration des registres internes du PIC16F877A.

Débutant C · Registres
💻

Code LED Clignotante

Premier programme en C : faire clignoter une LED sur PORTB avec MPLAB X et XC8.

Débutant C · PORTB
⏱️

Les Timers (T0 / T1 / T2)

Utilisez les 3 timers matériels pour des temporisations précises, compteurs et bases de temps.

Intermédiaire C · Timer0/1/2
📊

Convertisseur ADC

Lisez des capteurs analogiques avec le convertisseur 10 bits et les registres ADCON0/ADCON1.

Intermédiaire C · ADC 10 bits
📈

Signal PWM CCP

Générez un signal PWM avec les modules CCP pour piloter LED, moteurs et servos.

Intermédiaire C · CCP1/CCP2
📡

Communication UART

Envoyez et recevez des données série avec le module USART pour PC, Bluetooth ou autre MCU.

Intermédiaire C · USART
🔗

Communication I2C

Bus I2C maître avec le module MSSP : registres SSPCON, capteurs I2C, EEPROM 24C02 et écran OLED.

Intermédiaire C · MSSP I2C
⚡

Communication SPI

Bus SPI 4 fils, modes CPOL/CPHA, lecture ADC externe MCP3008 et interfaçage carte SD.

Intermédiaire C · MSSP SPI
⚡

Les Interruptions

Interruptions globales, périphériques, Timer et externes sur le PIC16F877A.

Avancé C · GIE/PEIE

Arduino — L'IDE et l'écosystème

Apprenez à utiliser l'IDE Arduino, le langage Wiring/C++, et les bibliothèques de la communauté avec les cartes Uno, Nano et Mega.

🟠

Introduction à Arduino

Découvrez l'écosystème Arduino : les cartes (Uno, Nano, Mega), l'IDE, le bootloader et la philosophie open-source.

Débutant Arduino · C++
🖥️

Maîtriser l'IDE Arduino

Installation, configuration, bibliothèques, gestionnaire de cartes, moniteur série et raccourcis de l'IDE Arduino.

Débutant Arduino IDE 2.x
💡

Entrées / Sorties numériques

Utilisez pinMode(), digitalWrite() et digitalRead() pour contrôler LED, boutons et relais.

Débutant Arduino · GPIO
🎛️

Lectures analogiques & PWM

Lisez des capteurs avec analogRead(), générez du PWM avec analogWrite() et comprenez la résolution 10 bits.

Débutant Arduino · ADC/PWM
📡

Communication série (Serial)

Maîtrisez le moniteur série, le débogage par Serial.print() et la communication bidirectionnelle.

Intermédiaire Arduino · UART
🌡️

Interfaçage de capteurs

Connectez DHT11/22, HC-SR04, LDR, MPU6050, DS18B20 et d'autres capteurs populaires.

Intermédiaire Arduino · I2C/SPI

ATmega328P · ATtiny13 · ATtiny85

Programmation bas niveau en C avec AVR-GCC. Accès direct aux registres DDRx, PORTx, PINx, timers et interruptions sans couche d'abstraction Arduino.

🧠

Introduction à l'ATmega328P

Architecture AVR 8 bits, 32 Ko de Flash, 2 Ko de RAM, 23 GPIO, ADC 10 bits. Le cœur de l'Arduino Uno décortiqué.

Débutant C · AVR-GCC
🔌

Ports I/O et registres DDR

Maîtrisez DDRx, PORTx et PINx pour contrôler les broches en accès direct, sans digitalWrite().

Débutant C · DDR/PORT/PIN
⏱️

Timers et compteurs AVR

Configurez Timer0 (8 bits), Timer1 (16 bits) et Timer2 pour temporisations, PWM matériel et comptage.

Intermédiaire C · TCCRnA/B
📡

Communication UART

USART bare metal : registres UDR0, UCSR0, calcul baud rate, bibliothèque complète envoi/réception.

Intermédiaire C · USART
📊

Convertisseur ADC

ADC 10 bits bare metal : registres ADMUX, ADCSRA, prescaler, lecture capteurs et température interne.

Intermédiaire C · ADC 10 bits
🔗

SPI & I2C (TWI)

Bus SPI (SPCR, SPDR) et I2C/TWI (TWBR, TWCR) en bare metal. Bibliothèques maître complètes.

Intermédiaire C · SPI/TWI
⚡

Interruptions AVR

Gérez INT0/INT1, interruptions timer, PCINT et les vecteurs d'interruption avec la macro ISR().

Avancé C · ISR Vectors
🐜

ATtiny13 & ATtiny85

Les plus petits AVR : 8 broches, oscillateur interne, idéaux pour les projets ultra-compacts. Programmation avec USBasp ou Arduino as ISP.

Débutant C · 8 broches

Projets, Tests & Exemples

Montages complets avec schéma de câblage, liste des composants, code source commenté et dépannage — sur toutes les plateformes.

💡

LED clignotante avec un NE555

Réalisez une LED clignotante avec un NE555, sans programmation : composants, câblage sur breadboard, fonctionnement en mode astable et réglage de la vitesse de clignotement.

Débutant NE555 · Projet
🟠

Arduino Blink — Première LED clignotante

Découvrez pas à pas comment installer l’IDE Arduino, ouvrir l’exemple Blink, sélectionner l’Arduino Uno et son port, téléverser le programme puis modifier le délai de clignotement de 1000 ms à 500 ms.

Débutant Arduino Uno · Projet
💡

Arduino — LED externe sur breadboard

Réalisez un premier montage Arduino sur breadboard avec une LED externe et une résistance de 320 Ω. Découvrez le câblage sur la broche D8, le code Arduino et le résultat en vidéo.

Débutant Arduino Uno · Breadboard
🚨

PIC16F877A — Gyrophare LED rouge et bleue

Réalisez un gyrophare avec un PIC16F877A programmé par PICkit 3. Découvrez le câblage complet sur breadboard, le quartz 16 MHz, la résistance de 10 kΩ sur MCLR, les LED rouge et bleue sur RB0 et RB1, le code XC8 ainsi que le résultat final en photo et en vidéo.

Débutant PIC16F877A · XC8 · PICkit 3

📋 Comparaison des plateformes

Choisissez la plateforme adaptée à votre niveau et à vos projets (voir le guide complet) :

Caractéristique PIC12F683 PIC16F877A Arduino Uno ATmega328P
Architecture 8 bits, 8 broches 8 bits, 40 broches 8 bits (ATmega328P) AVR 8 bits, 28 broches
Mémoire Flash 3.5 Ko 14 Ko 32 Ko (0.5 Ko bootloader) 32 Ko
RAM 128 octets 368 octets 2 Ko 2 Ko
GPIO 6 (5 I/O + 1 entrée) 33 14 digital + 6 analog 23
Communication — UART, I2C, SPI UART, I2C, SPI UART, TWI, SPI
ADC 4 canaux, 10 bits 8 canaux, 10 bits 6 canaux, 10 bits 6 canaux, 10 bits
Langage C (XC8) C (XC8) C++ (Wiring) C (AVR-GCC)
IDE MPLAB X MPLAB X Arduino IDE Microchip Studio / VS Code
Programmateur PICkit 3/4 PICkit 3/4 USB intégré USBasp / Atmel-ICE
Coût ~1,50 € ~3 € ~5 € (clone) ~2,50 €
Idéal pour Projets compacts, coût minimal Apprentissage complet, projets académiques Débutants, prototypage rapide Programmation bas niveau, optimisation

🎓 Pourquoi apprendre les microcontrôleurs ?

Les systèmes embarqués sont partout autour de nous. Que vous soyez étudiant, maker ou professionnel, maîtriser les microcontrôleurs vous ouvre les portes de nombreux domaines :

Nos tutoriels couvrent 4 familles de microcontrôleurs pour vous accompagner étape par étape, du premier clignotement de LED jusqu'à la maîtrise des communications série et des systèmes temps réel.