SlideShare une entreprise Scribd logo
1  sur  13
RASPBERRY PI – USING PYTHON
2ND JUNE 2013
www.sf-innovations.co.uk
IDLE3 – Python Shell
Launch IDLE3 from the Raspberry GUI. This will allow us to experiment with
Python commands.
At the >>> prompt type
print („hello world‟)
You will see “hello world” on the screen.
At the >>> prompt type
20 + 5
You will see “25” on the screen.
This is a way of executing Python commands immediately. A programme is
simply a collection of commands executed consecutively.
www.sf-innovations.co.uk
Writing a Python program
Under the file tab in IDLE3, click on new window. You are now ready to
write a program. For now type the following exactly.
For x in range (1,10);
y=x * x
print “x=“, x, “square of x=“, y
Under the file tab, click on save and call the file “squarex”.
Launch LXTerminal from the Raspberry Pi GUI. This will bring you back to
the Linux command line prompt: pi@raspberrypi - $
Type “sudo python squarex.py” to run your program.
You will see
X = 1 square of x = 1
X = 2 square of x = 4
...
X = 9 square of x = 81
That‟s it. You‟ve written your first Python program.
www.sf-innovations.co.uk
Some notes on Python
You can run programs using the “run module” option under the run tab.
However when I tried this I got programming syntax errors. When I ran the
same program using the command line prompt, it worked fine.
Sudo – stands for “super user do”. With Linux, this gives you the right
privileges to run a Python program.
Comments - If you want to add comments to your program, then use # at
the start. For example, you could have started the program on the previous
page with
# program to work out squares of numbers from 1 to 9.
Using libraries – Many standard functions are available as libraries in
Python. These can be used by using the “import” command and will save
you a lot of time in programming.
For example “import time” will bring in a library which can be used for time
delays. “import random” will bring in a random number generator.
www.sf-innovations.co.uk
Turning an led on and off
We are going to use the GPIO port on the Raspberry Pi for this. To make the
connection easier, the Custard Pi 1 breakout board is used. This plugs
straight into the GPIO connector, provides easy screw terminal connection
and protects the Raspberry Pi from accidental damage.
The Raspberry Pi is mounted on the Custard Pi B prototyping base.
www.sf-innovations.co.uk
Hardware connections
We are using pin 11 of the GPIO port. This is available on connector J2 of the
Custard Pi 1 and is labelled as pin 11. This is shown on the image below.
The 0V (or Gnd) connection is the centre pin of the 3 pin power
connector J3.
J3
J2
www.sf-innovations.co.uk
Connecting the led
When pin 11 is True (taken high) the voltage on it will be almost 3.3V.
This needs to go to the positive side of the led. This is the longer leg of
the led. The other side of the led goes to 0V (Gnd).
Note: If you connect 3.3V across an led it will burn out. So it is important
to limit the current. This is done by using a 330 ohm resistor, in series
with the led.
From pin 11
From 0V
330 ohm resistor
Long leg of led
www.sf-innovations.co.uk
Python program to flash led
Type in the program steps below. The text behind the # explains what the
code does, but you do not have to enter this.
Import RPi.GPIO as GPIO # import GPIO library
Import time #import time library
GPIO.setmode(GPIO.BOARD) #use board pin numbers
GPIO.setup(11, GPIO.OUT) #setup pin 11 as output
For x in range (0,10): #repeat for x=0 to 9
GPIO.output(11, True) #set pin 11 high
time.sleep(0.2) #wait 0.2 seconds
GPIO.output(11, False) #set pin 11 low
time.sleep(0.2) #wait 0.2 seconds
GPIO.cleanup() #tidy up GPIO port
Import sys #exit program
Sys.exit()
Save the file as “ledonoff.py”.
www.sf-innovations.co.uk
Download code
Trying out the program
Open LXTerminal and type “sudo python ledonoff.py” to run the program.
The led should flash ten time at a fairly fast rate.
Try changing the time.sleep line from 0.2 seconds to 0.5 seconds. When
you run the program, it should flash ten times, but fairly slowly this time.
Tip: To rerun the program, press the upwards arrow to re-enter the last
command on the screen and then press return to run it.
Now change the x in range command from 0,10 to 0,5 to flash the led just 5
times.
Well done. You have just managed to write some Python code to flash an
led.
www.sf-innovations.co.uk
Reading a switch
We are going to wire a switch to pin 12 of the GPIO port only flash the led
when this is pressed.
....... (same first 3 lines as before)
GPIO.setup(11, GPIO.OUT) #setup pin 11 as output
GPIO.setup(12, GPIO.IN, pull_up_dpwn=GPIO.PUD_UP) #pull up resistor
While True: #repeat forever
input1=GPIO.input(12) #read status of pin 12 into “input1”
if input1==False: #is pin 12 false (low)
print “button pressed” #then button is pressed
For x in range (0,10): #repeat for x=0 to 9
GPIO.output(11, True) #set pin 11 high
time.sleep(0.2) #wait 0.2 seconds
GPIO.output(11, False) #set pin 11 low
time.sleep(0.2) #wait 0.2 seconds
Note: The indentation is important in Python.
www.sf-innovations.co.uk
Download code
Hardware setup
The picture below shows the switch set-up. One side of it is connected to pin
12 of the Custard Pi boards. The other side is connected to the 0V (GND)
connection.
The pull up option used when setting up pin 12 as an input keeps this high,
unless pulled low by the external switch.
TO 0V
Pin 12
www.sf-innovations.co.uk
Trying out the program
Save the file as “ledonoffsw.py” and then run from LXTerminal by typing
“sudo python ledonoffsw.py at the command line prompt.
Whenever the switch is pressed, the led should flash 10 times.
To come out of this program loop, press CTRL & C at the same time.
See if you can add another switch and modify the program to terminate
when this second switch is pressed instead of having to use CTRL & C.
www.sf-innovations.co.uk
Summary
Hope this presentation has been useful in getting started with Python on
the Raspberry Pi. The book “Programming the Raspberry Pi” by Simon
Monk is a useful introduction to Python.
Keep an eye on our website www.sf-innovations.co.uk for any updates to
this presentation, new Custard Pi layers or new presentations.
www.sf-innovations.co.uk

