Open 4.2Fire alarm.py and click .
'''
* Filename : Fire alarm
* Thonny : Thonny 4.1.4
* Auther : http//www.keyestudio.com
'''
from machine import Pin,PWM,ADC # Import ADC module
import time
# configure ADC, range of 0-3.3V
# define io26,io27,io28,io29 to ADC channel 0,1,2,3
Flame = ADC(28) #Photores = ADC(2)
conversion_fator = 3.3 / 65535 #Voltage value of a single scale
buzzer = PWM(Pin(3))
buzzer.freq(800)
# read the analog value every 0.1s, convert the analog value into voltage output.
while True:
Flame_value = Flame.read_u16()
voltage = Flame_value * conversion_fator
print('ADC Value:',Flame_value,' Voltage:',voltage,'V')
if voltage < 2:
buzzer.duty_u16(5000)
else:
buzzer.duty_u16(0)
time.sleep(0.1)
Conceive:
Set a threshold of voltage to determine whether there is flame. When the sensor detects flame, the voltage is lower than the threshold, and the buzzer alarms. The buzzer will stop alarming when the voltage exceeds the threshold (the sensor detects no flame).
Code structure:
Initialization. Set the pins of the flame sensor and the passive buzzer, set the voltage value of a single scale, and set the frequency of the passive buzzer.
Loop.
Print the analog value and voltage of the flame sensor.
Determine whether the voltage is lower than 2 (Herein, we set 2 as the threshold, which is adjustable according to needs).
voltage < 2: buzzer alarms.
voltage ≥ 1: buzzer does not emit sounds.