I succeeded with the challenge pretty easily, but discovered I had a problem with the readings I was getting from the light sensor, and this has taken me all weekend to sort out.
The readings were doubling and dropping again every couple of readings (this is on the Raspberry Pi 3), so I tried it on the Raspberry Pi B+ and got stable readings. I retested the Raspberry Pi 3 got the same results, and double checked everything and got the same doubling and dropping.
Checked the internet and could not find this problem, so I posted on a couple of forums. Got offered some suggestions, but was still getting the same results.
So I got a new Raspberry Pi 3 a new official Pi 3 power supply, did a new SD card with Raspbian, got stable results. Checked the new SD card in old Raspberry Pi 3 got stable results, then did more swapping around of cards and checking. Then reinstalled Raspbian onto the old SD card and everything was working fine.
So the only conclusion I can come to is that ever when I first installed, or over time with updates, the old Raspbian had got corrupted.
Now I can move onto the next worksheet.
Bit of Raspberry Pi and Arduino
A Journal of what I have learnt/done with my Raspberry Pi and Arduino.
About Me
- Gothic Card
- Starting my journey into the world of Microcontrollers, electronics and programming, a bit late in life (but your never to old to learn).
Monday, 9 May 2016
Monday, 2 May 2016
Raspberry Pi CamJam EduKit 2 - Sensors - Part 4 Worksheet 4: Light
This worksheet uses an LDR - Light Dependent Resistor and a Capacitor to measure the light and print readings to the screen.
There is a jump wire that connects the Positive of the Capacitor and the LDR (in the diagram it is a yellow wire, which is a bit hard to see).
The actual wiring |
The video shows what happens, when you change the amount of light reaching the LDR.
The CamJam EduKits are really helping me learn Python programming, and using electronics, so pleased I finally bought them.
Now to try the worksheet challenge...
Sunday, 1 May 2016
Raspberry Pi CamJam EduKit 2 - Sensors - Part 3 Worksheet 3: Challenge Temperature, Lights, Sound
WORKSHEET 3 CHALLENGE:
To add Lights and Sound at different temperatures
The three temperatures I decided where- Red LED - 22'c and above
- Buzzer - 25'c and above
- Blue LED - 18'c and Below
I'm pleased as this is the first challenge I've succeeded at, so I must be learning something. (Got to lean how to video better). About 50% of the code I added to the Worksheet 3 code, to get the result.
The Code:
#CamJam EduKit 2 - Sensors#Worksheet 3 - Challenge - TemperatureLightsSound
#Import Libraries
import os
import RPi.GPIO as GPIO
import glob
import time
#Initialize the GPIO Pins
os.system('modprobe w1-gpio') #Turns on the GPIO module
os.system('modprobe w1-therm') #Turns on the Temperature module
GPIO.setmode(GPIO.BCM) #Set GPIO Mode
GPIO.setwarnings(False) #Turns of GPIO Warnings?
#Set Variables to store Pin Numbers
LEDRed = 18
LEDBlue = 24
BUZ = 22
#Set GPIO as Output
GPIO.setup(LEDRed, GPIO.OUT)
GPIO.setup(LEDBlue, GPIO.OUT)
GPIO.setup(BUZ, GPIO.OUT)
#Finds the correct device file that holds the temperature data
base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'
#A function that reads the sensors data
def read_temp_raw():
f = open(device_file, 'r') #Opens the temperature device file
lines = f.readlines() #Returns the text
f.close()
return lines
#Convert the value of the sensor into a temperature
def read_temp():
lines = read_temp_raw() #Read the temperature 'device file'
#While the first line does not contain 'YES', wait for 0.2s
#and then read the device file again.
while lines[0].strip()[-3:] != 'YES':
time.sleep(0.2)
lines = read_temp_raw()
#Look for the position of the '=' in the second line of the
#device file.
equals_pos = lines[1].find('t=')
#If the '=' is found, convert the rest of the line after the
#'=' into degrees Celsius, then degrees Fahrenheit
if equals_pos != -1:
temp_string = lines[1][equals_pos+2:]
temp_c = float(temp_string) / 1000.0
temp_f = temp_c * 9.0 / 5.0 + 32.0
return temp_c, temp_f
#Checks if the LEDs or Buzzer should be ON/HIGH or OFF/LOW
while True:
temp_c, temp_f = read_temp() # Retuns a TUPLE of 2 Values
#Set GPIO Pins LOW/OFF
GPIO.output(LEDRed, GPIO.LOW)
GPIO.output(LEDBlue, GPIO.LOW)
GPIO.output(BUZ, GPIO.LOW)
#Turns RED LED on if above 22'c
if temp_c > 22.0:
GPIO.output(LEDRed, GPIO.HIGH)
#Turns BLUE LED on if below 18'c
if temp_c < 18.0:
GPIO.output(LEDBlue, GPIO.HIGH)
#Turns BUZZER on if above 25'c
if temp_c > 25.0:
GPIO.output(BUZ, GPIO.HIGH)
#Prints Temperature to screen in Celcius and Fahrenheit
print(read_temp())
#Waits 1 second then returns to read temperature
time.sleep(1)
Raspberry Pi CamJam EduKit 2 - Sensors - Part 2 Worksheet 3: Temperature Sensor
Wiring Diagram |
What it actually looks like |
Confirmation sensor working |
There was beginner issues in getting the programme running correctly, and they were down to getting the indentations right in Python 3.
The programme prints the temperature out on to the screen in Celsius and Fahrenheit.
Tuesday, 26 April 2016
Raspberry Pi CamJam EduKit 2 - Sensors - Part 1 Worksheets 1 and 2
CamJam EduKit 2 kit contents |
Kit Contents:
-
1 x Breadboard
-
1 x Immersible temperature Sensor
-
1 x PIR Sensor
-
1 x LDR
-
1 x Active Buzzer
-
1 x Red 10mm LED
-
1 x Blue 10mm LED
-
1 x 4.7K Resistor
-
2 x 330 Resistor
-
10 x M/F Jumper Wires (Red)
-
4 x M/M Jumper Wires (Green)
LINKS:
Cambridge Raspberry Jam: http://camjam.me/
Can be bought from The Pi Hut: https://thepihut.com/collections/camjam-edukit/products/camjam-edukit-2-sensors
Code: https://github.com/CamJam-EduKit/EduKit2
Cambridge Raspberry Jam: http://camjam.me/
Can be bought from The Pi Hut: https://thepihut.com/collections/camjam-edukit/products/camjam-edukit-2-sensors
Code: https://github.com/CamJam-EduKit/EduKit2
Worksheet 1:
This worksheet covers setting up the Raspberry Pi, so you can do all the worksheets. This time also had to add a line to the boot/config.txt file, so you can use the Immersible temperature Sensor.
Worksheet 2: LEDBuzz
Diagram and what it actually looked like.
Saturday, 23 April 2016
Raspberry Pi CamJam EduKit 1 Part 3 Worksheets 6 and 7
Worksheets 6 and 7 Wiring:
Worksheet 6:
This programme just uses the buzzer to sound out SOS, and then there are two challenges (which I am working on).
Worksheet 7:
Uses LEDs, Button and Buzzer. It copies how traffic lights work;
- Green light for traffic
- Press button (waits 10 seconds)
- Amber
- Red and buzzer
- Amber flashes
- then back to Green
Raspberry Pi CamJam EduKit 1 Part 2 Worksheet 5
Worksheet 5: Push Button for Physical Input
The code from the worksheet uses the button and not the LEDs, you get a message on the screen when you press the button.
Subscribe to:
Posts (Atom)