lampiran -...

17
40 Lampiran Lampiran 1. Cara Penggunaan Alat 1. Kontrol utama terdiri dari penampil, saklar, dan komponen elektronika lain yang mengolah data dari sensor maupun mengirimkan data ke aktuator. 2. Bahan-bahan yang digunakan untuk membuat makaroni dimasukkan ke ruang mesin mikser sesuai kapasitas mesin. Terdiri dari 6 karung terigu (@25kg), 1 karung tapioka (@10kg), dan bumbu yang sudah dilarutkan dalam 2 ember air. (Gambar 1.7) 3. Saklar utama diposisikan pada keadaan on. Tombol emergency pada posisi bebas atau non-aktif. Posisi ini akan membuat setiap komponen pada kontrol utama terdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on untuk mengaduk semua bahan sebagai permulaan selama kurang lebih 30 detik. 4. Nilai referensi default sudah terprogram pada kendali utama. Apabila ada perubahan nilai yang dipakai sebagai batas kerja mesin, maka nilai tersebut dimasukkan pada tahapan awal menggunakan keypad pada kontrol utama. Keypad berfungsi sebagai pemilih nilai yang akan diubah dan sebagai pengatur besaran nilai batas yang akan dimasukkan. Kelompok nilai yang dimasukkan terakhir kali akan tersimpan dalam pengendali mikro. Ketika mesin dinyalakan kembali setelah dimatikan, tidak diperlukan untuk memasukkan parameter yang sama bila tidak ada perubahan dari kondisi terakhir sebelum mesin dimatikan. Gambar 1. Kendali Otomatis pada Kondisi Standby

Upload: nguyenque

Post on 19-Jun-2019

227 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

40

Lampiran

Lampiran 1. Cara Penggunaan Alat

1. Kontrol utama terdiri dari penampil, saklar, dan komponen elektronika lain yang

mengolah data dari sensor maupun mengirimkan data ke aktuator.

2. Bahan-bahan yang digunakan untuk membuat makaroni dimasukkan ke ruang

mesin mikser sesuai kapasitas mesin. Terdiri dari 6 karung terigu (@25kg), 1

karung tapioka (@10kg), dan bumbu yang sudah dilarutkan dalam 2 ember air.

(Gambar 1.7)

3. Saklar utama diposisikan pada keadaan on. Tombol emergency pada posisi bebas

atau non-aktif. Posisi ini akan membuat setiap komponen pada kontrol utama

terdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on

untuk mengaduk semua bahan sebagai permulaan selama kurang lebih 30 detik.

4. Nilai referensi default sudah terprogram pada kendali utama. Apabila ada

perubahan nilai yang dipakai sebagai batas kerja mesin, maka nilai tersebut

dimasukkan pada tahapan awal menggunakan keypad pada kontrol utama.

Keypad berfungsi sebagai pemilih nilai yang akan diubah dan sebagai pengatur

besaran nilai batas yang akan dimasukkan. Kelompok nilai yang dimasukkan

terakhir kali akan tersimpan dalam pengendali mikro. Ketika mesin dinyalakan

kembali setelah dimatikan, tidak diperlukan untuk memasukkan parameter yang

sama bila tidak ada perubahan dari kondisi terakhir sebelum mesin dimatikan.

Gambar 1. Kendali Otomatis pada Kondisi Standby

Page 2: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

41

5. Tombol mulai ditekan setelah pengaturan nilai-nilai yang diperlukan telah

dipenuhi. Tombol mulai akan membuat motor listrik yang terhubung ke

pengaduk aktif, katup solenoid terbuka, dan pewaktu akan mulai menghitung

naik.

6. Selama mesin bekerja, pengendali mikro akan melakukan pembacaan dari setiap

sensor dan menjalankan pewaktu sampai dengan batas yang sudah dimasukkan

saat pemasukan parameter. Keypad 4x4 pada bagian numerik tidak dapat

berfungsi selama mesin bekerja, namun tombol A, B, C, dan D dapat digunakan

untuk melihat nilai aktual suhu, arus, dan waktu.

Gambar 2. Kendali Otomatis pada Kondisi Mesin Beroperasi

7. Faktor penentu sebagai tanda proses pencampuran bahan telah selesai adalah