Contenu connexe

Tendances

Tendances (20)

IoT Control Units and Communication Models
IoT Control Units and Communication ModelsIoT Control Units and Communication Models
IoT Control Units and Communication Models
 
Data Analytics for IoT
Data Analytics for IoT Data Analytics for IoT
Data Analytics for IoT
 
IoT and m2m
IoT and m2mIoT and m2m
IoT and m2m
 
Inductive analytical approaches to learning
Inductive analytical approaches to learningInductive analytical approaches to learning
Inductive analytical approaches to learning
 
Implement iot using python
Implement iot using pythonImplement iot using python
Implement iot using python
 
IoT home automation project
IoT home automation projectIoT home automation project
IoT home automation project
 
15CS81- IoT Module-2
15CS81- IoT Module-215CS81- IoT Module-2
15CS81- IoT Module-2
 
Raspberry pi
Raspberry pi Raspberry pi
Raspberry pi
 
Unification and Lifting
Unification and LiftingUnification and Lifting
Unification and Lifting
 
Sensors in IOT
Sensors in IOTSensors in IOT
Sensors in IOT
 
Building Blocks for IoT Devices
Building Blocks for IoT DevicesBuilding Blocks for IoT Devices
Building Blocks for IoT Devices
 
Zigbee Presentation
Zigbee PresentationZigbee Presentation
Zigbee Presentation
 
Cloud of things (IoT + Cloud Computing)
Cloud of things (IoT + Cloud Computing)Cloud of things (IoT + Cloud Computing)
Cloud of things (IoT + Cloud Computing)
 
Prototyping the Physical Design_Internet of Things
Prototyping the Physical Design_Internet of ThingsPrototyping the Physical Design_Internet of Things
Prototyping the Physical Design_Internet of Things
 
Planning in AI(Partial order planning)
Planning in AI(Partial order planning)Planning in AI(Partial order planning)
Planning in AI(Partial order planning)
 
Unit 3 IOT.docx
Unit 3 IOT.docxUnit 3 IOT.docx
Unit 3 IOT.docx
 
