At CoderDojo Athenry, the Hackers spent some time examining the components of a desktop PC and a Raspberry Pi 3+ and a Raspberry Pi Zero.
Even though the Pis are much smaller than a desktop PC, they are functionally equivalent – as we saw, you can plug the Pi into the keyboard, mouse and screen of the desktop PC and use it like one.
We identified the major components of a desktop PC, and saw where each of them appear on the Raspberry Pi also:
- CPU – the central processing unit that does all calculations and processing. All data in a PC gets represented as numbers, so all data processing ends up as calculations.
- GPU – a dedicated processing unit just for graphics, that specialises in multiplying and adding matrices (pixels on a screen are represented as a matrix). Not all PCs have one, but they are important for high-performance graphics.
- RAM – the short-term memory of the computer, used by the CPU to store data.
- Hard Drive – this might be a hard disk drive or a solid-state drive. This is for long-term storage. It holds much more than RAM and the data remains when the PC is powered off, but it is much slower for the CPU to get data from the hard drive than from RAM.
- DVD Drive – not all PCs have this. DVDs or CDs allow permanent storage that can be removed. Some are read-only and some allow reading and writing.
- Motherboard – the circuit board on which everything else is mounted.
- Power Supply – this is built into a desktop PC. For a Pi, this is a 5-volt supply such as a phone charger.
- Networking – ethernet for wired networks and/or wifi for wireless networks.
- Controller chips and connection ports (such USB and HDMI) for peripherals.
- Case – Pis don’t always have these.
We noted that the Pi has a single chip that has its CPU, a basic GPU and up to 1GB of RAM all stacked in layers on top of each other. While its CPU is lower power than a standard PC CPU, it benefits from having a really short distance that data has to travel from RAM to CPU. CPUs run so fast that having electrons travel a few centimetres is a significant delay!
PCs and the Pi also have connections for peripherals, which is anything that can be connected to it, using USB, Bluetooth, HDMI, or other connection types:
- Keyboard and mouse
The Raspberry Pi Zero has micro-USB and micro-HDMI connectors to keep everything as small as possible, and it has wifi only, no ethernet port (though it is possible to get a micro-USB to ethernet adapter).
A couple of members of the group have built their own desktop PCs, which is an impressive feat!
Thank you so much to Eoin you led the session on Saturday, I think you all enjoyed it. I think you will agree that our two Black Belt Mentors did really well leading their first session. So thank you Ruaidhrí and Eoin
Eoin did a Christmas Scene with you. Here a some screenshots of the code.
See you all on Saturday and Remember bring your own drinks!
Iseult, Julie, Ruaidhrí and Eoin
Hi folks, hard to believe this was our last regular session of 2019. Next week is our Christmas pizza party and show-and-tell.
This week we took a photo of a cereal box and UV mapped it to a simple cube which we scaled to the appropriate proportions. One we made our model we built a very basic studio setup and did our first render with a camera and a light.
Here are the video instructions:
Here is the final render from my model:
The file for this week can be download from here.
Once we return in January I’ll be using Blender 2.81, instead of 2.80 which we have been using, so everyone should try to upgrade if they can by going here.
Thank you all for coming again on Saturday, Ruaidhrí ran the session this week and I am sure you were all glad not to have to listen to me for a change.
He did musical instruments and should you how to create variables for each one so that you could have a note repeat.
No notes this week but below is the code that was used.
This coming Saturday will be run by Eoin and will be Christmas themed based! This will be our last session before our Christmas party so dust off those Christmas Hats! and Jumpers
Martha, Ruaidhrí, Iseult, Julie and Eoin
This week, we took the mug we’d created the week before and UV unwrapped it again. We’d covered that last week too, and it’s in last week’s notes, but because we’d rushed a little we went over it again.
One the model was unwrapped, we created an image texture and manually painted it. We then used the GIMP image editing program to add an image to our texture.
Step-by-step notes can be found here:
The model file can be downloaded from here.
At Hackers this week, we learned how to solder. Group members stripped wires and then soldered them together, and they made LED circuits by soldering them onto stripboard, and tested them with Arduino programs.
As we discussed, it is important to build your circuits temporarily with a breadboard (where you just push the wires in, and can easily move them) before moving onto soldering them on to stripboard. Stripboard (also called Veroboard) has holes every 2.5mm in a grid, and has copper strips on one side connecting the holes in one direction. You mount the component (such as an LED on the side with no copper, and solder its pins to the copper strip. Then, you can solder a pin of a different component somewhere else along the same copper strip, and current can flow through the copper strip.
There are plenty of videos on YouTube to demonstrate soldering technique. Here is one by Emer Cahill of GMIT:
Great to see you all on Saturday.
We made a slight departure from the games we have done in previous weeks. This weeks game was a mathematical Guessing Game.
We only had one sprite and one large block of code. We had to create variables and figure out all the possible situations that could occur when a guess was made.
Here are the notes in PDF form from this weeks session CDA-S8-Week_09-GuessNumbers.pdf
Iseult, Julie, Ruaidhrí and Eoin
This week we started looking at texturing. Texturing is the process of taking an image, which is flat, and mapping it onto a 3D object, which generally isn’t.
UV maps are just the plan that shows which part of the texture goes to which part of the 3D model.
Unwrapping is the process of taking the 3D surface of the model and laying it flat, like peeling an orange. This flattened version of the model, when placed over the texture becomes the UV map.
The animation above illustrates the process for a simple shape as if we really were unfolding the shape manually. In reality, we just tell Blender where the seams are (where it can cut the model’s surface) and the rest can happen automatically.
Here are the video instructions for this week:
The model file can be downloaded from here.
Next week, we actually paint the model and perhaps add a logo.
In the past two weeks in the Hackers group at CoderDojo Athenry, we have started Python programming on the Raspberry Pi.
The Pi is about the same size as the Arduino that we used earlier, and the Pi Zero is about the size of the Arduino Nano, and both Pi and Arduino have input/output pins for physical computing. However, they have significant differences.
Unlike the Arduino which is a microcontroller (which means it is designed to run a single program that was uploaded onto it), the Raspberry Pi has a full computer operating system, so it is more like a PC to use. It can be programmed in many languages, but Python is a popular choice as it is clear to read and there are lots of libraries to make tasks easier. Because it’s a full computer, you can write and run your programs all on the Pi, without connecting it to a laptop.
The first step in programming is to figure out how to do loops, variables and decisions, as these are fundamental. Here is our first Python program to try out these:
# Python comments start with #
age = 14 # a variable holding an int
name = "Michael" # variable holding a string
print ("My name is", name, "and my age is ", age)
for x in range (1, 5):
print ("This is line ", x)
if (age 17):
Next we moved on to using the GPIOZero libraries for controlling lights and buttons. We will continue to explore this in the coming weeks.
The documentation is here: https://gpiozero.readthedocs.io/en/stable/
This week we finished off our Paint Program from last week and did some more work with Pen Commands.
We didnt get to do all the code that is in the attached notes so if you want to give it a go yourself, that would be great. You can add a start and stop button and some variables.
Here are the full Pdf version of my notes from this weeks session. CDA-S8 Week 8-Pen Command.pdf
Hope to see you all this Saturday, we will be doing a great Maths Guessing Game!
Julie, Iseult, Eoin and Rauidhrí