The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by g-86211003, 2022-09-16 23:26:45

ADRUINO MANUAL BOOK

ARDUINO BASIC MANUAL

ARDUINO Basic Workshop

Arduino adalah platform prototaip (sumber terbuka) berdasarkan perkakasan dan
perisian yang mudah digunakan. Ia terdiri daripada papan litar, yang boleh diprogramkan
(dirujuk sebagai mikrokontroler) dan perisian siap sedia bernama Arduino IDE (Integrated
Development Environment), yang digunakan untuk menulis dan memuat naik kod
komputer ke Arduino.

Description

Kursus ini bertujuan untuk pelajar dan pekerja mempelajari cara basic untuk
individu projek tidak kira untuk Final Year Projek di Universiti dan projek di tempat bekerja
seperti sektor swasta atau kerajaan. Dengan Arduino, seseorang boleh mengetahui asas-
asas komponen elektronik dengan cepat dan boleh mula membina prototaip dengan
pelaburan yang sangat sedikit tetapi dengan pelbagai kegunaan.

Kategori Pelajar

✓ Pelajar Sekolah bermula dari umur 15 tahun sehingga 17 tahun.
✓ Universiti Student untuk Final Year Project
✓ Pekerja syarikat swasta dan kerajaan (Technician, Engineer, Maintenance)
✓ Pensyarah Kolej dan Universiti
✓ Penggemar membuat hobby kits

Pelajar akan memahami:

✓ Belajar asas-asas elektronik, termasuk membaca circuit schematic
✓ Belajar cara menggunakan prototype di breadboard
✓ Belajar Arduino language dan IDE
✓ Contoh program asas Arduino
✓ Litar prototaip dan sambungkannya ke Arduino
✓ Program Arduino microcontroller di Arduino Board
✓ Sambungkan Arduino Board ke terminal bersiri (RS232) untuk memahami

komunikasi dan penggunaan secara berasingan

ARDUINO BASIC WORKSHOP 1

CYBOX ELECTRONICS RESOURCES

Isi Kandungan Pembelajaran

No Tajuk Halaman

1.0 Pengenalan Keluarga Arduino Board 3

2.0 Pengenalan Arduino UNO Board 5
7
3.0 Software Arduino : 12
Cara Muat Turun (Download) & Install Aplikasi Arduino IDE 15
18
Software Arduino : 22
26
4.0 Cara Muat Naik (Upload) Coding daripada 30
Arduino IDE ke Arduino Uno Board 34
43
5.0 Projek 1 :
Basic LED Blinking

6.0 Projek 2 :
Digital Input dan Output Interfacing (LED Blinking)

7.0 Projek 3 :
Audio Signal (Buzzer)

8.0 Projek 4 :
Analog Input (ADC with LDR Sensor)

9.0 Projek 5 :
Liquid Crystal Display (LCD)

10.0 Projek 6 :
7-Segment Display

11.0 Projek 7 :
Mengawal Servo Motor

ARDUINO BASIC WORKSHOP 2

CYBOX ELECTRONICS RESOURCES

Pengenalan
Keluarga Arduino Board

ARDUINO BASIC WORKSHOP 3

CYBOX ELECTRONICS RESOURCES

Pengenalan Keluarga Arduino Board

➢ Terdapat pelbagai jenis Arduino yang telah ada di pasaran , antaranya :

Arduino
NANO

Arduino
UNO

Arduino
MEGA

ARDUINO BASIC WORKSHOP 4

CYBOX ELECTRONICS RESOURCES

Pengenalan
Arduino Uno Board

ARDUINO BASIC WORKSHOP 5

CYBOX ELECTRONICS RESOURCES

Pengenalan Arduino Board

➢ 14 pin digital input dan output (Pin 0 sehingga 13)
➢ 6 daripada pin digital input dan output nya boleh dikonfigurasikan kepada mod PWM

(Pulse Width Modulation).
➢ 6 pin analog input (Pin A0 sehingga A5).
➢ Software digunakan adalah Arduino IDE

ARDUINO BASIC WORKSHOP 6

CYBOX ELECTRONICS RESOURCES

