Ks0158 Keyestudio EASY plug starter kit for Arduino: Difference between revisions

From Keyestudio Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 708: Line 708:


When you blow air into the sensor, the air vibrates; the sensor will pick up the sound signal and turn on LED.
When you blow air into the sensor, the air vibrates; the sensor will pick up the sound signal and turn on LED.
===Lesson 9: Make a light-controlled lamp===
'''Introduction'''
From the lesson title, you know this lesson is very similar to the previous one. In the last one, the LED is controlled by sound; in this one, the LED will be controlled by light. So here, we will use a light-related photocell sensor. 
'''Hardware required'''
EASY plug controller Board *1<br>
EASY plug cable *2<br>
USB cable *1<br>
EASY plug Digital White LED Module *1<br>
EASY plug Photocell Sensor *1<br>
First, a brief introduction of this EASY plug Photocell Sensor.
<br>[[File:15841.png|500px|frameless|thumb]]<br>
Photocell is a semiconductor. It has features of high sensitivity, quick response, spectral characteristic, and R-value consistence, maintaining high stability and reliability in environment extremes such as high temperature, high humidity. It’s widely used in automatic control switch fields. Below are its specifications:
Interface type: analog<br>
Working voltage: 5V<br>
Size: 38*20mm<br>
Weight: 5g<br>
'''Connection Diagram'''
Now, connect the LED module to the D11 port of the controller board, and photocell sensor to A0 port using the EASY plug cables.
<br>[[File:15842.png|500px|frameless|thumb]]<br>
'''Sample Code'''
Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.
<pre>
int photopin=0;// set photocell sensor to A0
int ledpin=11;// set pin11 LED as PWM output to adjust the LED brightness
int val=0;// define variable val
void setup()
{
pinMode(ledpin,OUTPUT);// set digital pin 11 as output
Serial.begin(9600);// set baud rate to 9600
}
void loop()
{
val=analogRead(photopin);// read the analog value of the sensor and assign it to val
Serial.println(val);// display val value
analogWrite(ledpin,val/4);// turn on LED and set to maximum brightness(PWM output is 255)
delay(10);// wait 0.01S
}
</pre>
'''Result'''
When you block light of the sensor, the LED becomes less bright; when you shine light on the sensor, the LED becomes brighter.
===Lesson 10: Water level alarm===
'''Introduction'''
We are all very familiar with alarms. In this lesson, we will make a water level alarm. This experiment principle can be applied to many occasions. For example, it’s used in washing machines to tell water level.   
'''Hardware required'''
EASY plug controller Board *1<br>
EASY plug cable *2<br>
USB cable *1<br>
EASY plug Active Buzzer Module *1<br>
EASY plug Water Sensor *1<br>
Here is a brief introduction of this EASY plug Water Sensor.
<br>[[File:15843.png|500px|frameless|thumb]]<br>
Our water sensor is easy- to-use, portable and cost-effective, designed to identify and detect water level and water drop. This sensor measures the volume of water drop and water quantity through an array of traces of exposed parallel wires. Compared with its competitors, this sensor is smaller and smarter. Below are its specifications:
Operating voltage: DC5V<br>
Operating current: ﹤20mA<br>
Sensor type: Analog<br>
Detection area: 40mm x16mm<br>
Humanized design: Anti-slippery semi-lunar recess<br>
Operating temperature: 10%~90% without condensation<br>
Size: 68.3 x 20mm<br>
Weight: 5g<br>
'''Connection Diagram'''
Now, connect the LED module to the D11 port of the controller board, and water sensor to A1 port using the EASY plug cables.
<br>[[File:15844.png|500px|frameless|thumb]]<br>
'''Sample Code'''
Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.
<pre>
int analogPin = 1; // connect water sensor to analog interface 1
int buzzPin= 11; // buzzer to digital interface 11
int val = 0; // define the initial value of variable ‘val’ as 0
int data = 0; // define the initial value of variable ‘data’ as 0
void setup()
{
pinMode(buzzPin, OUTPUT); // define buzzer as output pin
Serial.begin(9600); // set baud rate at 9600
}
void loop()
{
val = analogRead(analogPin); // read and assign analog value to variable ’val’
if(val>400)
{ // decide whether variable ‘val’ is over 400
digitalWrite(buzzPin,HIGH); // turn on buzzer when variable ‘val’ is over 400
}
else{
digitalWrite(buzzPin,LOW); // turn off buzzer when variable ‘val’ is under 400
}
data = val; // variable ’val’ assigns value to variable ‘data’
Serial.println(data); // print variable ‘data’ by Serial.print
delay(100);
}
</pre>
'''Result'''
Place the sensor sensing part into water, open serial monitor, you can see the value it displays. When the value is over 400, the buzzer will ring.
===Lesson 11: I'm thirsty===
'''Introduction'''
Do you have plants? I believe you do. Do you water them often? How do you know when they need water? Well, this alarm here can help you do that.
'''Hardware required'''
EASY plug controller Board *1<br>
EASY plug cable *2<br>
USB cable *1<br>
EASY plug Active Buzzer Module *1<br>
EASY plug Soil humidity Sensor *1<br>
Let’s first take a look at this sensor.
<br>[[File:15845.png|500px|frameless|thumb]]<br>
This soil humidity sensor aims to detect the soil humidity. If the soil is in lack of water, the analog value output by the sensor will decrease, otherwise, it will increase. Together with Arduino, you can make an alarm or an automatic watering device, making your plant more comfortable and your garden smarter. Below are its specifications:
Power Supply Voltage: 3.3V or 5V<br>
Working Current: ≤ 20mA<br>
Output Voltage: 0-2.3V (When the sensor is totally immersed in water, the voltage will be 2.3V), the higher humidity, the higher the output voltage<br>
Sensor type: Analog output<br>
Size: 65.5*20mm<br>
Weight: 5g<br>
'''Connection Diagram'''
Now, connect the buzzer module to the D11 port of the controller board, and soil humidity sensor to A1 port using the EASY plug cables.
<br>[[File:15846.png|500px|frameless|thumb]]<br>
'''Sample Code'''
Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.
<pre>
int analogPin = 1; // connect soil humidity sensor to analog interface 1
int buzzer= 11; // buzzer to digital interface 11
int val ;
void setup()
{
pinMode(buzzer, OUTPUT); // define buzzer as output pin
Serial.begin(9600); // set baud rate at 9600
}
void loop()
{
val = analogRead(analogPin); // read and assign analog value to variable ’val’
Serial.print(val); // print variable ‘val’ by Serial.print
if(val<=300)
{
{
digitalWrite(buzzer,HIGH);
}
Serial.println("  dry soil");
delay(50);
}
if((val>300)&&(val<500))
{
{
digitalWrite(buzzer,LOW);
}
Serial.println("  humid soil");
delay(50);
}
if(val>=500)
{
{
digitalWrite(buzzer,HIGH);
}
Serial.println("  in water");
delay(50);
}
delay(100);
}
</pre>
'''Result'''
Open serial monitor, you can see the value indicating soil humidity; when the value is ≤300, the serial monitor will display “dry soil” and buzzer will ring; when the value is between 300-500, the serial monitor will display “humid soil”; when the value is ≥500, the serial monitor will display “in water” and the buzzer will ring.
===Lesson 12: Visible analog value===
'''Introduction'''
In this lesson, we will make the mysterious analog value become less mysterious. We will be using the analog rotation sensor, a typical output component of analog value. Together with an LED, we can see clearly if the analog value is changing. 
'''Hardware required'''
EASY plug controller Board *1<br>
EASY plug cable *2<br>
USB cable *1<br>
EASY plug Digital White LED Module *1<br>
EASY plug Analog Rotation Sensor *1<br>
Now, let’s meet this new EASY plug Analog Rotation Sensor.
<br>[[File:15847.png|500px|frameless|thumb]]<br>
This analog Rotation Sensor is Arduino compatible. It is based on a potentiometer. Its voltage can be subdivided into 1024. By rotating it to a certain position, it can output certain voltage value. Below are its specifications:
Supply Voltage: 3.3V to 5V<br>
Interface: Analog<br>
Size: 39*20mm<br>
Weight: 10g<br>
'''Connection Diagram'''
Now, connect the LED module to the D11 port of the controller board, and analog rotation sensor to A0 port using the EASY plug cables.
<br>[[File:15848.png|500px|frameless|thumb]]<br>
'''Sample Code'''
Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.
<pre>
int rotatepin=0;// set rotation sensor to A0
int ledpin=11;// set pin11 LED as PWM output to adjust the LED brightness
int val=0;// define variable val
void setup()
{
pinMode(ledpin,OUTPUT);// set digital pin 11 as output
Serial.begin(9600);// set baud rate to 9600
}
void loop()
{
val=analogRead(rotatepin);// read the analog value of the sensor and assign it to val
Serial.println(val);// display val value
analogWrite(ledpin,val/4);// turn on LED and set to maximum brightness(PWM output is 255)
delay(10);// wait 0.01S
}
</pre>
'''Result'''
By rotating the knob on the module, you can adjust the LED brightness. Now you can see the change of analog value clearly.
===Lesson 13: Magnetic field detecting===
'''Introduction'''
We know that earth is surrounded by magnetic field. We may not feel it, but it’s critical to our survival. In this lesson, we will teach you how to detect magnetic field of magnetic materials, not the magnetic field of earth because it’s too weak to be detected by this sensor.   
'''Hardware required'''
EASY plug controller Board *1<br>
EASY plug cable *2<br>
USB cable x1<br>
Magnetic-iron *1 (not included)<br>
EASY plug Digital White LED Module *1<br>
EASY plug Hall Magnetic Sensor *1<br>
Well, let’s take a look at this EASY plug Hall Magnetic Sensor first.
<br>[[File:15849.png|500px|frameless|thumb]]<br>
This sensor senses the magnetic materials within a detection range up to 75px. The detection range and the strength of the magnetic field are proportional. The output is digital on/off. Below are its specifications:
Detection range: up to 75px<br>
Output: digital on/off<br>
Size: 42.3*20mm<br>
Weight: 5g<br>
'''Connection Diagram'''
Now, connect the LED module to the D11 port of the controller board, and hall magnetic sensor to D9 port using the EASY plug cables.
<br>[[File:15850.png|500px|frameless|thumb]]<br>
'''Sample Code'''
Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.
<pre>
int ledPin = 11;                // set LED pin to D11
int inputPin = 9;              // set sensor to input pin 9
int val = 0;                    // define variable val
void setup() {
pinMode(ledPin, OUTPUT);      // declare LED as output
pinMode(inputPin, INPUT);    // declare magnetic sensor as input
}
void loop(){
val = digitalRead(inputPin);  // read input value
if (val == HIGH) {            // check if the input is HIGH
  digitalWrite(ledPin, LOW);  // turn LED OFF
} else {
  digitalWrite(ledPin, HIGH); // turn LED ON
}
}
</pre>
'''Result'''
Place the magnetic-iron near the sensor, LED turns on; remove the magnetic-iron, LED turns off.
===Lesson 14: Collision detecting===
'''Introduction'''
In this lesson, we will use a collision sensor and an LED to detect collision. This lesson is also simple, but you can apply what you learn here to many applications. For example, you can install it to a robot to realize collision detection function.
'''Hardware required'''
EASY plug controller Board *1<br>
EASY plug cable *2<br>
USB cable *1<br>
EASY plug Digital White LED Module *1<br>
EASY plug Collision Sensor *1<br>
Here is a brief introduction of EASY plug Collision Sensor.
<br>[[File:15851.png|500px|frameless|thumb]]<br>
Collision sensor is also known as electronic switch. By programming, it can realize control over light, sound device, key choice function of LCD display etc. Below are its specifications:
Reserving a M3 mounting hole, convenient for fixation on a robot.<br>
With indicator light<br>
Size: 39 * 20mm<br>
Weight: 7g<br>
'''Connection Diagram'''
Now, connect the LED module to the D11 port of the controller board, and collision sensor to D9 port using the EASY plug cables.
<br>[[File:15852.png|500px|frameless|thumb]]<br>
'''Sample Code'''
Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.
<pre>
int ledpin=11;// set LED to D11
int inpin=9;// set sensor to D9
int val;// define variable val
void setup()
{
pinMode(ledpin,OUTPUT);// set pin LED as output
pinMode(inpin,INPUT);// set collision sensor as input
}
void loop()
{
val=digitalRead(inpin);// read value on pin 9 and assign it to val
if(val==HIGH)// check if the switch on the module if in closed state; if Yes, turn on LED
{ digitalWrite(ledpin,LOW);}
else
{ digitalWrite(ledpin,HIGH);}
}
</pre>
'''Result'''
You can see on the module, there is a clip, when collision happens, the clip is in closed state, just like a switch, and the LED turns on. Otherwise, LED remains off.

