Added Day #8 and edit Readme
This commit is contained in:
		
							
								
								
									
										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"> | <img src="https://git.unixweb.net/unixweb/pihut-advent-kalender/raw/branch/master/images/pihut-advent-kalender.jpg"> | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Joachim Hummel
					Joachim Hummel