JOY-IT ARD MEGA2560 KIT User guide

MEGA2560
Microcontroller Learning - Kit
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
ME
1. TABLE OF CONTENT
2. General information
3. Soware installation
4. Resistors
5. Lessons
1. Lesson : Hello World
2. Lesson : Flashing LED
3. Lesson : PWM light control
4. Lesson : Traic light
5. Lesson : LED hunting eect
6. Lesson : Key-controlled LED
7. Lesson : Responder experiment
8. Lesson : Active buzzer
9. Lesson : Passive buzzer
10. Lesson : Reading the analog value
11. Lesson : Photo resistor
12. Lesson : Flame sensor
13. Lesson : Tilt sensor
14. Lesson : 1-digit LED segment display
15. Lesson : 4-digits LED segment display
16. Lesson : LM35 temperature sensor
17. Lesson : 74HC595 shi register
18. Lesson : RGB LED
19. Lesson : Infrared remote control
20. Lesson : 8x8 LED Matrix
6. Other information
7. Support
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
1. GENERAL INFORMATION
Dear customer,
Thank you very much for choosing our product. In the following, we will show you what has to be observed during commissioning and use.
Should you encounter any unexpected problems during use, please feel free to contact us.
Technical data
Our board is a high-quality replica and compatible to the Arduino Mega 2560 but it is explicitly not an original Arduino. The Mega 2560 is the right microcontroller board for those who want to
get into the programming world quickly and easily as possible. This set
guides you through a variety of projects. Its ATMega2560 microcontroller oers you enough power for your ideas and projects. It measures 101.52 x
53.3 mm and has with 54 digital inputs and outputs and 16 analog inputs many possibilities to connect.
Model ard_Mega2560R3
Microcontroller ATMega2560
Input voltage 7 - 12 V
Maximum input voltage 6 - 20 V
Digital IO 54 (14 with PWM)
Analog IO 16
DC current IO 40 mA
DC current 3,3 V 50 mA
Memory 256 kB (8 kB for Bootloader)
SRAM 8 kB
EEPROM 4 kB
Clock Speed 16 MHz
Dimensions 101.52 x 53.3 mm
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Pin assignment
Voltage regulator
USB-B-Port
ICSP for USB
AREF
GND
PWM Interface
TXO
RXO
Communication interface
Digital
I/O Pins
Analog Inputs
Power supply
Reset
IOREF
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
3. SOFTWARE INSTALLATION
In order to start programming the Joy-IT ard_Mega2560R3, a develop-
ment environment and the drivers for the corresponding operating sys­tem must first be installed on the computer.
The Arduino IDE (which you can download here), which is available as an OpenSource soware under the GPLv2 and published by the Arduino manufacturer. It is aimed at beginners from concept and structure. It is fully compatible with the Joy-IT ard_Mega2560R3 and contains the pro­gramming environment as well as the necessary drivers to get started right away.
Aer installing the soware, the corresponding microcontroller board must be set up in the programming environment. To do this, follow the following two steps:
1. Under
Tools → Board
muss
Arduino/Genuino Mega or Mega 2560
must be selected.
2. Under
Tools → Port
then select the port which is marked with
Arduino/Genuino Mega or Mega 2560
.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
4. RESISTORS
In this set there are three dierent resistors 220 Ω, 1 kΩ and 10 kΩ. On re-
sistors there is a colour coding which can be used to calculate or detect the resistance if it cannot be measured with a multimeter. In this chapter you will learn how to calculate this resistance in order to better perform the following lessons, because you need to be able to identify the dierent resistances in order to correctly reproduce the set­ups.
First you have to measure the number of rings on the resistor, because resistors can have four or five rings. In this set, the resistors have 5 rings, which give you a more accurate indication of the resistance value than with 4 rings. Now you have to determine which ring is the first one. This first ring can be identified by the fact that it is further away from the end of the body than the last ring.
You can now calculate the resistance value with a formula. If there are 5
rings, the first 3 rings serve as resistance counters and the fourth as multiplier, which calculates the total resistance value. The fih ring is the tolerance ring, which calculates the deviation of resistance value. With four rings, the third ring is omitted as a resistance counter and then serves as a multiplier. The fourth ring is then the tolerance ring.
The rings have a specific colour code, where each colour has a has a certain value. In the following, you see the colour table for 5 rings:
1. Ring 2.Ring 3. Ring 4. Ring
(Multiplier)
5. Ring
(Tolerance)
Ring colour
Black 0 0 0 - -
Brown 1 1 1 x 10 1 %
Red 2 2 2 x 100 2%
Orange 3 3 3 x 1.000 -
Yellow 4 4 4 x 10.000 -
Green 5 5 5 x 100.000 0,5 %
Blue 6 6 6 x 1.000.000 0,25 %
Purple 7 7 7 x 10.000.000 0,1 %
Grey 8 8 8 - -
White 9 9 9 - -
Gold - - - x 0,1 5 %
Silver - - - x 0,01 10 %
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
If we now look at our resistances, we cann quickly calculate their value. Let's start with the 220 Ω resistance
1. Ring: Red : 2
2. Ring: Red : 2
3. Ring: Black : 0
4. Ring (Multiplier): Black : -
5. Ring (Tolerance): Brown : 1 %
Due to the fact that the multiplier has no value, the resistance can be determined on 220 Ω with a tolerance of 1%, which this resistance can vary.
1. Ring:
Brown: 1
2. Ring: Black : 0
3. Ring: Black : 0
4. Ring (Multiplier): Brown: x 10
5. Ring (Tolerance): Brown: 1 %
The first three rings give the first value of 100, which is calculated by means of the multiplier (x 10) to the resistance value of 1000 Ω. This can also be converted to 1 kΩ. So this has resistor a resistance value of 1 kΩ with a tolerance of 1 %.
1. Ring: Brown: 1
2. Ring: Black : 0
3. Ring: Black : 0
4. Ring (Multiplier): Red : x 100
5. Ring (Tolerance): Brown: 1 %
The first three rings result again in the first value of 100. By means of the multiplier of x 100 the resistance value of 10.000 Ω is obtained, which can be converted into 10 kΩ. Also this resistor has again a tolerance of 1 %.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
5. LESSONS
Lesson 1 : Hello world
We start with something simple. For this project you only need the board and a USB cable to start the lesson. This is a communication test for your Mega2560 and your PC, and a basic project for your first try in the Arduino world!
Once the installation of the drivers is complete, open the Arduino soware and write a code that will allow the Mega2560 to display
Hel-
lo World!
under your instructions. Of course, you can also write a code
that will allow the Mega2560 to display
Hello World!
repeatedly with-
out prompting. A simple
if()
statement will do this. We can instruct the LED on pin 13 to blink first and then display Hello World! aer the Ar­duino gets the command to do so.
int val; // defines the variable Val int ledpin=13; // defines the digital interface 13
void setup() {
Serial.begin(9600); // sets the baudrate to 9600 to fit the software configuration
pinMode(ledpin,OUTPUT); // sets the digital pin 13 to output
}
void loop() {
val=Serial.read(); if(val=='R') { // checks if the character is a R. // if so:
digitalWrite(ledpin,HIGH); // turns on LED delay(500);
digitalWrite(ledpin,LOW); // turns off LED
delay(500);
Serial.println("Hello World!"); // Shows Hello World!”.
}
}
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Click on the serial monitor and add R , then the LED on the board will light up and your PC will receive the information
Hello World!
from the
Arduino.
Lesson 2: Flashing LED
In the Hello World! program we have already encountered the LED. This time we will connect an LED with one of the digital pins. The following parts are needed:
Mega2560 board
1x
USB cable
1x
Red M5 LED
1x
220 Ω resistor
1x
Breadboard
1x
Jumper cable
2x
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
We follow the following wiring diagram. Here we use the digital pin 10. We connect the LED with a 220 Ω resistor to avoid damage due to
excessive current.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
int ledPin = 10; // defines Digital Pin 10.
void setup() {
pinMode(ledPin, OUTPUT); // defines pin to output }
void loop() {
digitalWrite(ledPin, HIGH); // turns on led
delay(1000); // waits a second digitalWrite(ledPin, LOW); // turns off led delay(1000); // waits a second
}
Aer uploading the program you will se the LED which is connected to pin 10 , light up every second.
Lesson 3: PWM light control
PWM (short for Pulse Width Modulation) is a technique used to encode analog signal levels into digital ones. A computer is not capable of out­putting analog voltage. It can only output digital voltage with values like 0 V or 5 V. Therefore a high resolution counter is used to output a specific analog signal level by encoding the utilization level by modulating PWM .
The PWM signal is also digitized, because to each time the power supply
is either 5 V (on) or 0 V (o).
The voltage or current is supplied to the analog load (the device that con­sumes the energy) by repeated pulse sequences, by constantly switching between the on and o states. The value of the output voltage is deter­mined by the on and o states.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
There are many applications for PWM: regulation of lamp brightness, re­gulation of motor speed, etc. .
These are the three basic parameters of PWM:
Mega2560 board
1x
USB cable
1x
Red M5 LED
1x
220 Ω resistor
1x
Breadboard
1x
Jumper cable
6x
1x
Potentiometer
1. The amplitude of the pulse width
(minimum / maximum)
2. The pulse period
(The mutual pulse rate in one second)
3. The voltage level
(like: 0 - 5 V)
There are 6 PWM interfaces on the Mega2560: digital pins 3, 5, 6, 9, 10 and
11.
In previous experiments we have got to know the key-controlled LED, where we used a digital signal to generate a digital pin. Now we will use a potentiometer to control the brightness of the LED. We need for this:
Height
Width
Cycle
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
The input of the potentiometer is analog, so we connect it to the analog port. We connect the LED to the PWM port. A other PWM signal can
regulate the brightness of the LED.
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
In this experiment we will read the analog value of the potentiometer and assign the value to the PWM port, so that a corresponding change in the
brightness of the LED can be observed. We will also display the analog
value on the screen.
int potpin = 0; // Initialises analog Pin 0 int ledpin = 11; // Initialises digital Pin 11 (PWM Output)
int val = 0; // Saves the Sensors Value
void setup() {
pinMode(ledpin,OUTPUT); // defines digital Pin 11 to Output
Serial.begin(9600); // Sets Baudrate to 9600
}
void loop() {
val = analogRead(potpin); // reads the Analog-Value of the sensor and assigns it to Val
Serial.println(val); // shows the value of Val
analogWrite(ledpin,val/4);
// turns on the LED and sets the brightness (Max. Value: 255)
delay(10); // Waits 0,01 Seconds
}
Aer transmission of the program and when moving the potentiometer, we can observe changes in the displayed values. We can also see an obvious change in LED brightness.
Lesson 4: Traic lights
In the previous program we did the flashing LED experiment with only one LED. Now it is time to do a more complicated experiment: Traic lights. Actually these two experiments are very similar. In this experiment we will use 3 LEDs with dierent colors, while in the last one only one LED was used. We need for this:
1x
Mega2560 board
1x
USB cable
1x
Red M5 LED
1x
Yellow M5 LED
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
1x
Green M5 LED
3x
220 Ω resistor
1x
Breadboard
4x
Jumper cable
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Since this is a situation of traic lights, the lighting time of each individual LED should be exactly the same as in a real traic light. In this
program we will use the Arduino delay function to control the delay time.
int redled =10; // Initialises digital Pin 8 int yellowled =7; // Initialises digital Pin 7 int greenled =4; // Initialises digital Pin 4
void setup() {
pinMode(redled, OUTPUT); // Sets Pin with red LED to Output
pinMode(yellowled, OUTPUT);// Sets Pin with yellow to Output pinMode(greenled, OUTPUT);// Sets Pin with green LED to Output
}
void loop() {
digitalWrite(greenled, HIGH); // turns on green leed
delay(5000); // Waits 5 Seconds digitalWrite(greenled, LOW); // turns off green LED for(int i=0;i<3;i++) { // flashes 3x
delay(500); digitalWrite(yellowled, HIGH); // turns on the yellow LED
delay(500);
digitalWrite(yellowled, LOW); // turns on the yellow LED
}
delay(500); digitalWrite(redled, HIGH); // turns on the red LED
delay(5000);
digitalWrite(redled, LOW); // turns on the red LED }
Once the file has been uploaded, the traic lights are visible. The green light will stay on for 5 seconds and then turn o. Then the yellow light will flash 3 times and then the red light for 5 seconds, so that a circuit is for-
med.
Lesson 5: LED hunting eect
We oen see billboards, which are equipped with coloured LEDs. These change constantly to create dierent eects. In this experiment, a pro­gram is created which simulates the LED hunting eect. This is needed:
1x
Mega2560 board
1x
USB cable
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
6x
M5 LED
6x
220 Ω resistor
1x
Breadboard
13x
Jumper cable
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
int BASE = 2 ; // The I/O pin for the first LED int NUM = 6; // Amount 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, LOW); // Sets I/O pins to "low"
// switches on the LEDs one after the other delay(200); // delay }
for (int i = BASE; i < (BASE + NUM); i ++) { digitalWrite(i, HIGH); // Sets I/O pins to "high"
// switches off the LEDs one after the other delay(200); // delay }
}
www.joy-it.net
Pascalstr. 8 47506 Neukirchen-Vluyn
Lesson 6: Key-controlled LED
I/O-Port is an interface, which can be used as input and output. So far,
we've only used it as the output. In this experiment we will try to use the
input to read the output value of the connected device. We will use a key as input and a LED as output to get a better understanding of the I/O functions.Key switches, which many people probably know, have a switching value (digital value). When the switch is pressed, the circuit closes and is in a conducting state. For this we need:
1x
Mega2560 board
1x
USB cable
1x
Red M5 LED
1x
220 Ω resistor
1x
10 kΩ resistor
1x
Key switch
1x
Breadboard
6x
Jumper cable
Loading...
+ 43 hidden pages