Software Arduino:

Cara Muat Turun (Download)
&

Install Aplikasi Arduino IDE

ARDUINO BASIC WORKSHOP 7

CYBOX ELECTRONICS RESOURCES

Cara Muat Turun (Download) & Install Aplikasi Arduino IDE

Langkah 1
➢ Pergi ke laman web Arduino : https://www.arduino.cc/en/main/software
➢ Muat turun (Download) applikasi “Arduino IDE” versi terbaru.

➢ Jika menggunakan platform Windows, klik “Windows – Installer for Windows 7 and up”

➢ Klik, “Just Download”

ARDUINO BASIC WORKSHOP 8

CYBOX ELECTRONICS RESOURCES

Langkah 2
➢ Setelah selesai muat turun aplikasi “Arduino IDE” ke Laptop/PC, klik icon seperti
dibawah:

➢ Klik “I Agree”

➢ Klik “Next”

ARDUINO BASIC WORKSHOP 9

CYBOX ELECTRONICS RESOURCES

➢ Klik “Install”
➢ Tunggu sehingga proses “installation” selesai.

ARDUINO BASIC WORKSHOP 10

CYBOX ELECTRONICS RESOURCES

➢ Klik “Close”

Langkah 3
➢ Klik icon “Arduino IDE” di paparan “Dekstop”
➢ Pastikan paparan aplikasi Arduino IDE seperti gambar dibawah.

ARDUINO BASIC WORKSHOP 11

CYBOX ELECTRONICS RESOURCES

Software Arduino:

Cara Muat Naik (Upload) Coding
Daripada

Arduino IDE ke Arduino Uno Board

ARDUINO BASIC WORKSHOP 12

CYBOX ELECTRONICS RESOURCES

Cara Muat Naik (Upload) Coding Daripada Arduino IDE ke Arduino Uno Board

➢ Pastikan wayar yang digunakan mempunyai fungsi Read/Write (R/W).
➢ Pergi ke “Tool”. Kemudian, pilih “Port (com: )” dan “Board” yang betul sebelum

muat naik.

➢ Perhatian: Jika tidak boleh upload atau “Port” tidak boleh ditekan, menunjukkan
Laptop/PC perlu di install Arduino Driver (CH341SER atau FT232).
Sila download Driver dan Manual di Link Website kami di :

https://bit.ly/3yiorhK

➢ Pilih icon “Compile”. Langkah ini adalah penting untuk memastikan coding tiada
masalah sehingga tertera “Done Compiling”. Jika terdapat “Error”, sila semak
semula coding.

ARDUINO BASIC WORKSHOP 13

CYBOX ELECTRONICS RESOURCES

Pilih icon “Upload” untuk muat naik coding ke Arduino Uno Board.

➢ Siap, program telah berjaya memuat naik ke Arduino Uno Board.

ARDUINO BASIC WORKSHOP 14

CYBOX ELECTRONICS RESOURCES

Latihan Praktikal 1:
Asas “LED Blinking”

Sila lihat Video PERCUMA Tutorial Projek ini di Youtube Channel Kami:
https://bit.ly/2J59DOu

ARDUINO BASIC WORKSHOP 15

CYBOX ELECTRONICS RESOURCES

Objektif:

1) Memahami asas komponen menggunakan breadboard
2) Menulis program asas untuk menyalakan LED

Komponen yang diperlukan: LED Resistor
Arduino Uno (1x) 330Ω
(1x)
(1x)

Breadboard:

ARDUINO BASIC WORKSHOP 16

CYBOX ELECTRONICS RESOURCES

Skematik:

Koding:

int led = 13; // integer variable led is declared
void setup() // the setup() method is executed only once
{
pinMode(led, OUTPUT); // led PIN is declared as digital output
}
void loop() // the loop() method is repeated
{
digitalWrite(led, HIGH); // switching on the led
delay(1000); // delay 1000 milliseconds
digitalWrite(led, LOW); // switching off the led
delay(1000); // delay 1000 milliseconds
}

ARDUINO BASIC WORKSHOP 17

CYBOX ELECTRONICS RESOURCES

