You are on page 1of 33

UNIVERSITI TEKNOLOGI MALAYSIA, 81310 UTM JOHOR BAHRU, JOHOR

MALAYSIA.

FAKULTI SAINS SOSIAL DAN KEMANUSIAAN

SHPE2302-03 APLIKASI TEKNOLOGI ELEKTRIK DAN ELEKTRONIK

TUGASAN: AMALI 5 : 7 SEGMENT

DI SEDIAKAN OLEH:

NAMA PELAJAR NO KELAS


MATRIK

AHMAD KHAIRUL AMIN BIN A. GHANI A20HP0011 4SHPRH

MOHAMMAD ROHAIZAD BIN MOHD A20HP0082 4SHPRH


YUSOF

NAMA PENSYARAH :

DR HANIFAH BINTI JAMBRI

TARIKH HANTAR: 21/11/2023

JUMLAH MARKAH
1.0 PENGENALAN

Amali 5 bagi kursus SHPE 2302 Aplikasi Teknologi Elektrik Dan Elektronik merupakan
sambungan dari amali 4 iaitu kami telah didedahkan tentang arduino seven segment. 7 Segment
display ni adalah salah satu komponen elektronik yang boleh menghasilkan data dalam bentuk
nombor bermula daripada nilai 0 sehingga 9. Dalam 7 segment display ni mempunyai diode
pemancar cahaya yang dipanggil segment, ia bercahaya dengan menggunakan current elektrik.
Daripada current tu ia boleh membuatkan sesetengah segment akan menyala “ON” dan
sesetengahnya tidak menyala “OFF”. Dengan fungsi yang ada pada 7 segment display ni kita
boleh paparkan nilai atau huruf yang kita mahukan dengan menulis code yang betul untuk
setiap segment.
2.0 OBJEKTIF

I. Untuk menghasilkan program arduino bagi komponen 7 segment.


II. Untuk menyelesaikan masalah yang berlaku dalam program arduino yang dijalankan.
III. Untuk menghubungkan perisian dan perkakasan menggunakan Arduino UNO pada
paparan 7 segment berserta butang tekan.

3.0 KESELAMATAN BENGKEL

3.1 Keselamatan Kawasan Kerja

1) Pastikan tempat kerja sentiasa kemas dan bersih


2) Alat-alat dan perkakas perlu diletakkan di tempat yang betul
3) Memastikan lantai bengkel sentiasa kering dan tidak berminyak
4) Memastikan terdapat alat pemadam api di bengkel
5) Memastikan bengkel mempunyai pengudaraan dan percahayaan yang mencukupi

3.2. Peraturan Keselamatan Diri

1) Memakai pakaian yang sesuai iaitu baju bengkel


2) Memakai kasut getah untuk mengelak kemalangan
3) Mendapat kebenaran pensyarah sebelum menggunakan mesin dalam bengkel
4) Mengikut arahan pensyarah semasa berada di dalam bengkel

3.3. Keselamatan semasa membuat pemasangan elektrik.

1) Memakai pakaian yang sesuai dan kasut keselamatan.


2) Semua kerja pemasangan seboleh-bolehnya hendaklah dilakukan dalam keadaan litar
terbuka. Cara untuk memutuskan litar ialah dengan menutup (off) suis utama atau
dengan mencabutkan fius (dalam suis utama dan papan fius agihan).
3) Membuat kerja pemasangan atau kerja pemulihan semasa litar hidup adalah tidak
digalakkan, kecuali dalam keadaan kecemasan atau dalam keadaan memerlukan
bekalan yang segera.
4) Setiap pemasangan mestilah mempunyai alat pelindungan litar seperti fius dan
pemutus pemutus litar bagi tujuan mengelakkan mengelakkan berlakunya berlakunya
lebihan lebihan beban (beban lampau), lampau, lebihan arus dan litar pintas.
5) Membuat pendawaian semula sekiranya tempoh ketahanan pemasangan telah tamat.

4.0 ALATAN TANGAN YANG DIGUNAKAN