RFID with INTERNET OF THINGS
RFID with INTERNET OF THINGSRFID with INTERNET OF THINGS
RFID with INTERNET OF THINGS
 
Security challenges in IoT
Security challenges in IoTSecurity challenges in IoT
Security challenges in IoT
 
Unit 4
Unit 4Unit 4
Unit 4
 
IoT Communication Protocols
IoT Communication ProtocolsIoT Communication Protocols
IoT Communication Protocols
 

En vedette

Raspberrypi best ppt
Raspberrypi best ppt Raspberrypi best ppt
Raspberrypi best ppt SOMRAJ GAUTAM
 
10 Great Tips for Business Owners
10 Great Tips for Business Owners10 Great Tips for Business Owners
10 Great Tips for Business OwnersSeggy Segaran
 
Custard pi 7 user information
Custard pi 7 user informationCustard pi 7 user information
Custard pi 7 user informationSeggy Segaran
 
Raspberry Pi Base - A flexible support frame for Raspberry Pi projects
Raspberry Pi Base - A flexible support frame for Raspberry Pi projectsRaspberry Pi Base - A flexible support frame for Raspberry Pi projects
Raspberry Pi Base - A flexible support frame for Raspberry Pi projectsSeggy Segaran
 
溫溼度數據統計
溫溼度數據統計溫溼度數據統計
溫溼度數據統計裕凱 夏
 
Python and the internet of things
Python and the internet of thingsPython and the internet of things
Python and the internet of thingsAdam Englander
 
Basic Electronics - Ohm's Law
Basic Electronics - Ohm's LawBasic Electronics - Ohm's Law
Basic Electronics - Ohm's LawSeggy Segaran
 
Basic Electronics - Resistors
Basic Electronics - ResistorsBasic Electronics - Resistors
Basic Electronics - ResistorsSeggy Segaran
 
Python in raspberry pi
Python in raspberry piPython in raspberry pi
Python in raspberry piSudar Muthu
 
MicroPython簡介
MicroPython簡介 MicroPython簡介
MicroPython簡介 Max Lai
 
Gettiing Started with IoT using Raspberry Pi and Python
Gettiing Started with IoT using Raspberry Pi and PythonGettiing Started with IoT using Raspberry Pi and Python
Gettiing Started with IoT using Raspberry Pi and PythonMartin Christen
 
Raspberry pi : an introduction
Raspberry pi : an introductionRaspberry pi : an introduction
Raspberry pi : an introductionLTG Oxford
 

En vedette (13)

Raspberrypi best ppt
Raspberrypi best ppt Raspberrypi best ppt
Raspberrypi best ppt
 
10 Great Tips for Business Owners
10 Great Tips for Business Owners10 Great Tips for Business Owners
10 Great Tips for Business Owners
 
Custard pi 7 user information
Custard pi 7 user informationCustard pi 7 user information
Custard pi 7 user information
 
Raspberry Pi Base - A flexible support frame for Raspberry Pi projects
Raspberry Pi Base - A flexible support frame for Raspberry Pi projectsRaspberry Pi Base - A flexible support frame for Raspberry Pi projects
Raspberry Pi Base - A flexible support frame for Raspberry Pi projects
 
MemoryPAT
MemoryPATMemoryPAT
MemoryPAT
 
溫溼度數據統計
溫溼度數據統計溫溼度數據統計
溫溼度數據統計
 
Python and the internet of things
Python and the internet of thingsPython and the internet of things
Python and the internet of things
 
Basic Electronics - Ohm's Law
Basic Electronics - Ohm's LawBasic Electronics - Ohm's Law
Basic Electronics - Ohm's Law
 
Basic Electronics - Resistors
Basic Electronics - ResistorsBasic Electronics - Resistors
Basic Electronics - Resistors
 
Python in raspberry pi
Python in raspberry piPython in raspberry pi
Python in raspberry pi
 
MicroPython簡介
MicroPython簡介 MicroPython簡介
MicroPython簡介
 
Gettiing Started with IoT using Raspberry Pi and Python
Gettiing Started with IoT using Raspberry Pi and PythonGettiing Started with IoT using Raspberry Pi and Python
Gettiing Started with IoT using Raspberry Pi and Python
 
