3. The Raspberry Pi is a low cost, credit-card sized computer that plugs into a computer monitor
or TV, and uses a standard keyboard and mouse. It is a capable little device that enables people of all
ages to explore computing, and to learn how to program in languages like Scratch and Python. It’s
capable of doing everything you’d expect a desktop computer to do, from browsing the internet and
playing high-definition video, to making spreadsheets, word-processing, and playing games.
The Raspberry Pi is a very cheap computer that runs Linux, but it also provides a set of GPIO
(general purpose input/output) pins, allowing you to control electronic components for physical
computing and explore the Internet of Things (IoT).
-:Raspberry pi:-
4. There have been many generations of the Raspberry Pi line: from Pi 1 to 4, and even a Pi 400.
There has generally been a Model A and a Model B of most generations. Model A has been a less
expensive variant, and tends to have reduced RAM and fewer ports (such as USB and Ethernet). The Pi
Zero is a spinoff of the original (Pi 1) generation, made even smaller and cheaper.
Product SoC Speed RAM USB Ports Ethernet Wireless Bluetooth
Raspberry Pi Model
A+
BCM2835 700MHz 512MB 1 No No No
Raspberry Pi Model
B+
BCM2835 700MHz 512MB 4 100Base-T No No
Raspberry Pi 2
Model B
BCM2836/7 900MHz 1GB 4 100Base-T No No
Raspberry Pi 3
Model B
BCM2837A0/B0 1200MHz 1GB 4 100Base-T 802.11n 4.1
Raspberry Pi 3
Model A+
BCM2837B0 1400MHz 512MB 1 No 802.11ac/n 4.2
Raspberry Pi 3
Model B+
BCM2837B0 1400MHz 1GB 4 1000Base-T 802.11ac/n 4.2
Raspberry Pi 4
Model B
BCM2711 1500MHz 2GB 2xUSB2, 2xUSB3 1000Base-T 802.11ac/n 5.0
Raspberry Pi 4
Model B
BCM2711 1500MHz 4GB 2xUSB2, 2xUSB3 1000Base-T 802.11ac/n 5.0
Raspberry Pi 4
Model B
BCM2711 1500MHz 8GB 2xUSB2, 2xUSB3 1000Base-T 802.11ac/n 5.0
Raspberry Pi Zero BCM2835 1000MHz 512MB 1 No No No
Raspberry Pi Zero W BCM2835 1000MHz 512MB 1 No 802.11n 4.1
Raspberry Pi Zero
WH
BCM2835 1000MHz 512MB 1 No 802.11n 4.1
Raspberry Pi 400 BCM2711 1800MHz 4GB 1xUSB2, 2xUSB3 1000Base-T 802.11ac/n 5.0
-:Raspberry Pi Version:-
5. -:Detailed Specification:-
The Raspberry Pi 3 Model B+ is an improved version of the Raspberry Pi 3 Model B. It is based
on the BCM2837B0 system-on-chip (SoC), which includes a 1.4 GHz quad-core ARMv8 64bit processor
and a powerful Video Core IV GPU. The Raspberry Pi can run a full range of ARM GNU/Linux
distributions, including Snappy Ubuntu Core, Raspbian, Fedora, and Arch Linux, as well as Microsoft
Windows 10 IoT Core.
1GB LPDDR2 SDRAM (Low-Power Double-Data-Rate (LPDDR)-Synchronous Dynamic Random Access
Memory)
2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE
Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
Extended 40-pin GPIO header
Full-size HDMI (High-Definition Multimedia Interface) for interfacing external Display
4 number of USB 2.0 ports
CSI (Camera Serial Interface) camera port for connecting a Raspberry Pi camera
DSI (Display Serial Interface) display port for connecting a Raspberry Pi touchscreen display
4-pole stereo output and composite video port
Micro SD port for loading your operating system and storing data
5V/2.5A DC power input
6.
7. -:SETUP Raspberry Pi:-
SD card: recommend a minimum of 8GB micro SD card.
Display and connectivity cable :Any HDMI/DVI monitor or TV should work as a display for the Pi. For best
results, use a display with HDMI input; other types of connection for older devices are also available.
Keyboard and mouse : Any standard USB keyboard and mouse will work with Raspberry Pi., Wireless
keyboards and mice will work if already paired.
Power supply: For Raspberry Pi 3 Model B+ models use the micro USB power supply Recomended PSU current
capacity 2.5A ,Maximum total peripheral current drawn 1.2A ,Typical bare-board active current
consuption500mA.
Raspberry Pi needs an operating system to work. This is it. Raspberry Pi OS OR called
Raspbian. It is a free operating system based on Debian optimized for the Raspberry Pi
hardware. Raspbian provides more than a pure OS: it comes with over 35,000 packages, pre-
compiled software bundled in a nice format for easy installation on
Raspberry Pi.
8. -:General Purpose I/O Ports (GPIO):-
GPIO (General Purpose Input Output) pins can be used as input or output and
allows raspberry pi to connect with general purpose I/O devices.
Voltages
Two 5V pins and two 3V3 pins are present on the board, as well as
a number of ground pins (0V), which are unconfigurable. The
remaining pins are all general purpose 3V3 pins, meaning outputs
are set to 3V3 and inputs are 3V3-tolerant.
Outputs
A GPIO pin designated as an output pin can be set to high (3V3) or
low (0V).
Inputs
A GPIO pin designated as an input pin can be read as high (3V3)
or low (0V). This is made easier with the use of internal pull-up or
pull-down resistors. Pins GPIO2 and GPIO3 have fixed pull-up
resistors, but for other pins this can be configured in software.
9. Raspberry-gpio-python or RPi.GPIO, is a Python module to control the GPIO interface on
the Raspberry Pi.
import RPi.GPIO as GPIO
That statement "includes" the RPi.GPIO module, and goes a step further by providing a local
name as GPIO
-:Python for GPIO Programming:-
Pin Numbering Declaration:-
GPIO.BOARD -- Board numbering scheme. The pin numbers follow the pin numbers on header P1.
GPIO.BCM -- Broadcom chip-specific pin numbers. These pin numbers follow the lower-level numbering system defined by the
Raspberry Pi's Broadcom-chip brain.
To specify in code which number-system is being used, use the GPIO.setmode()
GPIO.setmode(GPIO.BCM)
Setting a Pin Mode:-
GPIO.setup(5, GPIO.OUT)
GPIO.setup(1, GPIO.IN)
if we want to set pin 5 as an output
if we want to set pin 1 as an input
10. Input:-
If a pin is configured as an input, you can use the
GPIO.input([pin]) function to read its value.
if GPIO.input(17):
print("Pin 11 is HIGH")
else:
print("Pin 11 is LOW")
Outputs:-
To write a pin high or low, use the GPIO.output([pin], [GPIO.LOW, GPIO.HIGH])
GPIO.output(5, GPIO.HIGH)
12. -:Conclusion:-
Raspberry Pi's are affordable, they are fun to use, and they can be put to very
serious uses too. The skills and principles that we learn in getting them to work
will serve we in good stead in today's world. For developing CS skills especially
for kids they should understand how they work and how to program them.