- Have you heard of the Arduino
Grove System from Seeed Studio?
It's this Arduino shield with a bunch
of four point connectors all over it,
and these connectors accept
a ton of different modules,
like LCD screens, temp
sensors, buttons, buzzers,
potentiometers, that type of thing.
In this video, we're gonna
look at 10 of the Grove modules
that come in the Arduino Grove starter kit
from Seeed Studio, we'll
look at three Arduino
code examples using the Grove
system, and then finally
we'll go over my favorite
feature of the Grove system,
it's probably not what
you think, stay tuned.
(electronic music)
Are you trying to figure out
this whole Arduino thing?
If you wanna get a jump start
into Arduino programming,
you should check out
programming electronics academy.
We have a membership program
that kinda walks you through
step by step how to
program Arduino and use it
and build cool stuff, if that
sounds interesting to you,
check out the link in the description.
Well I got this Arduino Grove starter kit
in the mail the other day, and you know
for the longest time I thought
it was the Groove system,
but I've been schooled,
and it is the Grove system.
Still working on this whole
English language thing.
Anyway, what is this Grove system exactly?
Well the Grove system is
essentially two things.
There's an Arduino shield,
and then there's a bunch
of different electrical modules.
The shield connects to your Arduino board,
and maps out a bunch of the Arduino pins
to these four point connectors.
And the electrical modules also
have four point connectors.
To connect a module to the shield,
you simply use a little ribbon cable.
So the whole idea of the Grove system
is that you can create circuits
by simply plugging in different modules
into the Grove shield,
so let's take a look
at the Grove starter kit
and see what comes in it.
First, there's an I-squared-C LCD
that has an RGB backlight,
notice the connector
on the LCD module, you're gonna see
a connector exactly like
this on all of the modules.
It's that standard Grove
four point connector.
Now, below the LCD module in the kit,
there's the Grove shield itself.
The shield is layered with
these four point connectors,
it's got them all over the place.
They have seven connections
for digital pins
two through eight, it has a connection
for the UART, it's got four
I-squared-C connection points,
and four connectors for
analog pins A0 through A3.
It also has a two way switch
to select either 3.3 volts
or five volts as the power
from the Arduino board.
It's got a handy side facing reset button
so you can reset your
Arduino board, it also has
an LED indicator so you know
when the board has power.
Along the edges of the board, you've got
your standard Arduino
headers, so if you wanna try
to stack a board you could, although
most shields would block the connectors,
but you could probably
squeeze some through.
Now in the starter kit,
below the plastic holder
that holds all the sensors, we've got ten
ribbon cables, these are what connect
the shield and the modules together.
There's a micro hobby Servo that also has
that standard four pin Grove connection.
It even comes with a
little instruction manual
for getting started, which I have to say
I kind of liked, it doesn't go in depth
into all the modules, but it gives
a quick little tip on them
and some demo projects
to use each one, it's
definitely worth looking over.
Beyond that there's three standalone LEDs
and a nine volt battery connector
for connecting your
Arduino to external power.
Okay, now back to the sensors.
It has a capacitive touch sensor
that can be used on one of
the digital pin connections,
there's a momentary push
button meant also for one of
the digital pin connectors,
when you press the button
it creates a high output at the pin.
There's a Piezo buzzer module that can be
connected to a digital pin,
there's a potentiometer
module, you could use this on one of the
analog connectors, there's
a light sensing module,
this also is meant for
the analog connector,
there's an LED module, and this is where
you can connect one of
those standalone LEDs to,
and it's got a little
trimmer potentiometer
to adjust the resistance to the LED.
And it's the long leg of the LED
that goes into the hole
marked with the plus sign.
Then there's a relay module,
that's meant to be used
with one of the digital connector points
on the Grove shield, there's
a temperature sensor,
and that's meant for
connecting to one of the
analog connectors, and
then there's a sound sensor
that uses an electret microphone,
and that's meant to be used
with one of the digital pins.
So that's a handful of
really common sensors
and output devices that
you might wanna be using
with your Arduino in the first place,
and this is literally plug
and play for these modules.
So let's check out some code,
so there's a GitHub Repo
where you can grab all of
the code examples that go
for the different modules
in the Groove starter kit.
I downloaded the zip
file of all the examples,
and then I saved the sketches
in the Arduino folder
in my documents, there's
also a library in there
for the LCD, and I took
that library folder
and put it into the libraries folder
in my Arduino sketchbook folder.
So once you've put those code examples
in the appropriate folder, and you open up
your Arduino IDE, then you can go to File,
Sketchbook, and you can go,
I put all those code examples
in an enclosing folder I called Grove,
and then all those
examples are right here.
And so let's just go ahead and start
with that first one, I'll
open up the Grove button,
and it's got the code
right here and it's saying,
alright, they've got a pin button
attached to pin three, and then a pin LED
attached to pin seven,
so I guess I'll just
go ahead and connect the
button module to the Grove,
and I'll connect the LED
module, and I'll use three
and seven, so digital pin
three and digital pin seven.
Okay, I'll go ahead and upload this code,
now it looks like if I press the button,
the LED's gonna come on,
if I don't press the button
the LED goes off, so let's check that.
Alright, working like a champ, okay,
that was pretty cool,
and really easy to do.
Okay, let's look at another example.
Here's that sketchbook
again, down to the Grove
where I put the files, and let's check out
the rotary angle sensor,
AKA, that's a potentiometer.
Okay, so, they've got the
potentiometer connected
at A0, so I'm gonna take
that potentiometer module,
and I'll just connect it to the A0 port
on the Grove shield, let me do that.
Now that was pretty
easy, but you still have
to be smart enough to know which direction
the connector goes, so
for me, that could be
a stretch sometimes, so this program
is reading the value at pin A0,
so where the potentiometer is attached,
and then it's printing that value
to the serial monitor window,
so I'll upload this code,
and I'll open up the
serial monitor window,
now I'm gonna adjust that
potentiometer and see,
okay yeah, it's adjust,
so the value I should get
is between a zero and
1023, and the potentiometer
is dividing, it's acting
as a voltage divider
between five volts and zero volts,
so that's how that's working,
so that's pretty cool,
again pretty darn easy,
and notice I just left
those other connections there,
I didn't think they'd hurt,
and it doesn't look like they are.
Alright, let's check another program out,
let's go here to File, Sketchbook, Grove,
let's take a look at
that RGB backlight LCD,
and we'll do the Hello World example.
So I'll go ahead and upload this code,
and it looks like this is just printing
hello world to the LCD, and then it prints
the number of seconds since
the last reset below that.
And this is where you can
set the background color,
so they've got color R,
color G, and color B,
and they've just defined
those up here as 255 zero,
so this will be a red
backlight, but we could
change it to a green backlight
or a blue blacklight, or any combination
there in between, but let's just go
with this default, I'll go ahead
and set up the circuit,
and we'll check this out.
Well that's pretty cool,
it's working like a charm,
it's got the hello world at the top,
and then it is showing
the number of milliseconds
that have past since the last reset.
That's pretty sweet, what's also neat
with the I-squared-C
ports is it doesn't matter
which port I use, I can
plug it into any one
and I don't have to designate in the code,
the board is just gonna
automatically pick up
the port that I have it
attached to, pretty cool.
Well what if I wanted
to add a Servo to this,
what if I just wanted to play around
with the LCD and add a Servo?
Let's do this, I'm gonna go to File,
in the examples, there is
some canned Servo code,
so I'm just gonna go to
Knob, so in this example
you've got a Servo attached to pin nine,
but since I don't have a
nine on the Grove system,
I'm gonna use pin six,
and I know I can still do
PWM at pin six, and
that's what Servos use,
so I'll change that to
six, so in this program
you read a value from the potentiometer
where you've got the
potentiometer attached,
you map that output from zero to 180,
and then you pass that value to the Servo
to write the directions, and
if all this stuff is like,
hey this is a lot of
crazy stuff I really am
not following you, I'm
not trying to necessarily
instruct on the code in
here, if you've got questions
about the code you might wanna check out
the training academy we offer,
we walk through all
this stuff step by step,
or just check out our YouTube
channel, we got a bunch
of other videos on here
about this type of thing.
Anyway, okay, so what I'm gonna do
is I'm just gonna take this code,
and I'm gonna throw it right
into that other LCD program
and see if we can just
make a quick mesh up here.
So what I did is I took a
bunch of that Servo code,
and I put it into the LCD program.
So now when I move the potentiometer,
it's going to move that Servo,
and in addition to that,
the direction I've moved that Servo,
what position it's at
between zero and 180,
that is gonna show up on the LCD.
Now I didn't do a great
job printing to the LCD,
and if you can catch it
let me know in the comments
if you see where I screwed up,
but anyway that's pretty
slick, I've got this stuff
up and working in no
time, just with a matter
of connecting a couple
things, kinda like it.
So my favorite feature
of the Grove system,
well it might be kinda
lame, but I just like
that it's easy to make the connections
and that the connections don't click in.
So it's just like a snug
fit, you can push it in,
and then pull it out, there's no clicking
that holds it in there and then
you have to kinda un-click it.
I've got big fat fingers, it's hard enough
to get the connectors
in in the first place,
I don't wanna have to try
to mess to pull them out.
So just the ability to
put it in real quick,
pull it out, that's a great feature.
Well, I hope you like this video where
we walk through the
Grove system for Arduino,
think it's pretty cool, I
can definitely see how it can
allow you to put some
circuits together really quick
and start playing around,
so that's kinda neat,
it comes with some pretty
basic code examples
that you can play with, which are also
kind of fun, you can mesh them together
pretty easily, so all in all, pretty neat.
Hey, before you go, you should subscribe
to our YouTube channel, we release awesome
Arduino videos every other week.
Also, to kinda help you out
on your Arduino journey,
you can follow the
playlist we've got up here,
it's more videos all about Arduino,
and if you really wanna get a jump start
you should check out
Programming Electronics Academy,
we have a training course
designed specifically
to help you go really in depth
on learning how to program Arduino.
Take it easy, and I'll
see you next time, bye.