Raspberry pi : an introduction
Raspberry pi : an introductionRaspberry pi : an introduction
Raspberry pi : an introduction
 

Similaire à Raspberry Pi Using Python

[5]投影片 futurewad樹莓派研習會 141218
[5]投影片 futurewad樹莓派研習會 141218[5]投影片 futurewad樹莓派研習會 141218
[5]投影片 futurewad樹莓派研習會 141218CAVEDU Education
 
Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013Tom Paulus
 
DeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel EdisonDeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel EdisonGabriel Arnautu
 
Python-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptxPython-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptxTuynLCh
 
Hands on Raspberry Pi - Creative Technologists
Hands on Raspberry Pi - Creative TechnologistsHands on Raspberry Pi - Creative Technologists
Hands on Raspberry Pi - Creative Technologistsbennuttall
 
Getting Started with Raspberry Pi - USC 2013
Getting Started with Raspberry Pi - USC 2013Getting Started with Raspberry Pi - USC 2013
Getting Started with Raspberry Pi - USC 2013Tom Paulus
 
Introduction to pcDuino
Introduction to pcDuinoIntroduction to pcDuino
Introduction to pcDuinoJingfeng Liu
 
manual_2020_Cyber Physical System.pdf
manual_2020_Cyber Physical System.pdfmanual_2020_Cyber Physical System.pdf
manual_2020_Cyber Physical System.pdfssuserc5ee4c
 
Raspberry Pi GPIO Tutorial - Make Your Own Game Console
Raspberry Pi GPIO Tutorial - Make Your Own Game ConsoleRaspberry Pi GPIO Tutorial - Make Your Own Game Console
Raspberry Pi GPIO Tutorial - Make Your Own Game ConsoleRICELEEIO
 
ScratchGPIO, Raspberry Pi & BerryClip
ScratchGPIO, Raspberry Pi & BerryClipScratchGPIO, Raspberry Pi & BerryClip
ScratchGPIO, Raspberry Pi & BerryClipDavid Dryden
 
pcDuino Presentation at SparkFun
pcDuino Presentation at SparkFunpcDuino Presentation at SparkFun
pcDuino Presentation at SparkFunJingfeng Liu
 
OpenGurukul : Language : Python
OpenGurukul : Language : PythonOpenGurukul : Language : Python
OpenGurukul : Language : PythonOpen Gurukul
 
Introduction to Raspberry Pi and GPIO
Introduction to Raspberry Pi and GPIOIntroduction to Raspberry Pi and GPIO
Introduction to Raspberry Pi and GPIOKris Findlay
 
Raspberry pi pico projects raspberry pi projects
Raspberry pi pico projects raspberry pi projectsRaspberry pi pico projects raspberry pi projects
Raspberry pi pico projects raspberry pi projectsIsmailkhan77481
 
Ins and Outs of GPIO Programming
Ins and Outs of GPIO ProgrammingIns and Outs of GPIO Programming
Ins and Outs of GPIO ProgrammingICS
 

Similaire à Raspberry Pi Using Python (20)

Raspberry pi led blink
Raspberry pi led blinkRaspberry pi led blink
Raspberry pi led blink
 
[5]投影片 futurewad樹莓派研習會 141218
[5]投影片 futurewad樹莓派研習會 141218[5]投影片 futurewad樹莓派研習會 141218
[5]投影片 futurewad樹莓派研習會 141218
 
4. GPIO Access
4. GPIO Access4. GPIO Access
4. GPIO Access
 
Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013Getting Started With Raspberry Pi - UCSD 2013
Getting Started With Raspberry Pi - UCSD 2013
 
DeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel EdisonDeviceHub - First steps using Intel Edison
DeviceHub - First steps using Intel Edison
 
Python-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptxPython-in-Embedded-systems.pptx
Python-in-Embedded-systems.pptx
 
Hands on Raspberry Pi - Creative Technologists
Hands on Raspberry Pi - Creative TechnologistsHands on Raspberry Pi - Creative Technologists
Hands on Raspberry Pi - Creative Technologists
 