Revision as of 14:34, 26 September 2016

EASY plug learning kit for Arduino starters


thumb

EASY plug starter kit for Arduino
Based on open-source hardware
19 various sensors in one box
For you to make interesting projects


Summary

What about you and your kids being makers? What about getting creative and making your ideas come true? Well, let's get started right away!
EASY plug learning kit is developed not only for professional electronic enthusiasts, but also for friends in other lines of work. Even if you have no electronics related knowledge, you can use it to realize your ideas as long as you want to.
The tutorial of this kit has fully considered the learning interest of beginners. Starting from the basics to more complex lessons, well-arranged content and a connection diagram for every lesson help you get started easily and quickly in learning Arduino.
Its unique EASY plug interface makes the wire connection easier than ever! You never have to worry about wrong connection or complicated soldering, avoiding component damage due to wrong wiring or wrong soldering. It's both safe and environmental-friendly.

Kit List

No. Product Name Quantity Picture
1 EASY plug controller Board 1
thumb
2 Acrylic Board + Copper bush set 1
thumb
3 EASY plug cable 3
thumb
4 USB cable 1
thumb
5 EASY plug Digital White LED Module 3
thumb
6 EASY plug Active Buzzer Module 1
thumb
7 EASY plug Passive Buzzer Module 1
thumb
8 EASY plug Analog Temperature Sensor 1
thumb
9 EASY plug Analog Sound Sensor 1
thumb
10 EASY plug Photocell Sensor 1
thumb
11 EASY plug Water Sensor 1
thumb
12 EASY plug Soil humidity Sensor 1
thumb
13 EASY plug Analog Rotation Sensor 1
thumb
14 EASY plug Hall Magnetic Sensor 1
thumb
15 EASY plug Collision Sensor 1
thumb
16 EASY plug Digital Push Button 1
thumb
17 EASY plug Capacitive Touch Sensor 1
thumb
18 EASY plug Knock Sensor 1
thumb
19 EASY plug Digital Tilt Sensor 1
thumb
20 EASY plug Flame Sensor 1
thumb
21 EASY plug Vibration Sensor 1
thumb
22 EASY plug Reed Switch Module 1
thumb
23 EASY plug LM35 Temperature Sensor 1
thumb