Berikut merupakan bahan yang digunaakan semasa amali dijalankan:
Bil. Nama Bahan Gambar Bahan Kegunaan
1. Arduino Uno -merancang dan membuat
peranti elektronik serta
perisian yang mudah
digunakan.

2. Light Emitting -pemancar optik untuk


Diode(LED) menghantar maklumat dan
mempunyai cahaya yang
lebih terang dengan
penggunaan daya yang kecil.

3. Jumper Wire -sebagai konduktor elektrik


untuk menyambungkan litar
elektrik

4. Resistor (220Ω) -menyekat aliran arus


-menahan arus dan
mengurangkan jumlah arus.
5. Buzzer -menukarkan getaran
elektrik kepada getaran
bunyi.

6. Suis Tekan Tutup -mengalirkan arus elektrik


apabila ditekan dan berhenti
apabila punat dilepaskan.

7. Breadboard -digunakan untuk


pemasangan komponen

8. USB -sambungkan papan Arduino


Uno ke computer
9 7 seven segment komponen elektronik yang
display boleh menghasilkan data
dalam bentuk nombor
bermula daripada nilai 0
sehingga 9.
5.0 LANGKAH-LANGKAH KERJA
AKTIVITI 1 – PRINTING NUMBERS TO THE DISPLAY
Sambungkan 7 segment display tanpa suis seperti yang digambarkan dalam Rajah 1.
1. Sambungkan pin -pin Arduino ke segment display mengikut rajah yang disediakan.

Rajah 1
2. Kemudian, sambungkan vcc 7 segment ke pin 9 arduino dan satu lagi pin ke GND dengan
menggunakan Jumper Wire .

Rajah 2
3. Pautkan program asas dengan perkakasan ke dalam software Adruino IDE dengan
menggunakan Arduino Uno.

#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(){
sevseg.setNumber(1);
sevseg.refreshDisplay();
}

AKTIVITI 2 : PRINTING NUMBERS TO THE DISPLAY


1. Sambungkan 7 segment display dengan menggunakan Breadboard untuk menghasilkan
output printing numbers seperti dalam Rajah 2.
2. Pautkan program asas dengan perkakasan ke dalam software Adruino IDE dengan
menggunakan Arduino Uno.

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,resistorOnSegment);
sevseg.setBrightness(90)
}
Void loop ();
For (int i=0;i<10; i++){
sevseg.setNumber(i);
delay (1000);
sevseg.refreshDisplay();
sevseg.setBrightness(90);
}
For (int i=10;i>10; i--){
sevseg.setNumber(i);
delay (1000);
sevseg.refreshDisplay();
sevseg.setBrightness(90);
}
}

3. Compile dan upload coding.


4. Perhatikan 7 segment display dan nyatakan keputusan yang telah dihasilkan.
AKTIVITI 3: COUNTER UP AND DOWN WITH SWITCH
1. Ulangi percubaan dengan menambah suis.
2. Sambungkan Suis dengan menggunakan Breadboard untuk menghasilkan output Suis
seperti dalam Rajah 2.

Rajah 2
3. Sambungkan pin 10 Arduino ke kaki switch 1 dan satu lagi pin 11 arduino ke switch 2 .
Sambungkan wayar GND arduino ke kaki switch 1 dan switch 2.

4. Pautkan program asas dengan perkakasan ke dalam software Adruino IDE dengan
menggunakan Arduino Uno.
int a = 6;
int b = 5;
int c = 2;
int d = 3;
int e = 4;
int f = 7;
int g = 8;
int count, pbup, pbdown;
bool pbupstatus, pbdownstatus;

