Académique Documents
Professionnel Documents
Culture Documents
TRAVAIL DEMANDE
Comme le montre la figure ci-dessous, le travail de synthèse est constitué de :
Un afficheur OLED 128*32 branché avec le bus de communication I2C (SDA : pin D21 et SCL : pin 22) ;
Une LED D1 branchée (via une résistance R2) au GPIO17 qui sera configuré en sortie ;
Un Bouton poussoir BP1 branché au GPIO4 qui sera configuré en entrée avec activation d la résistance
Pullup interne ;
Un capteur de lumière LDR branché avec l'entrée analogique ADC1_0 (GPIO36) configurée comme suit :
Atténuation 11dB et résolution 12bits.
3,3V
DOIT ESP32 LDR
Gnd ADC1_0
3,3V
D17 R1
D4 R2
D21
D22
D1
BP1
Gnd
R2 = 220W et R1 = 10kW
void app_main(void)
{
// Appel du sous-programme d'initialisation de la plateforme matérielle
init_hw() ;
// Boucle temp-réel de commande
while (1)
{
// Lire l'état de BP1
Etat_BP = gpio_get_level(BP1_PIN);
// Tester l'état de BP1
if (Etat_BP == 0)
{
gpio_set_level(LED_PIN, 1); // turn on LED si BP1 appuyé
}
else
{
gpio_set_level(LED_PIN, 0); // turn off LED si BP1 non appuyé
}
// Lire la valeur numérique de la luminosité
Lum_value = adc1_get_raw(ADC1_CHANNEL_0);
printf("Luminosité Value: %d \n", Lum_value);
// Préparation et affichage valeur luminosité sur afficheur OLED
sprintf(&TexteOLED[0], "LUMINO : %02d", Lum_value);
ssd1306_display_text(&MYOLED, 2, TexteOLED, strlen(TexteOLED), false);
vTaskDelay(500/ portTICK_PERIOD_MS);
}
}