Latihan Praktikal 2:

Digital Input dan Output Interfacing
(LED Blinking)

Sila lihat Video PERCUMA Tutorial Projek ini di Youtube Channel Kami:
https://bit.ly/2J59DOu

ARDUINO BASIC WORKSHOP 18

CYBOX ELECTRONICS RESOURCES

Objektif:

1) Memahami asas komponen menggunakan breadboard
2) Menulis program menggunakan Arduino Software untuk LED

Blinking apabila butang ditekan

Komponen yang diperlukan:

Arduino Uno LED Switch Resistor Resistor
(1x) (2x) (1x) 330Ω 10kΩ

(2x) (1x)

Breadboard:

ARDUINO BASIC WORKSHOP 19

CYBOX ELECTRONICS RESOURCES

Skematik:

ARDUINO BASIC WORKSHOP 20

CYBOX ELECTRONICS RESOURCES

Koding:

int LED1 = 13; //LED1 is connected to pin 13
int LED2 = 8; //LED2 is connected to pin 8
int Button = 2; //Button is connected to pin 2
void setup()
{
pinMode(LED1, OUTPUT); //set pin 12 as an output pin
pinMode(LED2, OUTPUT); //set pin 8 as an output pin
pinMode(Button, INPUT); //set pin 2 as an input pin
}
void loop()
{
int buttonState = digitalRead(Button); //read button state & store atvariable
buttonSatate
if(buttonState == HIGH) //if the button is pressed
{
digitalWrite(LED1,HIGH); //on LED1
digitalWrite(LED2,LOW); //off LED2
delay(1000); //delay for 1 second
digitalWrite(LED1,LOW); //off LED1
digitalWrite(LED2,HIGH); //on LED2
delay(1000); //delay for 1 second
}
else //if the button is not pressed
{
digitalWrite(LED1,LOW); //off LED1
digitalWrite(LED2,LOW); //off LED2
}
}

ARDUINO BASIC WORKSHOP 21

CYBOX ELECTRONICS RESOURCES

Latihan Praktikal 3:

Audio Signal
(Buzzer)

ARDUINO BASIC WORKSHOP 22

CYBOX ELECTRONICS RESOURCES

Objektif:

1) Memahami asas komponen menggunakan breadboard
2) Menulis program menggunakan Arduino Software untuk

menghidupkan buzzer/piezo speaker

Komponen yang diperlukan:

Arduino Uno Buzzer/Speaker Resistor
(1x) (1x) 100Ω

(1x)

Breadboard:

-VE +VE

ARDUINO BASIC WORKSHOP 23

CYBOX ELECTRONICS RESOURCES

Skematik:

ARDUINO BASIC WORKSHOP 24

CYBOX ELECTRONICS RESOURCES

Koding:

/* Tone sound */

int buzzer = 9; // buzzer to arduino pin 9
void setup() // the setup() method is executed only once

{
pinMode(buzzer, OUTPUT); // Set buzzer - pin 9 as an output

}

void loop() // the loop() method is repeated
{

tone(buzzer, 1000); // send 1KHz sound signal
delay(1000); // delay for 1 second
noTone(buzzer); // stop sound
delay(1000); // delay for 1 second
}

ARDUINO BASIC WORKSHOP 25

CYBOX ELECTRONICS RESOURCES

Latihan Praktikal 4:

Analog Input
(ADC with LDR Sensor)

Sila lihat Video PERCUMA Tutorial Projek ini di Youtube Channel Kami:
https://bit.ly/2J59DOu

ARDUINO BASIC WORKSHOP 26

CYBOX ELECTRONICS RESOURCES

Objektif:

1) Mempelajari cara menggunakan analog input seperti LDR sensor
2) Mempelajari coding untuk voltage value daripada analog input input

di Arduino serial monitor

Komponen yang diperlukan:

Arduino Board LED LDR Sensor Resistor Potentiome
(1x) (1x) (1x) 330Ω ter 10kΩ

(1x) (1x)

Breadboard:

ARDUINO BASIC WORKSHOP 27

CYBOX ELECTRONICS RESOURCES