void setup()
{
// put your setup code here, to run once:
pinMode (a, OUTPUT);
pinMode (b, OUTPUT);
pinMode (c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(10, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
Serial.begin(9600);
}

void loop() {
pbup = digitalRead(10);
pbdown = digitalRead(11);
if(pbup == HIGH)
{
if(pbupstatus == true)
{
if(count < 9)
{
count ++; }
pbupstatus = false;
}}
else if(pbup == LOW)
{
pbupstatus = true;
}
if(pbdown == HIGH)
{
If(pbdownstatus == true)

{
if(count > 0)
{
count --;
}
pbdownstatus = false
;
}}
else if(pbdown == LOW)
{
pbdownstatus = true;
}
Serial
.println
(count);
if(count == 0)// nombor 0
{
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, HIGH);
}
if(count == 1)
{
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
if(count == 2)
{
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, HIGH);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
}
if(count == 3)
{
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, LOW);
}
if(count == 4)
{
digitalWrite(a, HIGH);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
if(count == 5)
{
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, HIGH);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
if(count == 6)
{
digitalWrite(a, LOW);
digitalWrite(b, HIGH);
digitalWrite(c, LOW);
digitalWrite(d, LOW);
digitalWrite(e, LOW);
digitalWrite(f, LOW);
digitalWrite(g, LOW);
}
if(count == 7) /
{
digitalWrite(a, LOW);
digitalWrite(b, LOW);
digitalWrite(c, LOW);
digitalWrite(d, HIGH);
digitalWrite(e, HIGH);
digitalWrite(f, HIGH);
digitalWrite(g, HIGH);
}
if(count == 8)

{
digitalWrite (a, LOW);// 8
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
}
if (count == 9) // nombor 9
{
digitalWrite (a, LOW);// 9
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, LOW);
digitalWrite (g, LOW);}}
Compile dan upload coding.
Perhatikan 7 segment display dan nyatakan keputusan yang telah dihasilkan.

AKTIVITI
1. Ulang Kod program untuk memaparkan digit 1 hingga 9
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(){
sevseg.setNumber(1);
sevseg.refreshDisplay();
delay (500);
sevseg.setNumber(2);
sevseg.refreshDisplay();
delay (500);
sevseg.setNumber(3);
sevseg.refreshDisplay();
delay (500);
sevseg.setNumber(4);
sevseg.refreshDisplay();
delay (500);
sevseg.setNumber(5);
sevseg.refreshDisplay();
delay (500);
sevseg.setNumber(6);
sevseg.refreshDisplay();
delay (500);
sevseg.setNumber(7);
sevseg.refreshDisplay();
delay (500);
sevseg.setNumber(8);
sevseg.refreshDisplay();
delay (500);
sevseg.setNumber(9);
sevseg.refreshDisplay();

}
HASIL KERJA

AKTIVITI 1

Coding
#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(100);
}
void loop(){
sevseg.setNumber(1);
sevseg.refreshDisplay();
delay (1000);
sevseg.setNumber(2);
sevseg.refreshDisplay();
delay (1000);
sevseg.setNumber(3);
sevseg.refreshDisplay();
delay (1000);
sevseg.setNumber(4);
sevseg.refreshDisplay();
delay (1000);
sevseg.setNumber(5);
sevseg.refreshDisplay();
delay (1000);
sevseg.setNumber(6);
sevseg.refreshDisplay();
delay (1000);
sevseg.setNumber(7);
sevseg.refreshDisplay();
delay (1000);
sevseg.setNumber(8);
sevseg.refreshDisplay();
delay (1000);
sevseg.setNumber(9);
sevseg.refreshDisplay();
delay (1000);
}

AKTIVITI 2

Coding
#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(100);
}

void loop ()
{
for (int i = 0; i < 10; i++)
{
sevseg . setNumber (i);
delay (1000);
sevseg.refreshDisplay();
}

for (int i = 9; i > 0; i--)


{
sevseg . setNumber (i);
delay (1000);
sevseg.refreshDisplay();
}
}