Lesson List

1.Hello world
2.Who's blinking
3.Visible breath
4.Flowing light
5.Make a sound
6.Who's singing
7.Temperature measuring
8.Make a sound-controlled lamp
9.Make a light-controlled lamp
10.Water level alarm
11.I'm thirsty
12.Visible analog value
13.Magnetic field detecting
14.Collision detecting
15.Button-controlled lamp
16.Touch alarm
17.Knock Sensing
18.Tilt Sensor
19.Fire alarm
20.Vibration alarm
21.Magnetic field detector
22.Temperature alarm


Lesson Details

Lesson 1: Hello world

Introduction

For the first lesson, we will begin with something simple. This lesson is called "Hello World!". This is a communication test of your Arduino and PC, also a primer project for you to have your first try of the Arduino world!

Hardware required

EASY plug controller Board *1
USB cable *1

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int val;// define variable val
void setup()
{
  Serial.begin(9600);// set the baud rate at 9600 to match the software settings. When connected to a specific device, (e.g. Bluetooth), the baud rate needs to be the same with it.
}
void loop()
{
  val=Serial.read();// read the instruction or character from PC to Arduino, and assign them to Val.
  if(val=='R')//  determine if the instruction or character received is “R”
  {  // if it’s “R”
   Serial.println("Hello World!");// display “Hello World!”
  }
}