Skematik:

ARDUINO BASIC WORKSHOP 28

CYBOX ELECTRONICS RESOURCES

Koding:

int LDR = 5; //LDR pin is connected to pin A5
int LED = 12; //LED is connected to pin 12
float VLDR; //data type for variable VLDR is set to float

void setup()
{

Serial.begin(9600); //set baundrate for serial communication
pinMode(LED, OUTPUT); //set pin 12 as an output pin
analogReference(DEFAULT); //configuration for analog reference
}

void loop() //infinite loop
{

float Val = analogRead(LDR); //read analog value and store at VAL
VLDR = 5 * Val / 1023; //formula convert reading from digital to analog(voltage)
Serial.println("voltage value = ") ; //display Voltage value= at Arduino serial monitor
Serial.println(VLDR, 2); //display value for variable VLDR to 2 decimal point
if (VLDR > 2.20) //if the value VLDR is bigger than 2.20V
{

digitalWrite(LED, HIGH); //LED on
}
else
{

digitalWrite(LED, LOW); //LED off
}
delay(500); //delay the program by 0.5 second
}

ARDUINO BASIC WORKSHOP 29

CYBOX ELECTRONICS RESOURCES

Latihan Praktikal 5:

Liquid Crystal Display
(LCD)

Sila lihat Video PERCUMA Tutorial Projek ini di Youtube Channel Kami:
https://bit.ly/2J59DOu

ARDUINO BASIC WORKSHOP 30

CYBOX ELECTRONICS RESOURCES

Objektif:

1) Mempelajari menyambung LCD di Arduino
2) Mempelajari coding untuk memaparkan perkataan di LCD

Komponen yang diperlukan: LCD Potentiome
Arduino Uno (1x) ter 10kΩ
(1x)
(2x)

Breadboard:

ARDUINO BASIC WORKSHOP 31

CYBOX ELECTRONICS RESOURCES

Skematik:

ARDUINO BASIC WORKSHOP 32

CYBOX ELECTRONICS RESOURCES

Koding:

#include<LiquidCrystal.h> //library file for LCD
LiquidCrystal lcd(2, 3, 4, 5, 6, 7); //connection between LCD and Arduino
int Potpin = 5;
void setup()

{
lcd.begin(16, 2); //initialize LCD
lcd.setCursor(1, 0); //set coordinate to display on LCD at X=1,Y=0
lcd.print("Arduino Course"); //character to be displayed on LCD
analogReference(DEFAULT);

}

void loop()

{
float Val = analogRead(Potpin); //read from potentiometer
float Voltage = 5 * Val / 1023; //formula to get voltage value from digital data
lcd.setCursor(0, 1); //set coordinate to display on LCD at X=0, Y=1
lcd.print("Voltage is"); //character to be displayed on LCD
lcd.setCursor(11, 1); //set coordinate to display on LCD at x=10,y=1
lcd.print(Voltage, 2); //data to be displayed from variable Voltage on LCD
lcd.print("V"); //print unit voltage
delay(300); //delay the program by 300ms

}

ARDUINO BASIC WORKSHOP 33

CYBOX ELECTRONICS RESOURCES

Latihan Praktikal 6:

7-Segment
Display

Sila lihat Video PERCUMA Tutorial Projek ini di Youtube Channel Kami:
https://bit.ly/2J59DOu

ARDUINO BASIC WORKSHOP 34

CYBOX ELECTRONICS RESOURCES

Objektif:
1) Cara mengenali Cathode atau Anode 7-Segment
2) Mempelajari menyambung 7-Segment pada Arduino
3) Mempelajari coding untuk memaparkan huruf di 7-Segment
4) Mempelajari install “Library” menggunakan library manager
Cara mengenali Jenis Cathode atau Anode

Common Cathode

ARDUINO BASIC WORKSHOP 35

CYBOX ELECTRONICS RESOURCES

Common Anode

Arduino Pin Setting

ARDUINO BASIC WORKSHOP 36

CYBOX ELECTRONICS RESOURCES

Breadboard (1) paparan 1 digit (Anode):