Getting Started with Raspberry Pi - USC 2013
Getting Started with Raspberry Pi - USC 2013Getting Started with Raspberry Pi - USC 2013
Getting Started with Raspberry Pi - USC 2013
 
Introduction to pcDuino
Introduction to pcDuinoIntroduction to pcDuino
Introduction to pcDuino
 
Raspberry Pi 4.pdf
Raspberry Pi 4.pdfRaspberry Pi 4.pdf
Raspberry Pi 4.pdf
 
manual_2020_Cyber Physical System.pdf
manual_2020_Cyber Physical System.pdfmanual_2020_Cyber Physical System.pdf
manual_2020_Cyber Physical System.pdf
 
Raspberry Pi GPIO Tutorial - Make Your Own Game Console
Raspberry Pi GPIO Tutorial - Make Your Own Game ConsoleRaspberry Pi GPIO Tutorial - Make Your Own Game Console
Raspberry Pi GPIO Tutorial - Make Your Own Game Console
 
ScratchGPIO, Raspberry Pi & BerryClip
ScratchGPIO, Raspberry Pi & BerryClipScratchGPIO, Raspberry Pi & BerryClip
ScratchGPIO, Raspberry Pi & BerryClip
 
pcDuino Presentation at SparkFun
pcDuino Presentation at SparkFunpcDuino Presentation at SparkFun
pcDuino Presentation at SparkFun
 
OpenGurukul : Language : Python
OpenGurukul : Language : PythonOpenGurukul : Language : Python
OpenGurukul : Language : Python
 
Introduction to Raspberry Pi and GPIO
Introduction to Raspberry Pi and GPIOIntroduction to Raspberry Pi and GPIO
Introduction to Raspberry Pi and GPIO
 
Raspberry pi pico projects raspberry pi projects
Raspberry pi pico projects raspberry pi projectsRaspberry pi pico projects raspberry pi projects
Raspberry pi pico projects raspberry pi projects
 
Meng
MengMeng
Meng
 
Meng
MengMeng
Meng
 
Ins and Outs of GPIO Programming
Ins and Outs of GPIO ProgrammingIns and Outs of GPIO Programming
Ins and Outs of GPIO Programming
 

Dernier

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 