AKTIVITI 3
Coding
int a = 6 ;
int b = 5 ;
int c = 2 ;
int d = 3 ;
int e = 4 ;
int f = 7 ;
int g = 8 ;
int count, pbup, pbdown;
bool pbupstatus, pbdownstatus;
void setup() { // put your setup code here, to run once:
pinMode (a, OUTPUT ) ;
pinMode (b, OUTPUT ) ;
pinMode (c, OUTPUT ) ;
pinMode (d, OUTPUT ) ;
pinMode (e, OUTPUT ) ;
pinMode (f, OUTPUT );
pinMode (g, OUTPUT ) ;
pinMode (10, INPUT_PULLUP ) ;
pinMode (11, INPUT_PULLUP ) ;
Serial .begin (9600 );
}
void loop()
{
pbup = digitalRead (10 ) ;
pbdown = digitalRead (11 ) ;
if (pbup == HIGH )
{
if (pbupstatus == true )
{
if (count < 9 )
{
count ++;
}
pbupstatus = false ;
}
}
else if (pbup == LOW )
{
pbupstatus = true ;
}
if (pbdown == HIGH )
{
if (pbdownstatus == true )
{
if (count > 0 )
{
count -- ;
}
pbdownstatus = false ;
}
}
else if (pbdown == LOW )
{
pbdownstatus = true ;
}

Serial .println (count ) ;


if (count == 0 )// nombor 0
{
digitalWrite (a, LOW ) ;// 0
digitalWrite (b, LOW ) ;
digitalWrite (c, LOW ) ;
digitalWrite (d, LOW ) ;
digitalWrite (e, LOW ) ;
digitalWrite (f, LOW ) ;
digitalWrite (g, HIGH ) ;
}
if (count == 1 ) // nombor 1
{
digitalWrite (a, HIGH ) ;// 1
digitalWrite (b, LOW ) ;
digitalWrite (c, LOW ) ;
digitalWrite (d, HIGH ) ;
digitalWrite (e, HIGH ) ;
digitalWrite (f, HIGH ) ;
digitalWrite (g, HIGH ) ;
}
if (count == 2 ) // nombor 2
{
digitalWrite (a, LOW ) ;// 2
digitalWrite (b, LOW ) ;
digitalWrite (c, HIGH ) ;
digitalWrite (d, LOW ) ;
digitalWrite (e, LOW ) ;
digitalWrite (f, HIGH ) ;
digitalWrite (g, LOW ) ;
}
if (count == 3 ) // nombor 3
{
digitalWrite (a, LOW ) ;// 3
digitalWrite (b, LOW ) ;
digitalWrite (c, LOW ) ;
digitalWrite (d, LOW ) ;
digitalWrite (e, HIGH ) ;
digitalWrite (f, HIGH ) ;
digitalWrite (g, LOW ) ;
}
if (count == 4 ) // nombor 4
{
digitalWrite (a, HIGH ) ;// 4
digitalWrite (b, LOW ) ;
digitalWrite (c, LOW ) ;
digitalWrite (d, HIGH ) ;
digitalWrite (e, HIGH ) ;
digitalWrite (f, LOW ) ;
digitalWrite (g, LOW ) ;
}
if (count == 5 ) // nombor 5
{
digitalWrite (a, LOW ) ;// 5
digitalWrite (b, HIGH ) ;
digitalWrite (c, LOW ) ;
digitalWrite (d, LOW ) ;
digitalWrite (e, HIGH ) ;
digitalWrite (f, LOW ) ;
digitalWrite (g, LOW ) ;
}
if (count == 6 ) // nombor 6
{
digitalWrite (a, LOW ) ;// 6
digitalWrite (b, HIGH ) ;
digitalWrite (c, LOW ) ;
digitalWrite (d, LOW ) ;
digitalWrite (e, LOW ) ;
digitalWrite (f, LOW ) ;
digitalWrite (g, LOW ) ;
}
if (count == 7 ) // nombor 7
{
digitalWrite (a, LOW ) ;// 7
digitalWrite (b, LOW ) ;
digitalWrite (c, LOW ) ;
digitalWrite (d, HIGH ) ;
digitalWrite (e, HIGH ) ;
digitalWrite (f, HIGH ) ;
digitalWrite (g, HIGH ) ;
}
if (count == 8 ) // nombor 8
{
digitalWrite (a, LOW);// 8
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, LOW);
digitalWrite (e, LOW);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
}
if (count == 9) // nombor 9
{
digitalWrite (a, LOW);// 9
digitalWrite (b, LOW);
digitalWrite (c, LOW);
digitalWrite (d, HIGH);
digitalWrite (e, HIGH);
digitalWrite (f, LOW);
digitalWrite (g, LOW);
}
}
7.0 PERBINCANGAN