Result

Open serial port monitor of the Arduino IDE, input “R”, click “Send”, you can see it displays “Hello World!”.


Lesson 2: Who's blinking

Introduction

After entry lesson of “Hello World!”, let’s up the stake and learn how to control the blinking of an LED. This lesson is quite simple. All you need to do is to connect an LED to one of the digital pins. We will be using hardware form "Hello World!" and also some extra parts.

Hardware required

EASY plug controller Board *1
EASY plug cable *1
USB cable *1
EASY plug Digital White LED Module *1

In the hardware list, you can see there is an EASY plug Digital White LED Module. Here is a brief introduction of it.


thumb


This LED module has a bright white color. It’s ideal for Arduino starters. You can easily connect it to the IO port of our EASY plug controller board. Its specifications are as below:

Type: Digital
PH2.54 socket
White LED module
Enables interaction with light-related works
Size: 33.7*20mm
Weight: 5g

Connection Diagram

Now, let’s connect this module to the D11 port of the controller board using the EASY plug cable, just as simple as that!


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int ledPin = 11; // define digital pin 11
void setup()
{
pinMode(ledPin, OUTPUT);// define LED pin as output
}
void loop()
{
analogWrite(ledPin,255); //set the LED on, regulate light brightness, ranging from 0-255, 255 is the brightest
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // set the LED off
delay(1000); // wait for a second
}

Result

The LED will be on for one second, and then off for one second with an interval of one second, just like a shining eye blinking.

Lesson 3: Visible breath

Introduction

After the first two lessons, I believe you’ve grown familiar with Arduino. In this lesson, we will use the LED to do something else, simulating breath. Sounds cool? Well, let’s get on with it. We will still be using the same hardware form lesson 2.

Hardware required

EASY plug controller Board *1
EASY plug cable *1
USB cable *1
EASY plug Digital White LED Module *1

Connection Diagram

Now, connect the LED module to the D11 port of the controller board using the EASY plug cable.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int ledPin = 11; // define digital pin 11
void setup()
{
pinMode(ledPin, OUTPUT);// define LED pin as output
}
void loop()
{
for (int a=0; a<=255;a++)// set the LED to be brighter gradually 
{
analogWrite(ledPin,a); // turn on LED, regulate light brightness, ranging from 0-255, 255 is the brightest
delay(10); // wait for 0.01S
}
for (int a=255; a>=0;a--) // set LED to be dimming gradually
{
analogWrite(ledPin,a); // turn on LED, regulate light brightness, ranging from 0-255, 255 is the brightest
delay(10); // wait for 0.01S
}
delay(1000);// wait for 1S
}

Result

LED becomes brighter gradually, wait for 0.01S, then dimming gradually, wait for 1S, and then cycles on, just like the LED is breathing.

Lesson 4: Flowing light

Introduction

LED can do many things. I believe you have seen billboards with lights changing to form various patterns. Now, you can make one! This lesson is called Flowing light. We will need 2 more EASY plug cables and 2 more LEDs than the previous lesson.

Hardware required

EASY plug controller Board *1
EASY plug cable *3
USB cable *1
EASY plug Digital White LED Module *3

Connection Diagram

