Notions cles a retenir
Variable
Espace memoire nomme qui stocke une valeur
x = 42 (Python)
Boucle for
Repeter un bloc un nombre defini de fois
for i in range(n):
PWM
Modulation de largeur d'impulsion
Vmoy = alpha x Vmax
CAN
Convertisseur analogique-numerique
N = Ve x 2^n / Vref
GRAFCET
Description sequentielle d'un automatisme
Etape → Transition → Etape
I2C
Bus de communication 2 fils multi-peripheriques
SDA (donnees) + SCL (horloge)
Chapitres du programme
Algorithmique de base
1ereStructures fondamentales de la programmation
Algorithmique de base
1ereStructures fondamentales de la programmation
L'algorithmique est le socle de la programmation en SI. Un algorithme est une suite finie d'instructions permettant de resoudre un probleme. Les variables stockent des donnees (entier, flottant, chaine, booleen). Les structures conditionnelles (if/elif/else) permettent de prendre des decisions. Les boucles (for pour un nombre connu d'iterations, while pour une condition) repetent des instructions. Les fonctions structurent le code en blocs reutilisables.
Programmation Python
1ere-TermLangage utilise en SI pour le traitement de donnees et la simulation
Programmation Python
1ere-TermLangage utilise en SI pour le traitement de donnees et la simulation
Python est le langage de reference en SI pour le traitement de donnees experimentales. On l'utilise pour lire des fichiers CSV issus de mesures (capteurs, essais mecaniques), tracer des courbes avec matplotlib, et effectuer des calculs scientifiques avec numpy. Les listes permettent de stocker des series de mesures, et les dictionnaires associent des cles a des valeurs. La maitrise de Python est evaluee a l'ecrit et au projet.
Microcontroleurs et Arduino
1ere-TermProgrammer un systeme embarque pour commander des actionneurs
Microcontroleurs et Arduino
1ere-TermProgrammer un systeme embarque pour commander des actionneurs
Un microcontroleur (Arduino, STM32) est un petit ordinateur integre dans un circuit. Il possede des entrees (connectees aux capteurs) et des sorties (connectees aux actionneurs). Les entrees analogiques utilisent un CAN integre. Les sorties PWM permettent de moduler la puissance envoyee a un actionneur (variation de vitesse d'un moteur par exemple). Le programme est ecrit en C/C++ (Arduino) ou en MicroPython, televerse dans le microcontroleur et s'execute en boucle.
Systemes logiques et automates
1ere-TermProgrammation sequentielle et GRAFCET
Systemes logiques et automates
1ere-TermProgrammation sequentielle et GRAFCET
Le GRAFCET (GRAphe Fonctionnel de Commande par Etapes et Transitions) decrit le comportement sequentiel d'un systeme automatise. Chaque etape est associee a des actions, et les transitions sont franchies quand une condition logique (receptivite) est vraie. On distingue les divergences en ET (parallelisme) et en OU (choix). Le GRAFCET se traduit directement en programme pour un automate ou un microcontroleur avec une machine a etats.
Reseaux et communication
TermProtocoles de communication entre systemes
Reseaux et communication
TermProtocoles de communication entre systemes
Les systemes embarques communiquent entre eux et avec l'exterieur via des protocoles normalises. L'UART est le protocole serie le plus simple (2 fils : TX et RX). Le SPI est rapide mais necessite plus de fils. L'I2C permet de connecter plusieurs peripheriques sur 2 fils avec un systeme d'adressage. Le Bluetooth et le WiFi permettent la communication sans fil. L'IoT (Internet des objets) connecte les systemes embarques a Internet pour le suivi et le controle a distance.
Simulation et modelisation numerique
TermSimuler le comportement d'un systeme par ordinateur
Simulation et modelisation numerique
TermSimuler le comportement d'un systeme par ordinateur
La simulation numerique permet de predire le comportement d'un systeme avant de le fabriquer. On cree un modele numerique (CAO 3D, schema electronique, programme) et on le simule pour verifier qu'il repond aux exigences du cahier des charges. L'ecart entre le modele et le reel est analyse pour ameliorer le modele. En SI, on utilise des logiciels comme SolidWorks (mecanique), Proteus (electronique) ou Python (traitement de donnees).
Exemples de code
Lecture capteur (Arduino)
int capteur = A0;
int valeur;
void setup() {
Serial.begin(9600);
}
void loop() {
valeur = analogRead(capteur);
float tension = valeur * 5.0 / 1023;
Serial.println(tension);
delay(100);
}Traitement de donnees (Python)
import matplotlib.pyplot as plt
import csv
temps, tension = [], []
with open('mesures.csv') as f:
reader = csv.reader(f, delimiter=';')
next(reader) # en-tete
for ligne in reader:
temps.append(float(ligne[0]))
tension.append(float(ligne[1]))
plt.plot(temps, tension)
plt.xlabel('Temps (s)')
plt.ylabel('Tension (V)')
plt.title('Mesure capteur')
plt.grid()
plt.show()Ecosysteme de l'informatique embarquee
Langages
- Python (traitement de donnees)
- C/C++ (Arduino, STM32)
- MicroPython (Raspberry Pi Pico)
Cartes
- Arduino Uno / Mega
- STM32 Nucleo
- Raspberry Pi Pico
Protocoles
- UART (serie)
- I2C (multi-peripheriques)
- SPI (rapide, 4 fils)
Informatique au Bac SI
Les questions d'informatique portent sur la lecture/completion d'algorithmes, l'interpretation de GRAFCET, et le traitement de donnees en Python.
Astuces pour le bac
Lire un algorithme pas a pas
Executer l'algorithme a la main avec des valeurs d'exemple en faisant un tableau de suivi des variables a chaque etape.
GRAFCET : suivre les transitions
Pour determiner l'evolution d'un GRAFCET, verifier a chaque etape si la receptivite de la transition suivante est vraie.