(ROHAIZAD)

Bagi amali 5 bagi kursus SHPE 2302 ini, kami didedahkan kepada Arduino 7 segment .
Setiap komponen pada Arduino Development Board perlulah dititikberatkan fungsinya. Bukan
itu saja, Input Area, Void Setup dan Void Loop sangatlah penting semasa membuat coding
Arduino yang melibatkan 7 segment. Berdasarkan aktiviti 1, kita dapat lihat dimana pin mode
( 6, 5, 2, 3, 4, 7, 8, 9) disambung pada 7 segment ( A,B,C,D,E,F,G,DP) sebagai output dibawah
void setup dan digital write (High) dibawah void loop. Setelah compile dan upload coding
tersebut, Digit 1 terpapar pada 7 segment display. Selain itu, bagi aktiviti 2 pula terdapat sedikit
perbezaan pada coding dimana dibawah void loop. Kod yang diprogramkan ialah (int i=0;
i<10;i++). Arduino akan membaca integer I =0 dimana nilai I akan terus bertambah 1 sebelum
mencapai nilai I =10. Upload Coding dan digit 1 hingga 9 terhasil pada 7 segment display
mengikut turutan. . Akhir sekali pada aktiviti 3, 2 suis tekan ditambah, apabila suis 1 tekan
ditekan nilai digit pada 7 segment display akan bertambah . Sekiranya suis 2 ditekan nilai digit
pada 7 segment display akan berkurang.
Ketika melakukan amali tersebut, saya mendapati dan mengalami beberapa masalah
Ketika ingin memasukkan coding yang saya lakukan ke dalam Arduino yang disediakan.
Terdapat kesalahan (error) dan port yang disambungkan menunjukkan sambungan tidak dapat
didedeteksi. Namun, ia dapat diselesaikan dengan bantuan pensyarah dengan pembantu
makmal. Dari melakukan amali tersebut juga saya mendapati, setiap perinci di dalam arahan
atau coding tersebut amatlah penting diperhatikan Ketika mencipta sesebuah program yang
kita inginkan.

(KHAIRUL AMIN)

Tugasan amali 5 bagi kursus SHPE 2302 Aplikasi Teknologi Elektrik Dan Elektronik,
saya mempelajari cara melakukan program arduino menggunakan 7 segment. Secara
ringkasnya, paparan 7 segment adalah satu komponen elektronik yang boleh menghasilkan data
dalam bentuk nombor bermula daripada 0 sehingga 9. Dalam paparan 7 segment ini
mempunyai diode pemancar cahaya yang dipanggil sebagai segment dimana ia akan bercahaya
apabila ada arus elektrik. Kebiasaannya, paparan 7 segment ini sering kali digunapakai pada
jam digital ataupun pada paparan calculator. Untuk tugasan amali 5 ini, saya perlu
menghasilkan pengaturcaraan 7 segment dengan mengabungkan perisian dan perkakasan
arduino untuk paparkan nombor pada 7 segment mengikut arahan yang diberikan. Sebelum
menghasilknan pengaturcaraan 7 segment, kenali dahulu bahagian- bahagian pada perkakasan
7 segment ini. 7 segment mempunyai 8 pin dimana 7 pin untuk menghidupkan diode pemancar
cahaya dan 1 pin untuk disambungkan pada 5V ataupun GND. 7 segment ini terbahagi kepada
2 jenis iaitu anod dan katod. Untuk menentukan samada 7 segment tersebut jenis anod atau
katod adalah dengan menyambungkan pin paling tengah pada 5V ataupun GND. Sekiranya 7
segment menyala apabila disambungkan pada 5V maka 7 segment tersebut adalah jenis anod
dan sebaliknya untuk 7 segment jenis katod. Seterusnya, pada perisian arduino perlu ditetapkan
mengikut program 7 segment supaya tiada kesalahan yang dikesan semasa menulis
pengaturcaraan seperti gambarajah di bawah:

