~~NOTOC~~ [[:start|{{ :iconemaisonrouge.jpg?nolink&25|Les wikis}}]] {{ :microc_logo.png?nolink|}} ===== Bienvenue sur Microcontrôleurs ===== ** Rédacteur(s)** : Philippe Mariano [Mise à jour le 10/5/2024] En cours de réorganisation === Présentation === Ce Wiki est consacré à la **mise en oeuvre** et à la **programmation** de cartes à **microcontrôleur** (Arduino, ESP, Raspberry Pi Pico, etc.: \\ - en **microPython** ou **circuitPython** (élèves ayant la spécialité **NSI**) \\ - en **C**, C++, **Arduino** (élèves ayant la spécialité **SIN**) MicroPython est une implémentation simple et efficace du langage de programmation Python 3, qui inclut un petit sous-ensemble de la bibliothèque standard Python et qui est optimisée pour fonctionner sur des microcontrôleurs. Il est suffisamment compact pour s’adapter à 256 ko d’espace de code et à 16 ko de RAM. CircuitPython est un dérivé open source du langage de programmation MicroPython destiné aux étudiants et aux débutants. Le développement de CircuitPython est soutenu par Adafruit Industries. Il s'agit d'une implémentation logicielle du langage de programmation Python 3, écrit en C. === Sommaire === - **TUTORIELS** - RANDOM NERD TUTORIALS((Random Nerd Tutorials helps makers, hobbyists and engineers build electronics projects. We make projects with: ESP32, ESP8266, Arduino, Raspberry Pi, ... )) - **NSI** - [[:microc:micropython:tuto1gpio|"Etape par étape" - Premiers programmes en MicroPython ou CircuitPython avec une carte Raspbery Pi Pico]] - **SIN** - [[:microc:arduino:tuto1ide2|"Etape par étape" - Premier programme avec une carte Arduino et l'IDE v2]] - **MATERIELS** - **Cartes de prototypage à microcontrôleurs** - [[microc:uc:uno|Arduino Uno (Wifi), Mega 2560]] - [[microc:uc:mkr|Arduino MKR Wifi 1010]] - [[microc:uc:rp2|Raspberry Pi Pico et Pico Wifi]] - Les modules Espressif - [[:microc:uc:esp01|ESP01(S)]] - [[:microc:uc:esp8266|ESP8266]] - [[:microc:uc:esp32|ESP32]] - BrainPad de GHI Electronics | MakeCode - Micro:bit | Documentation - Seeed Wio Terminal | PasswordVault on Seeed Studio Wio Terminal - Adafruit - [[:microc:uc:pyportal|Pyportal]] - Metro M4 - [[:microc:uc:pycom|Pycom]] - Particles - **[[materiels:accueilmateriels|Autres matériels : capteurs, afficheur, préactionneurs, actionneurs, etc.]]** - **LOGICIELS** - **Simulateurs** - Wokwi pour Arduino Uno, STM32, ESP32 et Raspberry Pi Pico - Makecode pour la carte BrainPad de GHI Electronics - MicroPython sur Unicorn - **IDE : Environnements de Développement Intégré** - Thonny (Python, MicroPython, CircuitPython) | To begin - Arduino IDE v2 (C, C++) | Utilisez l'IDE Arduino V2 avec un NAS Synology - **Mise en oeuvre des périphériques du microcontrôleur** - Communication - BUS (RS232, I²C, SPI) - [[reseaux:accueilreseaux|Réseaux]] - [[microc:gpio|Entrées, sorties (GPIO)]] - Généralités - Entrées, sorties numériques - Entrées analogiques - Gestion du temps - Timer - Horloge Temps Réel - WatchDog - Référence Arduino - Watchdog Arduino : explication du fonctionnement, et exemples de code - Stockage - [[:microc:Arduino:spiffs|Le système de fichiers LittleFS (évolution de SPIFFS) des ESP8266 et ESP32]] - **IoT - Objets connectés** - MQTT - Mise en oeuvre d'un client MQTT sur un [[:microc:iot:ClientMQTTESP8266|EP8266 (ESP32) Feather Huzzah ou un MKR Wifi 1010]] - Clouds - Cloud Arduino - ESP RAINMAKER - **Bases De Données** - [[info:bdd:accueilbdd|SQLite]] - Firebase - "Control ESP32/ESP8266 GPIOs from Anywhere" : [Article 1] [Article 2 : Web App] - **Multitâche** {{:python:hard50.png?nolink&20|}} - Introduction to RTOS - Write non-blocking code - Scheduler library - Azure RTOS ThreadX for Arduino 101: Threads - Discussions pour un "vrai" multitâche Introducing multitasking to Arduino - **Web** - [[microc:uc:mkr#serveurs_http|Serveur HTTP utilisé en projet]] - Arduino Uno - PHP - MySQL - ESP8266 First Web Server [doc] - **SAUVEGARDE ET COLLABORATION** - [[:outils:filezilla|Transférer des fichiers avec FileZilla client]] - [[:outils:git|Gestion de versions : démarrer avec Git et Github]] - [[:outils:vscode:liveshare|Travail collaboratif dans VSCode]] - [[:outils:compteEleve|Compte utilisateur sur le NAS Synology]] - Faire fonctionner l'IDE Arduino V2 sur un NAS Synology - **RESSOURCES TECHNIQUES** {{:python:hard50.png?nolink&20|}} - Ultimate Guide to Switch Debounce - From Zero to main(): How to Write a Bootloader from Scratch - Débogage des cartes Arduino® basées sur SAM avec Atmel-ICE - **Assembleur** - Articles : Pourquoi programmer en assembleur ? - Module 1 (vidéo) : Microcontrôleur Atmega 328P et sa programmation en langage assembleur * **WEBOGRAPHIE (Bibliothèques, tutoriels)** * [[:microc:arduino:webographie|Arduino]] * **BIBLIOGRAPHIE** * [[:microc:arduino:bibliographie|Arduino]]