besar arus yang mengalir ke motor listrik sudah mencapai batas yang terekam

pada sistem. Selama arus pada motor listrik belum terpenuhi, suhu ruangan

mikser akan terjaga di antara batas bawah dan batas atas suhu yang diatur saat

parameterisasi. Ketika arus listrik yang mengalir ke motor listrik mencapai nilai

80% dari batas arus, maka alarm akan aktif sebagai tanda bagi operator untuk

berada di dekat mesin dan mengecek mesin. Alarm juga akan aktif ketika nilai

pewaktu sudah tercapai walau nilai arus listrik belum mencapai 80% dari batas

arus.

8. Setelah arus listrik tercapai, proses selesai, mesin berhenti bekerja, ditandai

dengan motor listrik berhenti, katup solenoid tertutup, dan alarm aktif. Sistem

akan tetap mengaktifkan alarm walaupun pewaktu belum mencapai batas yang

Page 3: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

42

diatur pada saat parameterisasi. Pada tahap ini, alarm sebagai tanda untuk

operator mesin untuk memindahkan hasil olahan mesin mikser ke tahap proses

produksi selanjutnya.

Gambar 3. Kendali Otomatis pada Kondisi Mesin Selesai Beroperasi

Gambar 4. Hasil Pemrosesan Mesin Mikser

Page 4: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

43

Lampiran 2. Program pada Arduino Mega 2560

#include <Keypad.h> #include <EEPROM.h> #include <EmonLib.h> #include "EEPROMAnything.h" EnergyMonitor emon1; byte decto7seg[10] = { 0b01000000, 0b01111001, 0b00100100, 0b00110000, 0b00011001, 0b00010010, 0b00000010, 0b01111000, 0b00000000, 0b00010000 }; int startBut = 50; int stopBut = 51; int setPin = 44; int motorPin = 45; int solPin = 46; int alarmPin = 48; int finishPin = 49; int emergBut = 2; byte state = LOW; byte mati = HIGH; byte nyala = LOW; int value, ratusan, puluhan, satuan, change = 0; int ratusan1,puluhan1,satuan1, tunda = 0; int spSB, spSA, spA = 0; float valSuhu = 0.0; float standbyVal, alarmA = 0.0; const int numReadings = 10; int readings[numReadings]; // the readings from the analog input int readIndex = 0; // the index of the current reading int total = 0; // the running total int average = 0; // the average

Page 5: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

44

int inputPin = A0; double bacaArus = 0; long spP, beat, nextTimer = 0; int jeda = 10; int setup1, setup2 = 0; int addr_spSB = 14; int addr_spSA = 16; int addr_spA = 18; int addr_spP = 20; bool suhuBawah, suhuAtas, arus, pewaktu, on, atP, atS, atA = false; const byte ROWS = 4; //four rows const byte COLS = 4; //three columns char keys[ROWS][COLS] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'}}; byte rowPins[ROWS] = {14, 15, 16, 17}; //connect to the row pinouts of the keypad byte colPins[COLS] = {18, 19, 20, 21}; //connect to the column pinouts of the keypad Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); void setup(){ Serial.begin(9600); //Setting Output pinMode(startBut, INPUT); pinMode(stopBut, INPUT); pinMode(emergBut, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(emergBut), emerCon, LOW); for(int a=14; a<22; a++) { pinMode(a, INPUT); } for(int a=22; a<50; a++) { pinMode(a, OUTPUT); } for(int a=22; a<50; a++) { digitalWrite(a, LOW); } EEPROM_readAnything(addr_spSB, spSB); EEPROM_readAnything(addr_spSA, spSA); EEPROM_readAnything(addr_spA, spA);

Page 6: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

45

EEPROM_readAnything(addr_spP, spP); digitalWrite(alarmPin, mati); digitalWrite(finishPin, mati); digitalWrite(motorPin, mati); digitalWrite(solPin, mati); for (int thisReading = 0; thisReading < numReadings; thisReading++) { readings[thisReading] = 0; } standbyVal = 0.8; emon1.current(1,60); } void emerCon(){ digitalWrite(motorPin, mati); digitalWrite(solPin, mati); digitalWrite(alarmPin, mati); digitalWrite(finishPin, mati); digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); PORTC = 255; digitalWrite(41, HIGH); digitalWrite(42, HIGH); digitalWrite(43, HIGH); delay(100); digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); digitalWrite(38, LOW); digitalWrite(39, LOW); digitalWrite(40, LOW); PORTA = 255; digitalWrite(38, HIGH); digitalWrite(39, HIGH); digitalWrite(40, HIGH); delay(100); digitalWrite(38, LOW); digitalWrite(39, LOW); digitalWrite(40, LOW); blinkDisp(); //Serial.println("Emerg");