Terdapat beberapa arahan yang digunakan dalam tugasan amali 5 ini antaranya ialah
“byte numDigits = 1;”. Arahan ini digunakan untuk menetapkan bilangan digit pada paparan 7
segment. Selain itu, “. byte digitPins[] = {}” digunakan untuk menghasilkan tatasusunan yang
menentukan pin GND apabila menggunakan 4 digit atau paparan berbilang digit. Arahan ini
dibiarkan kosong kerana menggunakan paparan 1 digit sahaja. Disamping itu, untuk tetapkan
8 pin yang disambungkan pada perkakasan arduino perlu menggunakan arahan “byte
segmentPins[] = {6, 5, 2, 3, 4, 7, 8, 9}”. Angka yang digunakan tidak boleh berubah dan ditukar
kepada angka lain kerana akan menjadi kesalahan ketika menulis coding.
Seterusnya, arahan “resistorsOnSegments = true” perlu ditetapkan “true” sekiranya perintang
had semasa berada secara siri dengan pin segment. Jika perintang dalam keadaan siri dengan
digit pin, maka tetapkan sebagai “false”. Selanjutnya adalah “sevseg.setBrightness(90)”
merupakan arahan untuk mengawal kecerahan pada paparan 7 segment. Kecerahan pada
paparan 7 segment tersebut boleh diubah daripada 0 sehingga 100. Arahan
“sevseg.setNumber()” merupakan arahan untuk mencetak nombor pada paparan. Sebagai
contoh, “sevseg.setNumber(4)” maka nombor yang akan terpapar pada 7 segment adalah 4.
Berikutnya adalah arahan “sevseg.refreshDisplay()” diperlukan pada akhir penulisan coding
untuk meneruskan paparan nombor. Akhir sekali adalah, arahan “hardwareConfig =
COMMON_ANODE” dan “hardwareConfig = COMMON_CATHODE”. Arahan ini
digunakan untuk tetapkan samada menggunakan 7 segment jenis anod ataupun katod

Dalam menyiapkan tugasan amali 5 ini, 3 aktiviti yang perlu diselesaikan. Aktiviti
pertama perlu memaparkan 1 digit nombor bermula dengan angka 0 sehingga 9. Manakala
untuk aktiviti kedua pula perlu cetak nombor pada paparan 7 segment dengan kiraan menaik
dan menurun. Arahan yang digunakan adalah sama seperti aktivit 1 dan hanya perlu menambah
arahan “for (int i = 0; i < 10; i++)” dan “for (int i = 9; i > 0; i--)” pada bahagian Void loop
untuk pastikan nombor tersebut dikira dalam kedaan menaik dan menurun. Pada aktiviti kedua
ini, saya menghadapi masalah kerana nombor tersebut tidak dapat dipaparkan dalam kiraan
menurun kerana salah dalam penulisan pengaturcaraan. Akhir sekali, untuk aktiviti ketiga pula
perlu menggunakan 2 push button untuk paparan nombor secara menaik dan menurun. Apabila
push button 1 ditekan, maka paparan nombor pada 7 segment dalam keadaan menaik. Manakala
apabila menekan push button 2, paparan nombor pada 7 segment adalah dalam keadaan
menurun. Kesalahan yang dilakukan dalam aktiviti ketiga ini adalah dari penyambungan litar
arduino dengan push button. Hal ini kerana pin VCC dan GND disambungkan secara sesiri
menyebabkan push button tidak dapat berfugsi.
8.0 KESIMPULAN