Now, connect the LED modules one by one to D9, D10 and D11 ports of the controller board using the EASY plug cables. LED becomes brighter gradually, wait for 0.01S, then dimming gradually, wait for 1S, and then cycles on, just like the LED is breathing.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int BASE = 9 ;  // the I/O pin for the first LED
int NUM = 3;   //  number of LEDs
void setup()
{
   for (int i = BASE; i < BASE + NUM; i ++) 
   {
     pinMode(i, OUTPUT);   // set I/O pins as output
   }
}

void loop()
{
   for (int i = BASE; i < BASE + NUM; i ++) 
   {
     digitalWrite(i, HIGH);    //set I/O pins as “high”, turn on LEDs one by one
     delay(200);        // wait 0.2S
   }
   for (int i = BASE; i < BASE + NUM; i ++) 
   {
     digitalWrite(i, HIGH);    // set I/O pins as “low”, turn off LEDs one by one
     delay(200);        // wait 0.2S
   }  
}

Result

3 LEDs turn on one by one, and then turn off one by one, just like flowing light.

Lesson 5: Make a sound

Introduction

After many light-related lessons, let’s learn how to make a sound. Sound experiment is usually done with a buzzer or a speaker, while buzzer is simpler and easier to use. In this lesson, we will learn how to make a sound with an active buzzer.

Hardware required

EASY plug controller Board *1
EASY plug cable *1
USB cable *1
EASY plug Active Buzzer Module *1

Here is a brief introduction of EASY plug Active Buzzer Module.


thumb

EASY plug Active Buzzer module is the simplest sound making module. It has an inner vibration source. Simply connect it with 5V power supply, it can buzz continuously. With Easy plug design, you can easily plug it into EASY plug controller board to have a try. Below are its specifications:

Working voltage: 3.3-5v
Interface type: digital
Size: 39*20mm
Weight: 6g

Connection Diagram

Now, connect the module to the D10 port of the controller board using the EASY plug cable.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int buzzPin =  10; // Connect Buzzer to D10
void setup()  
{        
 pinMode(buzzPin, OUTPUT);  // set I/O pin as “output” 
}
void loop()                    
{
 digitalWrite(buzzPin, HIGH);// set digital I/O output as “high”, the buzzer will sound
 delay(500);// wait for 0.5S
 digitalWrite(buzzPin, LOW);// set digital I/O output as “low”, the buzzer will stop making sound
 delay(500); // wait for 0.5S      
}

Result

The buzzer will ring for 0.5S and stop making sound for 0.5S.


Lesson 6: Who's singing

Introduction

In the previous lesson, we have learned how to make a sound. In this lesson, we will use another type of buzzer to code the melody of a song. It’s called a passive buzzer. Using the codes we gave you, this lesson is also quite simple.

Hardware required

EASY plug controller Board *1
EASY plug cable *1
USB cable *1
EASY plug Passive Buzzer module *1

Let’s first learn a little bit about this EASY plug passive Buzzer Module.


thumb

Different from active buzzer, passive buzzer is not set with a vibration source, so DC signal cannot make it buzz. A 2K~5K square wave is used to drive it. Different frequencies produce different sounds. So we can use Arduino to code the melody of a song. Below are its specifications:

Working voltage: 3.3-5v
Interface type: digital
Size: 39*20mm
Weight: 6g

Connection Diagram

Now, connect the module to the D8 port of the controller board using the EASY plug cable.


thumb


Sample Code

#define D0 -1
#define D1 262
#define D2 293
#define D3 329
#define D4 349
#define D5 392
#define D6 440
#define D7 494

#define M1 523
#define M2 586
#define M3 658
#define M4 697
#define M5 783
#define M6 879
#define M7 987

#define H1 1045
#define H2 1171
#define H3 1316
#define H4 1393
#define H5 1563
#define H6 1755
#define H7 1971
// List all D tune frequency
#define WHOLE 1
#define HALF 0.5
#define QUARTER 0.25
#define EIGHTH 0.25
#define SIXTEENTH 0.625
// list all tempos
int tune[]=        // List each frequency according to numbered musical notation
{
  M3,M3,M4,M5,
  M5,M4,M3,M2,
  M1,M1,M2,M3,
  M3,M2,M2,
  M3,M3,M4,M5,
  M5,M4,M3,M2,
  M1,M1,M2,M3,
  M2,M1,M1,
  M2,M2,M3,M1,
  M2,M3,M4,M3,M1,
  M2,M3,M4,M3,M2,
  M1,M2,D5,D0,
  M3,M3,M4,M5,
  M5,M4,M3,M4,M2,
  M1,M1,M2,M3,
  M2,M1,M1
};
float durt[]=       // list all tempo according to numbered musical notation
{
  1,1,1,1,
  1,1,1,1,
  1,1,1,1,
  1+0.5,0.5,1+1,
  1,1,1,1,
  1,1,1,1,
  1,1,1,1,
  1+0.5,0.5,1+1,
  1,1,1,1,
  1,0.5,0.5,1,1,
  1,0.5,0.5,1,1,
  1,1,1,1,
  1,1,1,1,
  1,1,1,0.5,0.5,
  1,1,1,1,
  1+0.5,0.5,1+1,
};
int length;
int tonepin=8;   // set module signal pin to D8 
void setup()
{
  pinMode(tonepin,OUTPUT);
  length=sizeof(tune)/sizeof(tune[0]);   // calculate length

}
void loop()
{
  for(int x=0;x<length;x++)
  {
    tone(tonepin,tune[x]);
    delay(500*durt[x]);   // this is use to adjust tempo delay, you can change the number to your liking.
    noTone(tonepin);
  }
  delay(2000);
}

