hello everyone and welcome to this first
session of the Arduino tutorial series
now what I want to do in the spirit
stations i want to kind of lay out the
format of the future sessions in this
Arduino tutorial series
we're also going to indecision we're
going to cover off how to get started
with your arduino and how to connect to
your pc
because believe it or not there's quite
a few challenges which you could face
their want to talk about the
alternatives to arduino and I want to
cover off kind of the philosophy
surrounding arduino and and then perhaps
the use of my form and how that can be
useful and what have you
so first of all let's cover off the
alternatives to Audrina because I know
in the previous videos that i did people
mentioned that there are clones of the
arduino and other either microprocessor
platforms which can be used for this
kind of development environment and yes
indeed they are one that's one of the
philosophies when this with developers
who do it was developed as an open
source environment so anyone can copy
and clone the arduino board and people
obviously have done so what it would say
to you is that there are quite a few
challenges being faced even using the
genuine so-called genuine arduino boards
that if you are going to use it alone
then just do your research and make sure
that it is a hundred percent compatible
with our Arduino and the code and what
have you
because that might pose a few challenges
for you if there are some issues there
then as I said there are the hardware
platforms and which have been developed
which are in fact in many ways far
better than the microprocessor which you
get on your arduino and I'm I'm sure
that in time to come I must write stop
playing around with those two
but the reason I kind of
I've starts off with are doing i think a
lot of people start off with arduino and
why I think it's a good starting place
for a lot of people is that there is a
lot of support for our dinner in terms
of the add-on kit the projects and code
which is already been written and the
add-ons what have you on numerous the
forums to help you get back
the tutorials so if you're a beginner
and kind and need a favorite of help
getting started
then that's why I think our Arduino is a
good place to start
I think you become fairly advanced and
are going to get into serious
microprocessor development and what have
you
then you will move on from our do you
know because then it there are certain
limitations which might hamstring you if
you stick with this platform that being
said if you go in search then net and
have a look at the projects which have
been done with Audrina I think you'll be
very surprised at what has been done and
achieved with this little bored right so
before we get stuck into understanding
more about arduino it step itself
what I want to explain and go through
his kind of my philosophy in the way I'm
going to approach this tutorial series
and then also talk a little bit about
the kind of what i call the arduino
philosophy as well now there are loads
of tutorials on how to get started with
arduino and if you after the little
quick videos which talk you through some
code and how to do flashing lights and
what have you been sitting and say don't
waste your time on on my videos because
that's not what they're going to be
about
I'm sincerely hoping to do more
real-world tutorial where I'm not going
to try and spoon-feed you and talk you
through some code on a screen because i
don't believe you're going to learn that
way
the best way you're going to learn is by
trying things yourself
banging your head and learning through
that process and in fact I mean that's
in this past week with my playing with
arduino that's exactly how I've learned
to fit and so i'm going to walk you
through the
potential stumbling blocks the the the
big stumbling blocks which might repeat
because there are some stumbling blocks
out there which may get you so a so
frustrated that you just want to check
it in a drawer and and and leave it and
there again is I want to warn you that
it if you don't have the patience to
injure some of the stumbling blocks what
happy then perhaps arduino isn't the
platform to you
in my mind it's a it's a fun engineering
platform which involves a lot of trouble
shooting so it involves a lot of trouble
shooting to get your your end result
potentially because even if you do know
how to code will write the programs or
scripts and put the little hard way but
some pieces together they all still be
some bits along the way which are
potentially going to trip you up as I've
come to discover when we still win weeds
in series two in the second episode of
this i'm going to actually go through my
first project and that project is a
simple voltmeter but I've added some
functionality with Max average and even
that little exercise here has revealed a
lot to me in terms of limitations within
the code and the libraries that you get
with arduino even the display units and
that is something I'm a highlight i
mentioned that like for instance you get
these LCD displays and i said i've gone
for the serial enabled one because you
don't need so many wise to connect it up
more heavy
boy oh boy does pose a few challenges
which I'll talk about in the second
episode when we do that
voltmeter project so as i said i'm going
to talk through those things and try and
show you real world issues which happy
will help you
i'm also going to try and give you the
kind of impetus or act as the catalyst
to jump into interesting projects
yourself because as I said that is the
way you learn so there's going to be a
lot of talking a lot of showing you bits
and pieces these videos might be a bit
longer than the normal quick tutorials
other tutorials you get to see
but I said it's going to be more
hopefully full of the more real-world
stuff and also jumping into some of the
actual bigger projects like as I said
there will be the voltmeter
I want to challenge do they are focused
on the forum like workers doing an MPP
MPPT charge controller
I want to do that as well there's a
digital thermometer with let's say
logging to memory and all of those those
projects are going to bring up some
potential challenges and some
interesting ways of working with arduino
also just the code you want you can
write code for arduino in a certain way
and there may be some particular
functionality and ways of doing things
better or more efficiently
I'm gonna try and cover that off as well
and and hopefully is going to be an
interactive learning experience for
myself and those people involved to
follow this series
so let's also get stuck down into the
philosophy of Arduino which i believe is
very is important because it a lot of
it's got to do with the philosophy and
the way I run my kind of channel and my
forum
now as I said arduino was developed as
their kind of open source platform and
to that end it it in essence is trying
to draw in a community of people who are
going to help each other share ID and
share ideas and I do believe it as the
the developers is that have made this
kind of open source and sharing thing I
think along with that comes the
acknowledgement of what they provided to
the electronics community and
acknowledgement of other people's work
so it's one thing i always want to try
and i'm going to try and do myself and I
heard you to do as well is that once you
start getting into and either writing
your own code or grabbing ideas off the
internet because that will be one of the
big things you'll see a piece of code
let's say for this voltmeter you'll see
a piece of code or quarter sketch on the
Internet
you're going grab it and you put it into
your
for arduino program or ide or compiler
and you may make a few tweaks to it and
go yes look this is my piece of code but
there
what you should do is if you've taken
someone else's concept or their code and
made some adjustments to it
you should acknowledge them in the code
itself i think that's quite important in
that if you give acknowledgement to the
original person who came up with the
code and you can then add your name as
the person who's added updates or
modifications to the code and if you go
and write a whole piece of code yourself
because of some idea you came up with
words
totally fresh new piece of coal and
guess what you can claim the kind of
Rights that piece of code and hope
you'll go and share so other people can
benefit as well so that's kind of the
certainly the arduino philosophy that I
hope people are going to follow
ok and as much as I i really do hope
that you all use my forum as a place to
share your ideas and your projects
related to arduino ide be the first one
to admit that
let's say for instance you are having a
problem with a piece of code and you're
getting areas or what have you
I'm certainly not going to have the time
to go through those and troubleshooting
because some problems can be so unique
to the hardware and the libraries and
what have you that you using it can be
very difficult to troubleshoot and there
are loads of forms out there on the
internet i'm going to place a few links
below to the a few key areas where there
is a brilliant community that can go and
try and assist you with that with those
issues they aren't enough people in my
forum dedicated to let's say arduino
coding that I think you might get the
help that you need
but by all means if you got a great
piece of code that works and a great
project put it if you do have a
challenge that you
you want help with posted there and see
if you can get the help but i'd say they
certainly are better
well there are many farm or other people
involved in other forms that are going
to
p with that right so let's try and get
stuck into the basics of getting started
I'm going to go through the process of
how you connect your arduino to your
computer because I said that poses quite
a few challenges it it hang me up for a
day
very silly issue but it's one of those
issues I think that can potentially
catch quite a few people out
i'm also going to put the Audrina on the
bench now just quickly give a
description of what it's all about
that's the basic arduino and some handy
tips for when you get started as well in
terms of having some insulation or some
pads and me we'll talk about that and
also before get through all that you can
i'm going to rip be referring to some
bits and pieces that comes out of this
getting started with arduino book this
is written by massimo banzi I've got to
correct he's it one of the cat
cofounders of Arduino this book and all
the arduino starter kit some hardware is
available on my Anderson store
you don't have to buy their it shouldn't
cost you any more but i certainly get a
commission if you do so it's certainly
supports these shows and what I'm doing
so again that it's great we can buy a
Texas certainly does help right let's go
have a look at the bench and have a
closer look at the actual hardware
itself and we'll talk about a little bit
about the board ok so here we have a
kind of most the one of the kind of
basic arduino boards to start with this
is the arduino uno and this is revision3
so you'll often see it
solders Arduino Uno r3 there are bigger
boards that you can start off with a RC
cost a bit more money
the the what happens in the bigger
boards you get and they have a different
microprocessor on them and they will
have more often will have more memory
that you can store biggest sketches or
bigger programs and you can store more
data but this certainly is a good if you
try to get into
and see if you're going to enjoy it it's
a good way to start also the bigger
boards have more input and output you'll
see the the strip along the side here
these enabled you to talk to the art to
Arduino in essence and for the arduino
to talk back to you through a whole
realm of lights and senses and what have
you
so let's before you even get down to the
basic hardware description of the board
i'm gonna give you the one thing that
you can do to start off with
and don't look at my son my entirely
implementation but what you might want
to do is put either get some four rubber
feet underneath your arduino board
because more than likely you're going to
be resting on on surfaces and for one it
might skip around which which doesn't
help
it also if you've got the USB into power
and to program it it then does get but
skittish if you've got a heavy thicker
and USB cable
also if you're resting it like I do
sometimes on top of my computer or
something metallic the last thing you
want is the underside of the PCB and
where the through-hole components come
thru too short
so this provided with it prevented from
skidding around and it insulates the
bottom of the board and i would highly
recommend do where you put the stick on
stick on foam pad like I have all the
rubber feet
so it is something to do what you may
what I found was on these big on the USB
input here and on the power jack
the tabs the through the peace that
comes through the pc board was a fair
bit longer than the rest
so i got a pair of good sharp side
cutters and when I say do get a good
pair of sharp side cutters because the
bits that come through a quite thick and
I snip those officer again they were
protruding that match that made it far
easier to stick the pad on and you've
got again even if you've got rubber feet
you've got better clearance on the board
that's one of the first handy tips then
ok so let's have a quick look at the are
doing is to say I'm starting out myself
if I if anyone comes across
a mistakes that I made what have you
please let me know and I'll annotate
gonna say this is a learning process for
me as well
now first of all the arduino can be
powered either by the USB got to connect
to your pc it will be powered by the
five volts from your pc or it can accept
a DC power input over here through this
Jack you can buy water what have you
I tend to have a battery or lithium
battery pack which i plug in this at
least its mobile
that's the one handy thing to think
about just a simple 9-volt battery with
a power jack is the one easy way to
power it if there's a range of voltages
that it works off but can work up to 12
volts if i remember correctly but I
think the best recommend voltage nine
volts I'd stick with nine volts for
Perry it in in the jack
also on these boards you will note there
are a few a couple of versions or later
versions of this board where they have a
surface mount chip and I've mentioned
this before
my recommendation is to not go with the
surface mount chip because if you happen
to make a mistake and blow something
the one component you likely to blow is
the microprocessor and with the SMD chip
the surface match up on the board
you basically going to end up throwing
away the whole board where is on this
configuration with the tip or the dual
inline package you can simply remove the
microprocessor and slaton un it's a far
more efficient and cheaper way to get
around a little whoopsie
right so then on the board we've
discussed that the chip and the inputs
now let's discuss the kind of May main
input output on it down the side the
side here
you there is a ground and then we've got
pins which are numbered from 13 down to
zero and these are mainly your digital
input and output and when I say input or
output as you realize when we get to
start writing code for this you can
define with a pan X's and input or
output and and I've seen need
the final trials the Arduino is going to
get confused not know what you want to
do on that pen so that is the digital
input and output it's also got some pwm
pulse width modulation input and output
as well then on this side we've got the
way you can draw power either a 3.3
volts or 5 volt and the ground
respective to that and then you've got
some analog input
now the analog inputs is in the project
which we're going to first start off
with the voltmeter in fact that is where
we're going to be putting our input and
just to tell you a little about the
analog input it's remember computer's
operating 10 so they are digital so
though it says analog these analog
inputs taken and log input and digitize
it
so basically if you put a 5 volt signal
in in in here which is changing then it
will represent it as a number between 1
and 1023
so in essence it it created a digital
representation of an analog signal going
in there not critical to know at this
point in time it's just a little bit of
background on the digital one on the
digital inputs they rely on either being
high or low res is representing either a
one or a zero so you're very basic you a
digital input or output into the
computer world and the microprocessor
right so the next thing is then to
connect the Audrina to your pc so before
you even start downloading the ide the
IDE is the compilot program will go
through that terminology and what happy
when I've got a tap on the pc you to
understand you want you going to want to
connect your arduino to your pc with
your USB cable so the USB cable is also
plugged into my piece you are ready and
then going to connect this into the
arduino and a friend what we're going to
dump it
change out to screen capture program so
you can actually see what's going on the
pc now what is going to happen
virtually on all pc's windows-based pcs
when you plug this in
it's going to see the hard way it's
going to try and stall the driver and
it's going to fail and that's the part I
want to help you through because is a
few basic steps and if you go slightly
wrong
you might really frustrate yourself also
some of the instructions I've seen on
the Arduino site and internet died
exactly describe what potentially might
happen on your pc and i'm going to try
and walk you through those as best I can
ok so one of the first things are going
to want to do is actually download the
arduino software now the if you go to
the if you just simply do a search on
our of Arduino in Google you're bound to
come across the site over here but
here's the address its arduino . CC and
you'll get to the homepage hair
here is a really useful spot for finding
projects and assistance on in forums if
you do have any problems so this is
certainly a very handy resources loads
of them but this is the main arduino one
and what you're going to do is you're
going to click on the download link and
this is the software which allows you to
compile your programs it's called the
IDE
it's where you write your sketches or
your code or your program and they've
got several versions of the idea now the
latest one that's about all you will see
here is our do you know one . zero . one
so I'd suggest downloading this one and
depending on your platform obviously i
can only help you with the windows side
of it you click on windows and it's
going to download a zip file and that
zip file you just X extract the files in
that the bar to a folder of your choice
now before we move away at your show
there are other versions all the
versions here's one . zero then there's
00 - 300 - - and I have found that that
what they've done they've added certain
functionality and what have you
as the in the later versions often
they're not backwards compatible
so what I'm trying to find out for
myself nor and all highlight to
yourselves is if there is a piece of
code which doesn't work in let's say the
latest version of are doing a one . 01
then i might say you need to either
install a load
00 23 0 0 0 to 2 i'd say if you want to
ensure you really compatible the safest
version to go with is either 0 0 0 to
200 2 3 because
a lot of the code that i found has been
written in that but just be away for I
having problems is worthwhile trying one
of the older versions so once you've
downloaded the software you can install
it into folding out again that the
structure is entirely up to you but I've
got a a folder on my harddrive called
arduino under there I've got a folder
called software
arduino and I've got all the versions of
the software now you don't actually have
to install the software so that's the
beauty of of our DNA that there's no
installation program once you've got the
folder extracted you will probably end
up with a folder structure just like
this over here and this is your main
editor or your IDE as a call it where
you write your code and all you have to
do is lucky right click and send it to
your desktop or what have you aware of
you like running your programs from is
all you do need to do is execute that to
actually write start writing your
programs
I'm gonna start highlighting when we
start getting to the first project
there are certain libraries or whatever
if you want to add bits of hardware like
that cereal enabled LCD display then
we're going to talk about what happens
under the libraries but the critical
partners you've got the arduino dot exe
and the drivers and the drive is what
we're going to need to be able to
install the actual arduino itself
so once you've got that there we can
then go to the device manager
ok so I've got you on my desktop now and
i'm using windows seven but these things
are fairly similarly in windows XP
so if you go to my computer the quick
way to open device manager is to right
click and then go and click on manage
then you'll get your
a device manager opening up and so click
on device manager minimizer's network
adapters there
now here is where the challenges come at
the moment I've got the arduino and
plugged and what I'm going to do I
maximize the ports and calm lpt I'm
gonna plug in there we go you might have
heard the noise we're plugged in the
Arduino Uno r3 and it happens to come up
on on come five
now the challenge here is that it
sometimes on some pcs will come up and
reports common lpt and others will come
up straight under user-pc where mass is
not as a USB device
now the reason it's coming up and
showing or finance all 6 i've got third
the drives installed but what you need
to be aware of is that sometimes when
you plug it in and say because it
doesn't come up and a common lpt which
is often where the documentation says it
will it can get rather confusing and you
might be led down a line like I did
thinking I need there something wrong
and I needed to install ports and calm
lpt but don't get caught up by that when
your drivers are installed it will
either come up pick up under here or it
will be directly under user-pc you just
look for where you get the kind of USB
and recognize or unknown USB device and
that's where you're going to go and
check and try and install the drivers
so I'm not going to try and emulate i'm
going to remove the device from myself
and then emulate installing it for the
first time
ok so let's go for a real world running
of what happens when you first plug in
your arduino so as your notes
there's no nothing under the devices or
ports here
there's nothing and
use a pc we've got you obviously
downloaded and extracted your arduino
files to a folder that you know about
I'm not going to plug in the arduino and
just notice what happens as you can see
it says installing device driver
software comes up as an unknown device
and look at the next message which hope
you'll come up Marshall there we go
the bus driver was not successfully
installed and this is probably what's
going to happen to yourselves
now then what you need to do is you
click on the device
unknown device and as you can see it's
not under ports , or lpt because often
they say go look there but as you can
see it's directly and under user-pc in
my case of as you can see it's got the
explanation it says unknown device so
what you do is right click update device
driver don't search automatically update
so have you go for the manual option now
I've seen XP that this screen looks
different but you've got to go for the
manual option now you've got to browse
to this folder here night this is quite
important i'm going to click the Browse
button and under here you can see I've
got my software
arduino and there's a drivers folder now
under the drivers folder
you've got this if TDI USB drivers
now if you happen to go and click on
that the computer will accept your
setting because there's files in it
believes it can use but it will fail and
this can seriously where it'd be a waste
time for yourself it was for me
so do not click on this folder here you
can see ok is highlighted if i go and
click on a little here will let you
accept that are not XP that kind of
either highlights or allows you to
select when you shouldn't when you can
or can't
but you have to select drivers not that
one ok so click ok so we've got that
folder there
include folders is selected you kick
next windows con verifying comes with
that just say install this driver anyway
and there we go says it's found it and
it's got your Arduino Uno r3 so click
close and abracadabra of everything's
worked out okay
you'll see it then pick up either under
your ports common lpt or under user-pc i
think by default once all the drivers
are installed it picks it up and here
but as I said if you've got a problem
normally isn't under here it's sitting
under the pc
ok so that means now hopefully that
giving you the right information to get
the driver install because then you're
ready to actually use the editing
software
ok so we've got the drivers installed
you've got you are Drina connected by
the USB port hope you has created a
shortcut or you've got a link to that
arduino software
I've got it on my desktop over here so
now you're ready to start playing
so if we double-click on this software
now this software against olympique de
me go through some of the terminology
this is called the ide and I think the
ide stands for interactive development
environment and all it basically is is a
an editor which allows you to compile
your code or your program or an arduino
speak your sketch
so you can write your code upload to the
microprocessor this will then come once
you've got your code written this will
compile it into the right code for your
arduino microprocessor to understand and
process and run right so we've got this
open
what you can do straight off is under
here if you go to file example this
comes with built-in sample sketches for
you to start and get you going straight
away some relieve you with this
so you can test that you get the basics
game before we get into the first
project which I'll walk you through what
we talked about
a schedule code structure and variables
and all that kind of thing we'll do in
the next one
but if you go here you've got 0 1 basics
and if you go long go to the really
basic one this one that says blink and
let's test the LED blink as that i'm not
i'm not going to cover these in detail
because they all over the internet and
they're right here
and as you can see it brings up in the
IDE the code
I'm going to let me just make a little
bit bigger we all start we will discuss
the whole layout all the code if you
understand all of work with Pascal or
turbo Pascal will see this is has got
the basic structure of that we define
your variables you have functions and
you call variables and all that kind of
thing that that's what we will cover off
as soon as we start getting into the
projects but here you go
you've got the code to make an LED blink
on your arduino now there are three
actually has a built-in LED I'm rope
we can upload this intestine i'll just
show you that on the board itself
so here we've got some instructions
where you can
very fine upload you can save your
sketches if you go to say bass you click
that button that checks the code that
you've written
it's formatted correctly and whether
you've gotten the issues are not a
little highlight them in a window down
here if it's come up okay
you can then click this upload button
you don't have to do that verify when
you want you when you click the upload
button it actually checks just checks
the code and it'll throw up an error
there as well
now if everything is correct it'll
upload correctly you can see here mind
says are doing a moon on on on comp I so
if we go to two tools and we go to board
the one thing you need to check if
you've got any errors and it's not
seeing your board straight away is to go
and select for one that which whatever
board you're using over here and then to
select the serial port now as you can
see I've got a number of serial ports
you'll have to check in your device
manager which serial port you are doing
are connected to but once you've got all
this set up correctly if he ever didn't
upload then it should
once these comes are correctly in place
it should upload the code as it did
there and as you saw that
upload complete it successfully and i'll
show you now what happens once that
happens
ok so you've got your code uploaded for
their first blinky blink and I've got my
arduino plugged in of see the code has
just been uploaded and if you can see
there is the onboard led which is doing
the flash that the code is telling it to
do now what you can do even though these
have an onboard led and on this top row
over here there is a pen labeled ground
and then this pin 13 and in that in that
sketch in that program you'll see it has
a reference to and 13 and if you take a
normal led the longer leg is the
positive so that goes to penn 13 that
the shorter one goes to ground and if
you plug that in
then you get your flashing LED there
now on this board the voltage and
resistance to to operate this led on
here of the built-in once we start going
to other projects we need to be constant
careful about having the right resistors
and what have you to operate things
outside of Arduino but we'll cover that
off as we get into the other projects so
the one last thing i want to highlight
before we wrap this first session up
that I mr. tell you is there's a little
micro switch on the Arduino itself over
there and that's just a reset switch so
i mean if you want to i'll see when you
pull the power out your code stops
running when you like the power back in
whether it's for my USB or the actual
power socket
it'll end ran its little boot loaders
got a little boot loader on the
microprocessor and it starts running the
code as you can see it's flashing
but you can also just push their led a
sort of a little flash
it's been rebooting itself it off see
happens very quickly but that's a little
reset button
ok so ideally hope that was of help to
you in terms of getting started
if you kind of progressed beyond that
point then hopefully the next videos in
the series will be far more use to you
when we start getting into the projects
start going through the code and
understanding why certain things work
and why they don't work and i said in
the next one we're going to cover off
the digital voltmeter where I've added a
bit of functionality for min max average
we're going to go through and I'm rate
we for their first project
it'll actually you can use this
voltmeter to output to the computer
display the turmoil or there's a turtle
serial terminal monitor that will show
you how to use and then we'll understand
the challenges I had with trying to
display out to this cereal enabled a
liquid crystal display and that is a
whole lot of topics in terms of hardware
libraries and understanding the
different types of variables that the
different types so that all there is a
favorite of learning that will happen in
the next exercise in the next video so
please i really hope this is
I've probably been quite a long video
and perhaps by design because I feel
that if you are really into the series
it means sitting down listening and
understanding all the potential hiccups
and headaches that you can have
but all the potential fun that can come
out of just being persistent and
enjoying this platform i think all
certainly yield a lot of fun and
entertainment
going forward so if you do enjoy the
series
please let me know there's a lot of time
and effort that goes into in particular
to making these videos so if there's not
a lot of people following them or
there's not a lot of value gained out of
them then it's . is continuing this
because his loads about the videos i
could be doing so do let me know please
read them give them a thumbs up and
certain if you have any queries or
comments and certainly person down below
and also on my forum i'll be adding an
area there once we start producing the
first projects what have you wear code
can be posted and as I said there are
people already are involved in Arduino
projects on the forum
so certainly go and check it out there
so thanks very much for watching and
I'll catch you soon with the next video
tell
yeah