Page 7: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

46

on = false; setup1 = 0; } void blinkDisp(){ state = !state; for(int i = 0; i<10000; i++) { digitalWrite(setPin, state); } } void loop(){ while(!on && (digitalRead(alarmPin) == nyala||digitalRead(finishPin) == nyala)) { if(digitalRead(stopBut) == HIGH && (digitalRead(alarmPin) == nyala||digitalRead(finishPin) == nyala)) { digitalWrite(alarmPin, mati); digitalWrite(finishPin, mati); } } while(!on && (digitalRead(alarmPin == mati||digitalRead(finishPin)== mati))) //parameterisasi { char key = keypad.getKey(); if(setup1++ == 0) { PORTC = 255; digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); digitalWrite(41, HIGH); digitalWrite(42, HIGH); digitalWrite(43, HIGH); digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); digitalWrite(setPin, HIGH); digitalWrite(motorPin, mati); digitalWrite(solPin, mati); ratusan = spSB/100; puluhan = (spSB-(ratusan*100))/10; satuan = spSB-(ratusan*100)-(puluhan*10); show1(); } setup1 = 2;

Page 8: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

47

if(digitalRead(startBut) == HIGH && digitalRead(stopBut) == LOW) { on = true; setup2 = 0; alarmA = spA/1.0; //Serial.println(on); } if(key == 'A') { suhuBawah = true; change = 0; ratusan = spSB/100; puluhan = (spSB-(ratusan*100))/10; satuan = spSB-(ratusan*100)-(puluhan*10); show1(); while(suhuBawah) { inputTombol(); show1(); } } if(key == 'B') { suhuAtas = true; change = 0; ratusan = spSA/100; puluhan = (spSA-(ratusan*100))/10; satuan = spSA-(ratusan*100)-(puluhan*10); show1(); while(suhuAtas) { inputTombol(); show1(); } } if(key == 'C') { arus = true; change = 0; ratusan = spA/100; puluhan = (spA-(ratusan*100))/10; satuan = spA-(ratusan*100)-(puluhan*10); show1(); while(arus) { inputTombol(); show1(); } }

Page 9: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

48

if(key == 'D') { pewaktu = true; change = 0; ratusan = spP/100; puluhan = (spP-(ratusan*100))/10; satuan = spP-(ratusan*100)-(puluhan*10); show1(); while(pewaktu) { inputTombol(); show1(); } } show1(); } while(on) //sistem aktif { char key = keypad.getKey(); if(setup2++ == 0) { beat = spP; digitalWrite(setPin, LOW); atS = true; ratusan = spSB/100; puluhan = (spSB-(ratusan*100))/10; satuan = spSB-(ratusan*100)-(puluhan*10); ratusan1 = valSuhu/100; puluhan1 = (valSuhu-(ratusan1*100))/10; satuan1 = valSuhu-(ratusan1*100)-(puluhan1*10); digitalWrite(motorPin, nyala); digitalWrite(solPin, nyala); nextTimer = millis() + 60000; show2(); show1(); } setup2 = 2; //show2(); if(digitalRead(stopBut) == HIGH && digitalRead(startBut) == LOW) { PORTC = 255; digitalWrite(41, LOW); digitalWrite(42, LOW);

Page 10: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

49

digitalWrite(43, LOW); digitalWrite(41, HIGH); digitalWrite(42, HIGH); digitalWrite(43, HIGH); digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); digitalWrite(motorPin, mati); digitalWrite(solPin, mati); digitalWrite(alarmPin, mati); digitalWrite(finishPin, mati); on = false; setup1 = 0; //Serial.println(on); } if(key == 'A') { atP = atA = false; atS = true; ratusan = spSB/100; puluhan = (spSB-(ratusan*100))/10; satuan = spSB-(ratusan*100)-(puluhan*10); show1(); ratusan1 = valSuhu/100; puluhan1 = (valSuhu-(ratusan1*100))/10; satuan1 = valSuhu-(ratusan1*100)-(puluhan1*10); show2(); } if(key == 'B') { atP = atA = false; atS = true; ratusan = spSA/100; puluhan = (spSA-(ratusan*100))/10; satuan = spSA-(ratusan*100)-(puluhan*10); show1(); ratusan1 = valSuhu/100; puluhan1 = (valSuhu-(ratusan1*100))/10; satuan1 = valSuhu-(ratusan1*100)-(puluhan1*10); show2(); } if(key == 'C') { atP = atS = false; atA = true; ratusan = spA/100; puluhan = (spA-(ratusan*100))/10;