Berdasarkan tugasan amali 5 bagi kursus SHPE 2302 Aplikasi Teknologi Elektrik Dan
Elektronik dapat disimpulkan bahawa kesemua perkara telah diperlajari mencapai objektif
yang ditetapkan sebagai contoh dapat menghasilkan program arduino menggunakan paparan 7
segment. Terdapat 3 tugasan yang perlu diselesaikan menggunakan paparan 7 segment ini,
antaranya ialah paparkan nombor 0 sehingga 9 pada paparan 7 segment secara menaik
menggunakan pengaturcaraan yang telah diberikan. Seterusnya, paparkan nombor 0 sehingga
9 secara menaik dan kemudian secara menurun bermula dengan angka 9 sehingga 0 pada
paparan 7 segment. Akhir sekali, paparkan nombor 0 hingga 9 secara menaik dan menurun
menggunakan 2 butang tekan. Di samping itu, dalam amali 5 ini juga dapat memberi
pendedahan kepada saya untuk menyelesaikan masalah kesalahan pengaturcaraan yang berlaku
dalam program arduino menggunakan 7 segment. Hal ini secara tidak langsung dapat
meningkatkan kefahaman saya dalam menghasilkan pengaturcaraan arduino pada alatan yang
lain. Akhir sekali, saya dapat menghubungkaitkan penggunaan perisian dan perkakasan
menggunakan Arduino UNO pada paparan 7 segment dan butang tekan. Oleh hal yang
demikian, pengetahuan ini dapat saya aplikasikan dalam menghasilkan projek inovasi apabila
menggunakan perisian dan perkakan arduino.
SHPE 2302-APLIKASI ELEKTRIK DAN ELEKTRONIK TEKNOLOGI
MARKAH LAPORAN SHPE2302

KRITERIA PENILAIAN SKOR MARKAH

KANDUNGAN LAPORAN
1. Pengenalan (KW)
• Pengenalan kepada amali serta ujikaji yang dilaksanakan 1 2 3 4 5
2. Objektif (KW)
• Menyenaraikan objektif yang ingin dicapai selepas amali dilaksanakan 1 2 3 4 5

3. Keselamatan Bengkel / Langkah keselamatan KW)


• Menerangkan prosedur keselamatn bengkel dan langkah-langkah keselamatan 2 4 6 8 10
PENILAIAN LAPORAN SPPE/SHPE2302

yang perlu dilaksanakan. berkaitan dengan amali yang dilaksanakan


4. Alatan tangan dan kegunaannya (PS)
• Menerangkan dan menggunakan alatan tangan yang betul dan sesuai beserta 2 4 6 8 10
gambar serta maklumat yang berkaitan
5. Langkah-langkah kerja (PS)
• Menerangkan dan mengaplikasikan Prosedur/Kaedah perlaksanaan amali dengan 2 4 6 8 10
betul dan jelas .
6. Hasil kerja (PS)
Pelajar dapat menyatakan dapatan ujikaji/amali dimana:
• Dapatan amali keseluruhan perlulah bersertakan maklumat seperti
litar amali, komponen, dan lain-lain yang bersesuaian dengan
ujikaji 8 16 24 32 40
• Dapatan amali keseluruhan adalah lengkap dan dapat
menyelesaikan persoalan yang dinyatakan dalam helian kerja.
• Dapatan amali adalah lengkap di dalam jadual dan pengiraan atau
graf atau gambarajah,
7. Perbincangan (KW)
Membuat perbicngan terhadap amali yang dilaksanakan dengan 2 4 6 8 10
menghubungkaitkan antara teori dan praktikal (KW)
8. Kesimpulan (KW)
• Membuat rangkuman amali yang diperolehi (KW) 1 2 3 4 5

9. Lampiran/Rujukan
• Menyenaraikan serta menyertakan rujukan yang berkaitan dan 1 2 3 4 5
bersesuaian dengan amali yang dilaksanakan

JUMLAH MARKAH
100
Pengetahuan 40
Praktikal Skill 60
KOMEN/CATATAN :

NAMA DAN TANDATANGAN PENSYARAH : TARIKH :


10.0 RUJUKAN

Ben. (2019). What is an Arduino? - learn.sparkfun.com. Sparkfun.com.


https://learn.sparkfun.com/tutorials/what-is-an-arduino/all

opensource. (2019). What is an Arduino? Opensource.com.


https://opensource.com/resources/what-arduino

Brennan, E. (2020, November 23). What Is a Microcontroller? — Programming an


Arduino Board. TurboFuture. https://turbofuture.com/computers/What-is-an-Arduino-
Programming-Microcontrollers

NOTA PENSYARAH

You might also like