Raspberry Pi:
The Raspberry Pi is a credit-card sized computer designed nd manufactured by a non-profit organization called the Raspberry Pi Foundation. It is dedicated to make computers and programming instructions as accessible as possible to the widest number of people.
History:
It started in 2006 with the creation of the first prototypes inspired from the BBC Micro. 6 years later, the first Raspberry Pi was born. The main goal was to help young people to discover computers at low cost (about $30).
10:03 pm | 10/06/22
First Prototypes:
Eben Upton worked five years from 2006 to 2011 on a single board computer project (mainly on evening and weekends, while working at Broadcom).
This is the computer that he used at school which inspired him to create his own product.
They sold this computer for £350 in the UK and it was difficult for schools to buy enough computers for all students.
On his side, Eben Upton was working on a smaller and cheaper device. First, he worked on big boards to make tests and debug easier, but the goal was to create a small computer in the end.
11:45 pm | 10/07/22
Origin:
Why is Raspberry Pi called so?
Raspberry: Many computer manufacturers are named after fruits just like Apple, Acorns and Apricot and Raspberry Pi was also following that trend but it was also a funny reference to the expression ‘blowing a raspberry’.
Pi: The “Pi” part is a reference to the Python part of the first devices created. These devices started with a terminal prompt where you needed to type any Python code to do what you want.
This was to make the difference with other computers running with BASIC (like the BCC Micro I quoted previously).
12:51 pm | 10/08/22
What is GIPO? What is GPIO pin of pi?
GPIO which stands for General Purpose Input Output is a set of pins on your computer’s mainboard. These pins can send or receive electrical signals, but they aren’t designed for any specific purpose. This is why they’re called “general-purpose” IO.
It is a way the Raspberry Pi can control and monitor the outside world by being connected to electronic circuits. The Raspberry Pi is able to control LEDs, turning them on or off, or motors, or many other things. It is also able to detect whether a switch has been pressed, or temperature, or light.
1:20 pm | 10/09/22
Analog and Digital Signals
An analog signal is a continuous signal in which one time-varying quantity represents another time-based variable. These kind of signals works with physical values and natural phenomena such as earthquake, frequency, volcano, speed of wind, weight, lighting, etc.
A digital signal is a signal that is used to represent data as a sequence of separate values at any point in time. It can only take on one of a fixed number of values. This type of signal represents a real number within a constant range of values. Now, let’s learn some key difference between Digital and Analog signals.
11:45 pm | 10/09/22
What is a Digital Proximity Sensor?
A digital proximity sensor is a device that uses proximity sensors to detect people at a certain sensing distance without necessarily making physical contact with them.
A proximity sensor typically emits an electromagnetic field or an electromagnetic radiation beam. It then searches for any changes in the field or any return signal. The type of proximity sensor target will determine the kind of sensor that is used.
Sharp GP2Y0D810Z0F Digital Distance Sensor
This is a small digital distance sensor detects objects between 2 cm and 10 cm (0.8″ and 4″) away. With its quick response time, small size, and low current draw, this sensor is a good choice for non-contact object detection, and our compact carrier PCB makes it easy to integrate into your project.
1:00 pm | 10/10/22
What is a DC motor?
A DC (Direct Current) motor is an electrical machine that transforms electrical energy into mechanical energy by creating a magnetic field that is powered by direct current.
When a DC motor is powered, a magnetic field is created in its stator. The field attracts and repels magnets on the rotor; this causes the rotor to rotate. To keep the rotor continually rotating, the commutator that is attached to brushes connected to the power source supply current to the motors wire windings.
How do you control its speed?
The speed of a DC motor can be controlled in three ways:
- By varying the supply voltage
- By varying the flux, and by varying the current through the field winding
- By varying the armature voltage, and by varying the armature resistance
01:39 pm | 10/11/22
What is it used for?
A H-bridge is an electronic circuit that switches the polarity of a voltage applied to a load. These circuits are often used in robotics and other applications to allow DC motors to run forwards or backwards.
An H-bridge can be a useful circuit for DC motor control, as it controls the direction and speed of a motor by selectively turning a series of these switches on and off.
6:50 pm | 10/12/22
What is Linux OS?
Just like Windows, iOS, and Mac OS, Linux is an operating system. In fact, one of the most popular platforms on the planet, Android, is powered by the Linux operating system.
An operating system is software that manages all of the hardware resources associated with your desktop or laptop. To put it simply, the operating system manages the communication between your software and your hardware. Without the operating system (OS), the software wouldn’t function.
What is a Linux Terminal?
The Linux terminal is a text-based interface used to control a Linux computer. It's just one of the many tools provided to Linux users for accomplishing any given task, but it's widely considered the most efficient method available. Outside of writing code, it's certainly the most direct method possible.
8:30 am | 10/14/22
Some Linux Terminal Commands:
- cd (Change Directory): cd command in linux known as change directory command. It is used to change current working directory.
- sudo (Super User Do): sudo is generally used as a prefix of some command that only superuser are allowed to run. It will run that command with elevated privileges or in other words allow a user with proper permissions to execute a command as another user, such as the superuser.
- cp (Copy): The cp command is used for copying files from one location to another. This command can also copy directories (folders).
- kill: kill command in Linux (located in /bin/kill), is a built-in command which is used to terminate processes manually. kill command sends a signal to a process which terminates the process. If the user doesn’t specify any signal which is to be sent along with kill command then default TERM signal is sent that terminates the process.
- pwd: pwd command is used to find the path of your current working directory. Simply entering pwd will return the full current path – a path of all the directories that starts with a forward slash (/). For example, /home/username.
- cat (Concatenate): It lists, combines, and writes file content to the standard output. To run the cat command, type cat followed by the file name and its extension. For instance: cat filename.txt.
- find: Use the find command to search for files within a specific directory and perform subsequent operations. Here’s the general syntax: find [option] [path] [expression]
- mv (move): This command is used to move and rename files and directories. Additionally, it doesn’t produce an output upon execution. For example, you want to move filename.txt to the /home/username/Documents directory: mv filename.txt /home/username/Documents.
9:40 am | 10/14/22
Question:
Your micromouse will have 2 DC motors for movement and five digital proximity sensors. One 10cm digital sensor is in the front. On each side of the mouse, a 5cm and 10cm digital sensor is attached. Thinking of only the DC motors of the mouse, what would be some functions that you think the micromouse would need to navigate a maze?
Voltage Equation: The voltage equation of a simple DC motor is V = Eb + IaRa P – number of poles, A – constant, Z – number of conductors, N - the speed of the motor. Substituting the value of Eb in the voltage equation, we get
- DC Motors are small, inexpensive and powerful motors used widely
- These are widely used in robotics for their small size and high energy out
- A typical DC motor operates at speeds that are far too high speed to be useful, and torque that are far too low
- Gear reduction is the standard method by which a motor is made useful
- Gear’s reduce the speed of motor and increases the torque
- While choosing a DC motor: a. DC Motor with Gear head, b. Operating voltage 12V & c. Speed
- Some available speeds in market are 30 RPM, 60 RPM, 100 RPM, 150 RPM, 350 RPM & 1000 RPM
07:04 pm | 10/16/22
Micro-mouse Capstone Project
Since 2012, Brown IEEE has been hosting a Brown Robotics Olympiad. This competition gives the opportunity for students in small groups to design a robot (micromouse) that autonomously navigates through a 16 x 16 maze.
The goal is to provide the means necessary to create and learn about the micromouse. The robot will receive information through the sensor to keep the data needed for its current location and where it’s already traveled in the maze.
11:15 pm | 10/20/22
Testing the Motors & the Sensors
All the students involved in this project were divided into a group of two people. To execute the robot, the first thing all of the students did was test the motors using Python.
9:45pm | 10/25/22
In the next step, the students used the codes of sensor test to check if the sensors on the micromouse were functional.
8:02 am | 10/26/22
Cleanup
Before the execution of any other codes, the students run a clean.py file in order to make sure that pins are good and the performance of the robot is excellent.
01:38 pm | 10/28/22
The students now use the different codes given and try out various variations of loop to test how the robot would reaction to different scenarios. For this, the students defined a separate library called mouseLib.py where they called out the library to run the main source code to run the micromouse.
10:45 pm | 11/02/22
Testing Various Loopings
This was a challenging moment for the class the students had to code on their own and had to find a way of using the loop so that the micromouse makes a random decision of moving and turning when it senses an obstance.
After testing different looping strategies, my group came up with a solution to it. We used a while loop and a random number generator in which the micromouse moves and senses obstacles and and changes its path continuously until it figures out its way to the center.
There were multiple instances where the code didnot run and there were plenty of moments when the micromouse did not sense and obstacle around it. After plenty of debugging, the code worked properly.
10:30 pm | 11/09/22
Name: Thor Thunder
The micromouse of my group particularly does find its way to the center but the frequent issue it had was its movement. It had a strange its wiggly motion and does not make the movement very smooth.
To fix this issue, we constantly kept changing the number for time.sleep.
11:00 pm | 11/15/22
Changing Motors & Batteries
After several attempts of changing the time.sleep for the micromouse, we figured out that there was some issues with the battery and the motors. With the help of the professor, we successfully managed to change the batteries as well as the motors. After this, we adjusted the time.sleep in coodination to the new battery and motors.
We successfully managed to make the micromouse move without causing any movement issues.
10:13 pm | 11/29/2022
Credits:
Created with images by Thomas Reimer - "Street Sign to Digital versus Analogous" • Milan Lipowski - "DC motor on white background" • vectorfusionart - "Business people looking at maze" • Andrey Popov - "Businesspeople Standing In Row"