Dernier (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

Raspberry Pi Using Python

  • 1. RASPBERRY PI – USING PYTHON 2ND JUNE 2013 www.sf-innovations.co.uk
  • 2. IDLE3 – Python Shell Launch IDLE3 from the Raspberry GUI. This will allow us to experiment with Python commands. At the >>> prompt type print („hello world‟) You will see “hello world” on the screen. At the >>> prompt type 20 + 5 You will see “25” on the screen. This is a way of executing Python commands immediately. A programme is simply a collection of commands executed consecutively. www.sf-innovations.co.uk
  • 3. Writing a Python program Under the file tab in IDLE3, click on new window. You are now ready to write a program. For now type the following exactly. For x in range (1,10); y=x * x print “x=“, x, “square of x=“, y Under the file tab, click on save and call the file “squarex”. Launch LXTerminal from the Raspberry Pi GUI. This will bring you back to the Linux command line prompt: pi@raspberrypi - $ Type “sudo python squarex.py” to run your program. You will see X = 1 square of x = 1 X = 2 square of x = 4 ... X = 9 square of x = 81 That‟s it. You‟ve written your first Python program. www.sf-innovations.co.uk
  • 4. Some notes on Python You can run programs using the “run module” option under the run tab. However when I tried this I got programming syntax errors. When I ran the same program using the command line prompt, it worked fine. Sudo – stands for “super user do”. With Linux, this gives you the right privileges to run a Python program. Comments - If you want to add comments to your program, then use # at the start. For example, you could have started the program on the previous page with # program to work out squares of numbers from 1 to 9. Using libraries – Many standard functions are available as libraries in Python. These can be used by using the “import” command and will save you a lot of time in programming. For example “import time” will bring in a library which can be used for time delays. “import random” will bring in a random number generator. www.sf-innovations.co.uk
  • 5. Turning an led on and off We are going to use the GPIO port on the Raspberry Pi for this. To make the connection easier, the Custard Pi 1 breakout board is used. This plugs straight into the GPIO connector, provides easy screw terminal connection and protects the Raspberry Pi from accidental damage. The Raspberry Pi is mounted on the Custard Pi B prototyping base. www.sf-innovations.co.uk
  • 6. Hardware connections We are using pin 11 of the GPIO port. This is available on connector J2 of the Custard Pi 1 and is labelled as pin 11. This is shown on the image below. The 0V (or Gnd) connection is the centre pin of the 3 pin power connector J3. J3 J2 www.sf-innovations.co.uk
  • 7. Connecting the led When pin 11 is True (taken high) the voltage on it will be almost 3.3V. This needs to go to the positive side of the led. This is the longer leg of the led. The other side of the led goes to 0V (Gnd). Note: If you connect 3.3V across an led it will burn out. So it is important to limit the current. This is done by using a 330 ohm resistor, in series with the led. From pin 11 From 0V 330 ohm resistor Long leg of led www.sf-innovations.co.uk
  • 8. Python program to flash led Type in the program steps below. The text behind the # explains what the code does, but you do not have to enter this. Import RPi.GPIO as GPIO # import GPIO library Import time #import time library GPIO.setmode(GPIO.BOARD) #use board pin numbers GPIO.setup(11, GPIO.OUT) #setup pin 11 as output For x in range (0,10): #repeat for x=0 to 9 GPIO.output(11, True) #set pin 11 high time.sleep(0.2) #wait 0.2 seconds GPIO.output(11, False) #set pin 11 low time.sleep(0.2) #wait 0.2 seconds GPIO.cleanup() #tidy up GPIO port Import sys #exit program Sys.exit() Save the file as “ledonoff.py”. www.sf-innovations.co.uk Download code
  • 9. Trying out the program Open LXTerminal and type “sudo python ledonoff.py” to run the program. The led should flash ten time at a fairly fast rate. Try changing the time.sleep line from 0.2 seconds to 0.5 seconds. When you run the program, it should flash ten times, but fairly slowly this time. Tip: To rerun the program, press the upwards arrow to re-enter the last command on the screen and then press return to run it. Now change the x in range command from 0,10 to 0,5 to flash the led just 5 times. Well done. You have just managed to write some Python code to flash an led. www.sf-innovations.co.uk
  • 10. Reading a switch We are going to wire a switch to pin 12 of the GPIO port only flash the led when this is pressed. ....... (same first 3 lines as before) GPIO.setup(11, GPIO.OUT) #setup pin 11 as output GPIO.setup(12, GPIO.IN, pull_up_dpwn=GPIO.PUD_UP) #pull up resistor While True: #repeat forever input1=GPIO.input(12) #read status of pin 12 into “input1” if input1==False: #is pin 12 false (low) print “button pressed” #then button is pressed For x in range (0,10): #repeat for x=0 to 9 GPIO.output(11, True) #set pin 11 high time.sleep(0.2) #wait 0.2 seconds GPIO.output(11, False) #set pin 11 low time.sleep(0.2) #wait 0.2 seconds Note: The indentation is important in Python. www.sf-innovations.co.uk Download code
  • 11. Hardware setup The picture below shows the switch set-up. One side of it is connected to pin 12 of the Custard Pi boards. The other side is connected to the 0V (GND) connection. The pull up option used when setting up pin 12 as an input keeps this high, unless pulled low by the external switch. TO 0V Pin 12 www.sf-innovations.co.uk
  • 12. Trying out the program Save the file as “ledonoffsw.py” and then run from LXTerminal by typing “sudo python ledonoffsw.py at the command line prompt. Whenever the switch is pressed, the led should flash 10 times. To come out of this program loop, press CTRL & C at the same time. See if you can add another switch and modify the program to terminate when this second switch is pressed instead of having to use CTRL & C. www.sf-innovations.co.uk
  • 13. Summary Hope this presentation has been useful in getting started with Python on the Raspberry Pi. The book “Programming the Raspberry Pi” by Simon Monk is a useful introduction to Python. Keep an eye on our website www.sf-innovations.co.uk for any updates to this presentation, new Custard Pi layers or new presentations. www.sf-innovations.co.uk