Result

The buzzer will play Ode to Joy, and then pause for 2S.

Lesson 7: Temperature measuring

Introduction

In this lesson, we will learn how to measure the temperature of our surroundings. You may feel hot or cold sometimes, but how can you know for sure? Well, let’s measure it.

Hardware required

EASY plug controller Board *1
EASY plug cable *1
USB cable *1
EASY plug Analog Temperature Sensor *1

First, let’s take a look at this EASY plug Analog Temperature Sensor.


thumb

Analog Temperature Sensor is based on the working principle of a thermistor (resistance varies with temperature change in the environment). It can sense temperature change in its surrounding and send the data to the analog I/O in the controller board. Below are its specifications:

Interface type: analog
Working voltage: 5V
Temperature range: -55℃~315℃
Size: 38*20mm
Weight: 5g

Connection Diagram

Now, connect the module to the A1 port of the controller board using the EASY plug cable.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

double Thermister(int RawADC) 
{
double Temp;
Temp = log(((10240000/RawADC) - 10000));
Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp );
Temp = Temp - 273.15; // Convert Kelvin to Celcius
return Temp;
}
void setup()
{
Serial.begin(9600);
} 
void loop() 
{
Serial.print(Thermister(analogRead(1))); // display Fahrenheit 
Serial.println(" c");
delay(500);
}

Result

Pic 1 is the temperature the sensor senses in serial monitor; pic 2 is when you blow air with your mouth to the sensor, the temperature goes higher; pic 3 is when you aim a fan to the sensor, the temperature drops. Now, you can know the exact temperature of your surroundings.

Pic 1


thumb

Pic 2


thumb

Pic 3


thumb


Lesson 8: Make a sound-controlled lamp

Introduction

This is a simple, but interesting lesson. We will make a sound-controlled lamp. Usually, this test is done by clapping your hand. But due to many sound interference in the environment, we will blow air into the sound sensor instead.

Hardware required

EASY plug controller Board *1
EASY plug cable *1
USB cable *1
EASY plug Digital White LED Module *1
EASY plug Analog Sound Sensor *1

First, let’s learn something about this EASY plug Analog Sound Sensor.


thumb

Analog Sound Sensor is typically used in detecting the loudness in ambient environment. The sound sensor can pick up sound signal and convert it into voltage value. You can use it to make some interesting interactive works such as a voice operated switch or a sound-controlled lamp in this lesson. Below are its specifications:

Supply Voltage: 3.3V to 5V
Detecting sound intensity
Interface: Analog
Size: 38*20mm
Weight: 6g

Connection Diagram

Now, connect the LED module to the D11 port of the controller board, and sound module to A0 using the EASY plug cables.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int ledpin=11;// set LED to D11
int soundpin=0;// set sensor to A0
void setup()
{
 Serial.begin(9600); // open serial port, set the baud rate at 9600 bps
 pinMode(ledpin,OUTPUT);// set LED pin as output
}
void loop()
{
 int val;
 val=analogRead(soundpin);   // read the value of sensor pin and assign it to val 
 Serial.println(val);
 if (val>170) 
  {            
  digitalWrite(ledpin, HIGH);  // turn LED ON
  } 
 else
  {
   digitalWrite(ledpin, LOW); // turn LED OFF
  }   
  delay(100);
}

Result

When you blow air into the sensor, the air vibrates; the sensor will pick up the sound signal and turn on LED.


Lesson 9: Make a light-controlled lamp

Introduction

From the lesson title, you know this lesson is very similar to the previous one. In the last one, the LED is controlled by sound; in this one, the LED will be controlled by light. So here, we will use a light-related photocell sensor.

Hardware required

EASY plug controller Board *1
EASY plug cable *2
USB cable *1
EASY plug Digital White LED Module *1
EASY plug Photocell Sensor *1

First, a brief introduction of this EASY plug Photocell Sensor.


thumb

Photocell is a semiconductor. It has features of high sensitivity, quick response, spectral characteristic, and R-value consistence, maintaining high stability and reliability in environment extremes such as high temperature, high humidity. It’s widely used in automatic control switch fields. Below are its specifications:

Interface type: analog
Working voltage: 5V
Size: 38*20mm
Weight: 5g

Connection Diagram

