2. 7 Segment LED (Single)
This is a quick overview of some additional components that I recommend and which ones I don't.
I will explain why.
Photo.....resistors change their resistance according to the light which is shone on them. Hence the name.
They are used to automatically turn on lights, dim or brighten lights, home automation, tell time of day like a digital sundial, etc.
They are VERY easy and fun to implement into your projects and I recommend buying a handful, they are dirt cheap! The first time I used one to brighten an LED as I covered it with my hand or turned off the lights, I couldn't stop smiling.
This is the most basic digital alpha-numerical display. It is pretty simple to understand and even make code for.
All you do is hook up the voltage, VCC and ground, GND. Then you hook each pin on the display up to 7 pins on the AVR chip or whatever microcontroller you are using. 8 if you are going to light up the decimal point. Then you find out which pins light up which segments. Then you can make a library, a list, of which segments to light up and correspond those with the numbers or letters they display.
For example. Set pins PC0 and PC1 to turn ON and connect those to the pins on the display which will light up the 2 segments which will display the number 1.
Pretty cool but can get confusing if you rush it.
Making libraries is pretty easy, it sounds complicated but it isn't. You will learn that in the intermediate lessons later. But I DO recommend playing around with one of these and seeing which numbers or letters you can display. It is fun to tinker with. Most basic kits come with one.
Below is an example pinout of the 7 segment display on the far left.
The letters are just to keep track of which pin is hooked up to which pin of another microchip separate from the actual AVR chip which is on the far left. This helps to free up some of the pins on the AVR so you can use them for other things.
Notice the AVR labeled IC1 is connected to the intermediary chip labeled IC2 via the Serial Clock pin, Master Out Slave In pinand a normal pin PB0.
Remember what you learned about the SCK and MOSI pins previously? Ok, good!
PB0 is set up in this example's code to send the numbers or letters (alpha numeric) it wants to display to the middle chip which then turns on the appropriate pins which are connected to the display.
Think of a middle man that buys and sells goods. A wholesaler.
The AVR is the manufacturer and seller.
The middle chip is the wholesaler which sells to the 7 segment LED display.
The LED display is the retailer which sells the alpha numeric value to you.
I am the best teacher.
These are slightly intermediate and much more dangerous because they often deal with the AC current coming from your wall.
I AM NOT RESPONSIBLE IF YOU RUSH THINGS AND HARM OR KILL YOURSELF!
I DO want you to understand what these are because eventually you are going to want to use them especially when you start scaling your projects to really do some heavy lifting and launch potatoes into space.
Relays are very simple.
If working with an AC powered fan, for example, you connect your VCC and GND along with one pin from your AVR to one side.
Now with the AC power cord for the fan you would make sure it is all UNPLUGGED because you are SMART.
Then you would cut just the positive wire.
The GND is usually black.
(If its one of those 3 wire setups all wrapped in one tubular wire you just have to cut all three of them through the middle unfortunately and immediately reconnect the black GND to GND wires and the white Neutral to Neutral again. Use appropriate materials, google it. Don't hurt yourself.)
On the other side you would connect the positive voltage power cord coming from the wall (WHICH SHOULD BE UNPLUGGED) to one of the giant screw in pin clamps and the appropriate second or third pin clamp to the second part of that wire which is leading to the fan.
All you are doing is cutting the voltage line and jamming this relay in between the 2 pieces. Don't overthink this!
Now, the way a relay works is very simple like I said.
When you want, you can program your code to output voltage onto the pin that is connected to the one side of the relay.
This voltage will flow through the coil in the relay as you can see below and create and electric field (magnetic really means electric, don't let others confuse you).
This electric field in its sticky nature grabs and pushes the metal latch or switch which allows the AC current on the other side to flow freely from the wall through the relay, through the metal latch, out of the relay and toward the fan, turning it on.
I TOLD YOU THIS WAS COOL!
Pretty much anything can be hooked up to a relay which is simply just a giant switch...kind of like a giant simplified transistor! See the patterns? See the common themes here? I told you it is all beautifully simple but seemingly complex at first glance.
Except code....code is the devil's handwriting........yeah I'm sure of that. But don't worry! I'll get you coding up your dreams in no time!
Anyway the possibilities with just relays and home automation alone are enough to get anyone excited. you can implement motion sensors, photo-resistors, all kinds of other components and sensors.
Imagine, once you get coding down you can write a very simple app that lets you control this stuff via blue tooth, wifi, or radio (which is really what they all are...electric pulses of varying flavors that propagate into space) you will look infinitely more attractive!
I absolutely love it and want to share what I know about it!
4. Gears and Servo Arms
Make sure you have some cheap small gears and servo arms or wheels to go with your motors and servos.
If not, you will be spinning nothing and will get nowhere.
I mean, you COULD make your own stuff with cardboard, wood, 3d printed material, etc.
Just get the stuff...
5. Small Cheap Electronic Speaker
Very easy to use, super cheap, just takes some intermediate code I can show you.
I took one from my motherboard on my PC because it was beeping every time I turned it on...
6. Simple PS/2 style Joystick
Very easy to use, super cheap, can be used for MANY projects and code.
VCC pin, GND pin, X axis output pin, Y axis output pin, maybe a button press pin also.
Examples of use:
Control LED or several LEDS
Move mouse pointer on your computer!
7. Limit Switch (Arcade Button Style)
These are very simple to use. They generally have a path for voltage to enter through and leave with a path that diverts that voltage or grounds it when the button/switch is pushed down. Very simple. Used in arcade buttons and as safety buttons for 3D printers and CNC machines. When the buttons are pushed they the microcontroller can stop a process or reverse it.
Easy to program, easy to understand, dirt cheap!
What I don't Recommend for beginners
1. LCD Displays
You WANT to use these, they are complicated, maybe the hardest to setup and utilize and least necessary.
It may have been easy with arduino and the arduino libraries but you don't ride bikes with training wheels now
These rely on complicated programming including menus utilizing pointers and arrays, trust me stay away for now
2. Sonar sensors
Widely popular in arduino "robot" projects because they are "cute" and resemble eyes yet they are horribly inaccurate and for small children to enjoy
Do you want to use some bad-ass lasers or this little blue thing?
You would have a hard time programming this thing without some arduino library creator holding your hand
Your dog may hate you, forever...and knows where you sleep at night.
3. Radio Transmitter and Receiver components
These are cheap and simple to use but better suited for later projects, remember you haven't even made anything move yet, keep it simple
They require programming two separate chips including setting up the correct frequencies and communication protocols which can filter out background noise
4. Multiple digit 7 segment displays
Quickly become complicated for beginners to keep track of all the wires
Occupy almost all pins on the microcontroller
Noone will love you for adding a few digits to your project, 1 is enough
4. Accelerometers & Gyroscopes
Great for intermediate and advanced projects!
Need foundation of programming to know how to use them correctly
Very cheap and can link multiples together with I2C, which you can learn sooner than you think
That's enough for now.
Get my favorite books on programming AVR chips I use.
Equip yourself with the most dependable, no hassle, quality usb programmer I use daily.
I started with something very similar.
These are the BASIC components I recommend from experience which we can use in your first robot.
Remember, each additional component in our robot makes you look that much COOLER.
The parts I recommend are all very cheap around $1 USD or less and easy to use and understand.
The ones I don't recommend for beginners are due to DIFFICULTY and COST.
Trust me, the simpler steps you take now, the faster you will get running.