Page 11: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

50

satuan = spA-(ratusan*100)-(puluhan*10); show1(); ratusan1 = bacaArus/100; puluhan1 = (bacaArus-(ratusan1*100))/10; satuan1 = bacaArus-(ratusan1*100)-(puluhan1*10); show2(); } if(key == 'D') { atS = atA = false; atP = true; ratusan = spP/100; puluhan = (spP-(ratusan*100))/10; satuan = spP-(ratusan*100)-(puluhan*10); show1(); ratusan1 = beat/100; puluhan1 = (beat-(ratusan1*100))/10; satuan1 = beat-(ratusan1*100)-(puluhan1*10); show2(); } if(millis() >= nextTimer) { nextTimer = nextTimer + 60000; if(beat > 0) { beat--; } if(beat == 0) { digitalWrite(alarmPin, nyala); } if(atP) { ratusan1 = beat/100; puluhan1 = (beat-(ratusan1*100))/10; satuan1 = beat-(ratusan1*100)-(puluhan1*10); show2(); } } //show1(); //show2(); //Delay Pembacaan Sensor if(tunda == 50) { // subtract the last reading: total = total - readings[readIndex]; // read from the sensor: readings[readIndex] = analogRead(inputPin); // add the reading to the total:

Page 12: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

51

total = total + readings[readIndex]; // advance to the next position in the array: readIndex = readIndex + 1; // if we're at the end of the array... if (readIndex >= numReadings) { // ...wrap around to the beginning: readIndex = 0; } // calculate the average: average = total / numReadings; //Pembacaan sensor valSuhu = average; //valArus = analogRead(1); bacaArus = emon1.calcIrms(1480); bacaArus = bacaArus + 3.4; Serial.println(bacaArus); valSuhu = map(valSuhu, 0, 717, 0, 150); //valArus = map(valArus, 15, 1012, 0, 200); Serial.println(valSuhu); //Konversi Pembacaan sensor untuk output 7Segment if(atS) { ratusan1 = valSuhu/100; puluhan1 = (valSuhu-(ratusan1*100))/10; satuan1 = valSuhu-(ratusan1*100)-(puluhan1*10); } if(atA) { ratusan1 = bacaArus/100; puluhan1 = (bacaArus-(ratusan1*100))/10; satuan1 = bacaArus-(ratusan1*100)-(puluhan1*10); } show2(); if(bacaArus < spA) { digitalWrite(motorPin, nyala); if(valSuhu <= spSB) { digitalWrite(solPin, nyala); } if(valSuhu >= spSA) { digitalWrite(solPin, mati); } if(bacaArus >= (alarmA * standbyVal)) { digitalWrite(alarmPin, nyala);

Page 13: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

