Added Day #8 and edit Readme
This commit is contained in:
parent
2f82574cbf
commit
deb59ee3bd
68
8-dezember.py
Normal file
68
8-dezember.py
Normal file
@ -0,0 +1,68 @@
|
||||
# Imports
|
||||
import onewire, ds18x20, time
|
||||
from machine import Pin, PWM
|
||||
|
||||
# Set up the LED pins
|
||||
red = Pin(18, Pin.OUT)
|
||||
amber = Pin(19, Pin.OUT)
|
||||
green = Pin(20, Pin.OUT)
|
||||
|
||||
# Set up the Buzzer pin as PWM
|
||||
buzzer = PWM(Pin(13))
|
||||
|
||||
# Start PWM duty to 0% at program start
|
||||
buzzer.duty_u16(0)
|
||||
|
||||
# Set the data pin for the sensor
|
||||
SensorPin = Pin(26, Pin.IN)
|
||||
|
||||
# Tell MicroPython that we're using a DS18B20 sensor, and which pin it's on
|
||||
sensor = ds18x20.DS18X20(onewire.OneWire(SensorPin))
|
||||
|
||||
# Look for DS18B20 sensors (each contains a unique rom code)
|
||||
roms = sensor.scan()
|
||||
|
||||
def alarm(): # Our alarm function
|
||||
|
||||
buzzer.duty_u16(10000) # Buzzer duty (volume) up
|
||||
|
||||
for i in range(5): # Run this 5 times
|
||||
|
||||
buzzer.freq(5000) # Higher pitch
|
||||
|
||||
# LEDs ON
|
||||
red.value(1)
|
||||
amber.value(1)
|
||||
green.value(1)
|
||||
|
||||
time.sleep(0.2) # wait 1 second
|
||||
|
||||
buzzer.freq(1000) # Lower pitch
|
||||
|
||||
# LEDs OFF
|
||||
red.value(0)
|
||||
amber.value(0)
|
||||
green.value(0)
|
||||
|
||||
time.sleep(0.2) # wait 1 second
|
||||
|
||||
buzzer.duty_u16(0) # Buzzer duty (volume) off
|
||||
|
||||
while True: # Run forever
|
||||
|
||||
time.sleep(5) # Wait 5 seconds between readings
|
||||
|
||||
for rom in roms: # For each sensor found (just 1 in our case)
|
||||
|
||||
sensor.convert_temp() # Convert the sensor units to centigrade
|
||||
time.sleep(1) # Always wait 1 second after converting
|
||||
|
||||
reading = sensor.read_temp(rom) # Take a temperature reading
|
||||
|
||||
print(reading) # Print the reading
|
||||
|
||||
if reading < 25: # If reading is less than or equal to 18
|
||||
|
||||
alarm() # Call our alarm function
|
||||
|
||||
|
16
README.md
16
README.md
@ -88,5 +88,21 @@ So what did we cover on day #7? Today you have:
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
||||
Day 8 Complete!
|
||||
|
||||
Another day, another component completed! You now have a temperature sensor in your growing arsenal of parts to make projects with, and we're sure you'll use this one time and time again.
|
||||
|
||||
As you're probably starting to realise, a lot of these sensors and components are coded in a very similar way. Sometimes we need the help of imported libraries, sometimes we need resistors/additional hardware, but the fundamental way we write code for them (with loops, if statements and variables) is pretty consistent.
|
||||
|
||||
So what did we cover on day #8? Today you have:
|
||||
|
||||
Built a circuit with a temperature sensor
|
||||
Learnt how to use a temperature sensor with MicroPython and the Pico
|
||||
Used your first 1-wire component and the 1-wire library
|
||||
Created a temperature monitor and temperature alarm system
|
||||
Learnt more about for loops
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
||||
<img src="https://git.unixweb.net/unixweb/pihut-advent-kalender/raw/branch/master/images/pihut-advent-kalender.jpg">
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user