1.0 (sert d'exemple)

This commit is contained in:
2026-03-25 13:11:34 +01:00
parent ea708fc3d5
commit a0b29c9dc4

View File

@@ -1,81 +1,66 @@
"""
code adapté un une utilisation avec mcp3008 pour ldr
"""
import time
from machine import I2C, Pin, PWM, ADC
import utime
from gpiozero import LED, Button, PWMOutputDevice, AngularServo
from gpiozero import MCP3008
# LEDs
led_verte = LED(12)
led_verte_luminosite = LED(25)
led_rouge = LED(13)
led_bleue = LED(14)
led_rouge_gas = LED(10)
servo = AngularServo(32, min_angle=0, max_angle=180)
pir_sensor = Button(33)
gas_sensor = Button(34)
buzzer = PWMOutputDevice(11)
ldr_sensor = MCP3008(channel=0)
pwm = PWM(Pin(32), freq=50)
led_verte = Pin(12, Pin.OUT)
led_verte_luminosite = Pin(25, Pin.OUT)
led_rouge = Pin(13, Pin.OUT)
led_bleue = Pin(14, Pin.OUT)
led_rouge_gas = Pin(10, Pin.OUT)
pir_sensor = Pin(33, Pin.IN)
gas_sensor = Pin(34, Pin.IN)
ldr_sensor_pin = 35
adc = ADC(Pin(ldr_sensor_pin))
adc.width(ADC.WIDTH_10BIT)
adc.atten(ADC.ATTN_11DB)
buzzer_pin = 11
buzzer = PWM(Pin(buzzer_pin), freq=440, duty=0)
def activate_alarm():
for _ in range(3):
buzzer.duty(512)
utime.sleep(0.5)
buzzer.duty(0)
utime.sleep(0.5)
buzzer.value = 0.5
time.sleep(0.5)
buzzer.value = 0
time.sleep(0.5)
def checkPin(guess):
if guess == secret_pin:
display_message("Code correct")
display_message("Code correct", guess)
led_verte.on()
pwm.duty(120)
utime.sleep(2)
pwm.duty(75)
servo.angle = 90
time.sleep(2)
servo.angle = 0
led_verte.off()
else:
display_message("Code incorrect")
display_message("Code incorrect", guess)
led_rouge.on()
activate_alarm()
utime.sleep(2)
time.sleep(2)
led_rouge.off()
def display_message(message):
oled.fill(0)
hidden_secret = '*' * len(guess)
oled.text(hidden_secret, 0, 0)
oled.show()
utime.sleep(1)
oled.fill(0)
oled.text(message, 0, 0)
oled.show()
def pir_detection():
while True:
if pir_sensor.value() == 1:
if pir_sensor.is_pressed:
led_bleue.on()
utime.sleep(3)
time.sleep(3)
led_bleue.off()
utime.sleep(0.1)
time.sleep(0.1)
def luminosite_detection():
while True:
luminosite = adc.read()
luminosite = ldr_sensor.value * 1023
print(luminosite)
if luminosite > 300:
led_verte_luminosite.on()
else:
led_verte_luminosite.off()
utime.sleep(0.5)
time.sleep(0.5)
import _thread
_thread.start_new_thread(pir_detection, ())
_thread.start_new_thread(luminosite_detection, ())
import threading
threading.Thread(target=pir_detection, daemon=True).start()
threading.Thread(target=luminosite_detection, daemon=True).start()