52

} } if(bacaArus >= spA) { digitalWrite(motorPin, mati); digitalWrite(solPin, mati); digitalWrite(alarmPin, mati); digitalWrite(finishPin, nyala); digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); PORTC = 255; digitalWrite(41, HIGH); digitalWrite(42, HIGH); digitalWrite(43, HIGH); delay(100); on = false; setup1 = 0; } tunda = 0; } tunda++; show1(); show2(); } } void inputTombol() { char key = keypad.getKey(); if (key != NO_KEY) { if(key == 'A' || key == 'B' || key == 'C' || key == 'D') { change--; } if(key == '*') { satuan = 0; puluhan = 0; ratusan = 0; change = -1; } show1(); //Konversi Char from keypad to Int Value if(key == '0'){value=0;} if(key == '1'){value=1;} if(key == '2'){value=2;}

Page 14: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

53

if(key == '3'){value=3;} if(key == '4'){value=4;} if(key == '5'){value=5;} if(key == '6'){value=6;} if(key == '7'){value=7;} if(key == '8'){value=8;} if(key == '9'){value=9;} if(change == 0 && key != '#'){ satuan=value; puluhan = 0; ratusan = 0; show1(); } if(change == 1 && key != '#'){ puluhan=satuan; satuan=value; } if(change == 2 && key != '#'){ ratusan=puluhan; puluhan=satuan; satuan=value; } if(key == '#') { digitalWrite(38, LOW); digitalWrite(39, LOW); digitalWrite(40, LOW); PORTA = 255; digitalWrite(38, HIGH); digitalWrite(39, HIGH); digitalWrite(40, HIGH); delay(100); show1(); if(suhuBawah) { if(change == 0) //tidak diubah dari nilai awal { satuan = (spSB%100)%10; suhuBawah = false; } else //kurang dari sama dengan 3 digit { spSB = (ratusan*100) + (puluhan*10) + satuan; EEPROM_writeAnything(addr_spSB, spSB); suhuBawah = false; } } if(suhuAtas)

Page 15: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

54

{ if(change == 0) //tidak diubah dari bilai awal { satuan = (spSA%100)%10; suhuAtas = false; } else //kurang dari sama dengan 3 digit { spSA = (ratusan*100) + (puluhan*10) + satuan; EEPROM_writeAnything(addr_spSA, spSA); suhuAtas = false; } }if(arus) { if(change == 0) //tidak diubah dari nilai awal { satuan = (spA%100)%10; arus = false; } else //kurang dari sama dengan 3 digit { spA = (ratusan*100) + (puluhan*10) + satuan; EEPROM_writeAnything(addr_spA, spA); arus = false; } } if(pewaktu) { if(change == 0) //tidak diubah dari bilai awal { satuan = (spP%100)%10; pewaktu = false; } else //kurang dari sama dengan 3 digit { spP = (ratusan*100) + (puluhan*10) + satuan; EEPROM_writeAnything(addr_spP, spP); pewaktu = false; } } } change++; } } void show1() { //Program Penampil ke 7Segment 3 Digit: //Selector ratusan

Page 16: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

55

digitalWrite(38, LOW); digitalWrite(39, LOW); digitalWrite(40, LOW); PORTA = decto7seg[ratusan]; digitalWrite(38, LOW); digitalWrite(39, LOW); digitalWrite(40, HIGH); delay(jeda); //Selector puluhan digitalWrite(38, LOW); digitalWrite(39, LOW); digitalWrite(40, LOW); PORTA = decto7seg[puluhan]; digitalWrite(38, LOW); digitalWrite(39, HIGH); digitalWrite(40, LOW); delay(jeda); //Selector satuan digitalWrite(38, LOW); digitalWrite(39, LOW); digitalWrite(40, LOW); PORTA = decto7seg[satuan]; digitalWrite(38, HIGH); digitalWrite(39, LOW); digitalWrite(40, LOW); delay(jeda); digitalWrite(38, LOW); digitalWrite(39, LOW); digitalWrite(40, LOW); } void show2() { //Program Penampil ke 7Segment 3 Digit: //Selector ratusan digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); PORTC = decto7seg[ratusan1]; digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, HIGH); delay(jeda); //Selector puluhan digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); PORTC = decto7seg[puluhan1]; digitalWrite(41, LOW);

Page 17: Lampiran - repository.uksw.edurepository.uksw.edu/bitstream/123456789/16667/8/T1_612012801_Lampiran.pdfterdayai dan siap melakukan fungsinya. Saklar motor pengaduk diposisikan on Saklar

56

digitalWrite(42, HIGH); digitalWrite(43, LOW); delay(jeda); //Selector satuan digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); PORTC = decto7seg[satuan1]; digitalWrite(41, HIGH); digitalWrite(42, LOW); digitalWrite(43, LOW); delay(jeda); digitalWrite(41, LOW); digitalWrite(42, LOW); digitalWrite(43, LOW); }