Now, connect the LED module to the D11 port of the controller board, and photocell sensor to A0 port using the EASY plug cables.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int photopin=0;// set photocell sensor to A0
int ledpin=11;// set pin11 LED as PWM output to adjust the LED brightness
int val=0;// define variable val
void setup()
{
pinMode(ledpin,OUTPUT);// set digital pin 11 as output
Serial.begin(9600);// set baud rate to 9600
}
void loop()
{
val=analogRead(photopin);// read the analog value of the sensor and assign it to val
Serial.println(val);// display val value
analogWrite(ledpin,val/4);// turn on LED and set to maximum brightness(PWM output is 255)
delay(10);// wait 0.01S
}

Result

When you block light of the sensor, the LED becomes less bright; when you shine light on the sensor, the LED becomes brighter.


Lesson 10: Water level alarm

Introduction

We are all very familiar with alarms. In this lesson, we will make a water level alarm. This experiment principle can be applied to many occasions. For example, it’s used in washing machines to tell water level.

Hardware required

EASY plug controller Board *1
EASY plug cable *2
USB cable *1
EASY plug Active Buzzer Module *1
EASY plug Water Sensor *1

Here is a brief introduction of this EASY plug Water Sensor.


thumb

Our water sensor is easy- to-use, portable and cost-effective, designed to identify and detect water level and water drop. This sensor measures the volume of water drop and water quantity through an array of traces of exposed parallel wires. Compared with its competitors, this sensor is smaller and smarter. Below are its specifications:

Operating voltage: DC5V
Operating current: ﹤20mA
Sensor type: Analog
Detection area: 40mm x16mm
Humanized design: Anti-slippery semi-lunar recess
Operating temperature: 10%~90% without condensation
Size: 68.3 x 20mm
Weight: 5g

Connection Diagram

Now, connect the LED module to the D11 port of the controller board, and water sensor to A1 port using the EASY plug cables.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int analogPin = 1; // connect water sensor to analog interface 1
int buzzPin= 11; // buzzer to digital interface 11
int val = 0; // define the initial value of variable ‘val’ as 0
int data = 0; // define the initial value of variable ‘data’ as 0
void setup()
{
pinMode(buzzPin, OUTPUT); // define buzzer as output pin
Serial.begin(9600); // set baud rate at 9600
}
void loop()
{
val = analogRead(analogPin); // read and assign analog value to variable ’val’
if(val>400)
{ // decide whether variable ‘val’ is over 400 
digitalWrite(buzzPin,HIGH); // turn on buzzer when variable ‘val’ is over 400
}
else{
digitalWrite(buzzPin,LOW); // turn off buzzer when variable ‘val’ is under 400
}
data = val; // variable ’val’ assigns value to variable ‘data’
Serial.println(data); // print variable ‘data’ by Serial.print
delay(100);
}

Result

Place the sensor sensing part into water, open serial monitor, you can see the value it displays. When the value is over 400, the buzzer will ring.

Lesson 11: I'm thirsty

Introduction

Do you have plants? I believe you do. Do you water them often? How do you know when they need water? Well, this alarm here can help you do that.

Hardware required

EASY plug controller Board *1
EASY plug cable *2
USB cable *1
EASY plug Active Buzzer Module *1
EASY plug Soil humidity Sensor *1

Let’s first take a look at this sensor.


thumb

This soil humidity sensor aims to detect the soil humidity. If the soil is in lack of water, the analog value output by the sensor will decrease, otherwise, it will increase. Together with Arduino, you can make an alarm or an automatic watering device, making your plant more comfortable and your garden smarter. Below are its specifications:

Power Supply Voltage: 3.3V or 5V
Working Current: ≤ 20mA
Output Voltage: 0-2.3V (When the sensor is totally immersed in water, the voltage will be 2.3V), the higher humidity, the higher the output voltage
Sensor type: Analog output
Size: 65.5*20mm
Weight: 5g

Connection Diagram

Now, connect the buzzer module to the D11 port of the controller board, and soil humidity sensor to A1 port using the EASY plug cables.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int analogPin = 1; // connect soil humidity sensor to analog interface 1
int buzzer= 11; // buzzer to digital interface 11
int val ;
void setup()
{
pinMode(buzzer, OUTPUT); // define buzzer as output pin
Serial.begin(9600); // set baud rate at 9600
}
void loop()
{
val = analogRead(analogPin); // read and assign analog value to variable ’val’
Serial.print(val); // print variable ‘val’ by Serial.print
if(val<=300)
{ 
{
digitalWrite(buzzer,HIGH); 
}
Serial.println("  dry soil");
delay(50);
}
if((val>300)&&(val<500))
{ 
{
digitalWrite(buzzer,LOW); 
}
Serial.println("  humid soil");
delay(50);
}
if(val>=500)
{ 
{
digitalWrite(buzzer,HIGH); 
}
Serial.println("  in water");
delay(50);
}
delay(100);
}

Result

Open serial monitor, you can see the value indicating soil humidity; when the value is ≤300, the serial monitor will display “dry soil” and buzzer will ring; when the value is between 300-500, the serial monitor will display “humid soil”; when the value is ≥500, the serial monitor will display “in water” and the buzzer will ring.