Koding (1) Paparan 1 digit:

//Coding A
#include "SevSeg.h"
SevSeg sevseg;
void setup()
{
byte numDigits = 1; // Using 1 Digit Display
byte digitPins[] = {};
byte segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9}; // Using 1 Digit Display
bool resistorsOnSegments = true;
byte hardwareConfig = COMMON_ANODE; //select Anode or Cathode type
sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);
sevseg.setBrightness(90); //sets the brightness of the display
}
void loop()
{
sevseg.setNumber(4); //Display Number you want
sevseg.refreshDisplay(); //continue displaying the number.
}

ARDUINO BASIC WORKSHOP 37

CYBOX ELECTRONICS RESOURCES

Nota Tambahan

sevseg.setNumber();
Fungsi bagi menunjukkan nombor pada paparan 7 segment.

For example, sevseg.setNumber(4);

akan memaparkan paparan nombor 4. Anda juga boleh memaparkan perpuluhan
(sebagai contoh “4.999”) dengan menggunakan sevseg.setNumber(4999, 3);digit “3”
menunjukkan di mana titik perpuluhan. Untuk paparan pada satu 7 segment, anda boleh
menetapkan “0” bagi mengaktifkan titik perpuluhan dan digit “1” bagi mematikan titik
perpuluhan.

hardwareConfig = COMMON_CATHODE;

Menetapkan jenis 7 Segment yang anda guna samada jenis Common Cathode atau
Common Anode.

byte numDigits = 1;

Bagi menentukan digit bagi paparan anda, Jika guna satu Seven Segment, boleh
tetapkan ke 1. Jika guna 4 Seven Segment, boleh setkan ke 4.

byte digitPins[] = {};

Menetapkan array bagi menentukan pin ground bagi paparan 4 atau lebih. Tinggalkan
jika anda hanya menggunakan 1 Seven Segment.

Contohnya, Jika anda menggunakan 4 Seven Segment dan ingin menggunakan pin
Arduino 10, 11, 12, dan 13 sebagai pin Ground, anda akan set: byte digitPins[] = {10,
11, 12, 13}

byte segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9};

Baris ini bagi menetapkan array bagi susunan pin 7 segment.

Susunan tersebut adalah (A, B, C, D, E, F, G, DPdimana DP adalah titik perpuluhan). Jadi
dalam kes ini, pin 6 Arduino bersambung pada pin A 7 segment, pin 5 Arduino akan
bersambung pada pin B 7 segment.

resistorsOnSegments = true;

Tetapkan ke “true” jika anda telah menyambung perintang kawalan arus bagi
mengehadkan jumlah arus yang melalui 7 Segment anda.

sevseg.setBrightness(90);

Baris ini menetapkan kecerahan bagi paparan 7 segment anda. Boleh set dari 0 sehingga
100

ARDUINO BASIC WORKSHOP 38

CYBOX ELECTRONICS RESOURCES

Breadboard (2) Memaparkan digit 0 hingga 9:

Koding (2) Memaparkan digit 0 hingga 9:

//Coding B : Counting Up Timer

#include "SevSeg.h"

SevSeg sevseg;

void setup()

{

byte numDigits = 1;

byte digitPins[] = {};

byte segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9};

bool resistorsOnSegments = true;

byte hardwareConfig = COMMON_ANODE;

sevseg.begin(hardwareConfig, numDigits, digitPins, segmentPins, resistorsOnSegments);

sevseg.setBrightness(90);

}

void loop()

{

for(int i = 0; i < 10; i++)

{

sevseg.setNumber(i, i%2);

delay(1000);

sevseg.refreshDisplay();

}

} 39
ARDUINO BASIC WORKSHOP
CYBOX ELECTRONICS RESOURCES

Cara Install Seven Segment “SevSeg.h” Library

Jika terdapat “Error” semasa verify koding seperti gambar dibawah, sila pastikan install
dahulu Seven Segment Library “SevSeg.h”. Berikut adalah cara untuk install Library
“SevSeg.h”.

Langkah 1:
Klik “Sketch”, Klik “Include Library” dan Klik “Manage Libraries”