Lesson 12: Visible analog value

Introduction

In this lesson, we will make the mysterious analog value become less mysterious. We will be using the analog rotation sensor, a typical output component of analog value. Together with an LED, we can see clearly if the analog value is changing.

Hardware required

EASY plug controller Board *1
EASY plug cable *2
USB cable *1
EASY plug Digital White LED Module *1
EASY plug Analog Rotation Sensor *1

Now, let’s meet this new EASY plug Analog Rotation Sensor.


thumb

This analog Rotation Sensor is Arduino compatible. It is based on a potentiometer. Its voltage can be subdivided into 1024. By rotating it to a certain position, it can output certain voltage value. Below are its specifications:

Supply Voltage: 3.3V to 5V
Interface: Analog
Size: 39*20mm
Weight: 10g

Connection Diagram

Now, connect the LED module to the D11 port of the controller board, and analog rotation sensor to A0 port using the EASY plug cables.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int rotatepin=0;// set rotation sensor to A0
int ledpin=11;// set pin11 LED as PWM output to adjust the LED brightness
int val=0;// define variable val
void setup()
{
pinMode(ledpin,OUTPUT);// set digital pin 11 as output
Serial.begin(9600);// set baud rate to 9600
}
void loop()
{
val=analogRead(rotatepin);// read the analog value of the sensor and assign it to val
Serial.println(val);// display val value
analogWrite(ledpin,val/4);// turn on LED and set to maximum brightness(PWM output is 255)
delay(10);// wait 0.01S
}

Result

By rotating the knob on the module, you can adjust the LED brightness. Now you can see the change of analog value clearly.

Lesson 13: Magnetic field detecting

Introduction

We know that earth is surrounded by magnetic field. We may not feel it, but it’s critical to our survival. In this lesson, we will teach you how to detect magnetic field of magnetic materials, not the magnetic field of earth because it’s too weak to be detected by this sensor.

Hardware required

EASY plug controller Board *1
EASY plug cable *2
USB cable x1
Magnetic-iron *1 (not included)
EASY plug Digital White LED Module *1
EASY plug Hall Magnetic Sensor *1

Well, let’s take a look at this EASY plug Hall Magnetic Sensor first.


thumb

This sensor senses the magnetic materials within a detection range up to 75px. The detection range and the strength of the magnetic field are proportional. The output is digital on/off. Below are its specifications:

Detection range: up to 75px
Output: digital on/off
Size: 42.3*20mm
Weight: 5g

Connection Diagram

Now, connect the LED module to the D11 port of the controller board, and hall magnetic sensor to D9 port using the EASY plug cables.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int ledPin = 11;                // set LED pin to D11
int inputPin = 9;               // set sensor to input pin 9
int val = 0;                    // define variable val
void setup() {
 pinMode(ledPin, OUTPUT);      // declare LED as output
 pinMode(inputPin, INPUT);     // declare magnetic sensor as input
}
void loop(){
 val = digitalRead(inputPin);  // read input value
 if (val == HIGH) {            // check if the input is HIGH
   digitalWrite(ledPin, LOW);  // turn LED OFF
 } else {
   digitalWrite(ledPin, HIGH); // turn LED ON
 }
}

Result

Place the magnetic-iron near the sensor, LED turns on; remove the magnetic-iron, LED turns off.


Lesson 14: Collision detecting

Introduction

In this lesson, we will use a collision sensor and an LED to detect collision. This lesson is also simple, but you can apply what you learn here to many applications. For example, you can install it to a robot to realize collision detection function.

Hardware required

EASY plug controller Board *1
EASY plug cable *2
USB cable *1
EASY plug Digital White LED Module *1
EASY plug Collision Sensor *1

Here is a brief introduction of EASY plug Collision Sensor.


thumb

Collision sensor is also known as electronic switch. By programming, it can realize control over light, sound device, key choice function of LCD display etc. Below are its specifications:

Reserving a M3 mounting hole, convenient for fixation on a robot.
With indicator light
Size: 39 * 20mm
Weight: 7g

Connection Diagram

Now, connect the LED module to the D11 port of the controller board, and collision sensor to D9 port using the EASY plug cables.


thumb

Sample Code

Connect the board to your PC using the USB cable; copy below code into Arduino IDE, and click upload to upload it to your board.

int ledpin=11;// set LED to D11
int inpin=9;// set sensor to D9
int val;// define variable val
void setup()
{
pinMode(ledpin,OUTPUT);// set pin LED as output
pinMode(inpin,INPUT);// set collision sensor as input
}
void loop()
{
val=digitalRead(inpin);// read value on pin 9 and assign it to val
if(val==HIGH)// check if the switch on the module if in closed state; if Yes, turn on LED
{ digitalWrite(ledpin,LOW);}
else
{ digitalWrite(ledpin,HIGH);}
}

Result

You can see on the module, there is a clip, when collision happens, the clip is in closed state, just like a switch, and the LED turns on. Otherwise, LED remains off.