ARDUINO BASIC WORKSHOP 40

CYBOX ELECTRONICS RESOURCES

Langkah 2:
Taip “SevSeg.h” diruangan Search.
Tekan butang “Install”. Pastikan Library yang di install adalah betul.

Langkah 3:
Tunggu sehingga Library tersebut di install.

ARDUINO BASIC WORKSHOP 41

CYBOX ELECTRONICS RESOURCES

Langkah 4:
Pastikan Library yang telah berjaya di install memaparkan “INSTALLED”

Langkah 5:
Tekan butang “Verify”. Coding telah berjaya “Done Compiling” tanpa “Error”.

ARDUINO BASIC WORKSHOP 42

CYBOX ELECTRONICS RESOURCES

Latihan Praktikal 7:
Mengawal Servo Motor

Sila lihat Video PERCUMA Tutorial Projek ini di Youtube Channel Kami:
https://bit.ly/2J59DOu

ARDUINO BASIC WORKSHOP 43

CYBOX ELECTRONICS RESOURCES

Objektif:

1) Memahami menggunakan servo motor di Arduino
2) Memahami coding untuk mengawal rotation angle pada servo motor

Komponen yang diperlukan:

Arduino Uno SG90 Micro Switch Resistor
(1x) Servo (1x) 10kΩ

(1x) (2x)

Breadboard:

ARDUINO BASIC WORKSHOP 44

CYBOX ELECTRONICS RESOURCES

Skematik:

ARDUINO BASIC WORKSHOP 45

CYBOX ELECTRONICS RESOURCES

Koding:

#include<Servo.h> //include servo library
Servo myServo; //variable name for servo motor --> myServo
int button_90 = 3; //button that is connected at pin 3 for 90 degree rotation
int button_180 = 2; //button that is connected at pin 2 for 180 degree rotation
void setup()
{

myServo.attach(9); //servo motor is connected at pin 9 (pwm pin)
pinMode(button_90, INPUT); //set the button as input
pinMode(button_180, INPUT); //set the button as input
}
void loop()
{
int value1 = digitalRead(button_90); //read the button condition for 90 degree angle
int value2 = digitalRead(button_180); //read the button condition for 180 degree angle
if (value1 == HIGH) //if the button_90 is pressed
{

myServo.write(90); //rotate the servo by 90 degree angle
}
else if (value2 == HIGH) //if the button_180 is pressed
{

myServo.write(180); //rotate the servo by 180 degree angle
}
else
{

myServo.write(0); //servo motor reset to 0 degree angle
}
delay(15);
}

ARDUINO BASIC WORKSHOP 46

CYBOX ELECTRONICS RESOURCES

Kami juga mempunyai E-Book dan Project Kit yang menarik

Boleh dibeli secara online di Kedai Shopee kami:

Kedai Komponen Elektronik
https://shopee.com.my/cybox.electronics

ARDUINO BASIC WORKSHOP 47

CYBOX ELECTRONICS RESOURCES

Cybox Electronics adalah pusat latihan yang telah berdaftar dibawah
HRDF (Human Resources Development Fund) Training Provider
untuk menjalankan kursus elektronik

Sila layari website kami untuk mendapatkan keterangan lebih lanjut mengenai
senarai kursus dan pendaftaran

https://kekgroups.com

Kedai Elektronik Kulim +604-492 4560
Kedai Komponen Elektronik
[email protected] +6011-3932 9896
Kedai Komponen
Elektronik Kulim

ARDUINO BASIC WORKSHOP 48

CYBOX ELECTRONICS RESOURCES

Peringatan:
Setiap kandungan dalam EBook Asas Arduino dan buku ini adalah hak
milik terpelihara syarikat. Anda dilarang meniru, mencuri, menciplak,

walau sepatah ayat sekalipun.

Dilarang menjual semula, memberi secara percuma kepada orang lain,
mencetak semula tidak kira menggunakan alat elektronik lain sekalipun.

Terima Kasih.

ARDUINO BASIC WORKSHOP 49

CYBOX ELECTRONICS RESOURCES


Click to View FlipBook Version