• Tidak ada hasil yang ditemukan

Kegiatan Agustus September Oktober November Desember Januari

N/A
N/A
Protected

Academic year: 2021

Membagikan "Kegiatan Agustus September Oktober November Desember Januari"

Copied!
41
0
0

Teks penuh

(1)

66

LAMPIRAN

(2)

67 Lampiran 1. Tabel jadwal penelitian

Bulan

Kegiatan Agustus September Oktober November Desember Januari

1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Tinjauan pustaka Pembuatan proposal Pembuatan alat Pengambil an data Pengolaha n data Pelaporan

(3)

68 Lampiran 2. Spesifikasi soil penetrometer SR-2

DIK-5502 Soil Penetrometer, SR-2 Type

This penetrometer is used to predict the trafficability of agricultural machinery that travels on the ground, and the resistance of working machinery. By measuring a penetrating resistance a rectangular board sinkage, a shear resistance and a friction resistance, the sinkage and the traction fo traveling area and the resistance of working machinery can be calculated

.

Measuring range 211-2452kPaA 0 - 60cm

Spring 490N / 50mm

Cone Top angle 30, sectional area 2cm2 & 6cm2

Spindle 0 - 60cm (graduated per 5cm)

Recording system

Rectangular plate A Rectangular plate B

Pen recording on rotating drum 50 x 100 x 10mm

25 x 100 x 10mm

Shear ring I.D.60 x O.D.100mm with projection

Friction ring I.D.60 x O.D.100mm without projection

Torque wrench 3`23N/m

Outside dimensions W250 x D110 x H1250mm

(4)

69 Lampiran 3. Tabel spesifikasi mikrokontroler ATmega 8535

Spesifikasi ATmega 8535

- Dua 8-bit Timer/Counter, satu 16-bit Timer/Counter, dan Real Time Counter

- 4 channel PWM

- Two-wire Serial Interface

- Programmable Serial USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter)

- Master/Slave SPI Serial Interface - Programmable Watchdog Timer - On-chip Analog Comparator - Internal Calibrated RC Oscillator

- Mendukung varian AVR® 40 pin antara lain: AT90S8535, ATmega8535L, ATmega16(L), ATmega8515(L), AT90S8515, dan ATmega162(L) (Seri AVR® yang tidak memiliki ADC

membutuhkan converter socket)

- Memiliki fasilitas In-System Programming untuk IC yang mendukung, dilengkapi LED Programming Indicator - Memiliki hingga 35 pin jalur input/output

- Lengkap dengan osilator 4 MHZ dan memiliki kemampuan komunikasi Serial UART RS-232 yang sudah disempurnakan - Lengkap dengan rangkaian reset, tombol manual reset, dan brown-out detector

- Menggunakan tegangan input 9 - 12 VDC dan memiliki tegangan

(5)

70 Lampiran 4. Tabel Nilai gaya penyanggah dan indeks kerucut tanah

No Jenis tanah Keterangan

Gaya penyanggaan (Bp)terhitung kg/cm2 Index kerucut kecil (Ci), kg/cm2, pada kedalaman 20 cm 1 Regosol abu vulkanis,

pundong

Lembab, Iseki 1.300 14.83

2 Regosol abu vulkanis, kelasan

Lembab, Iseki 0.673 7.20

3 Regosol abu vulkanis, kalasan

Basah, Iseki 0.324 6.38

4 Latosol, ungaran Kering, Ford

4000

1.133 11.693

5 Alluvial, jatiroto Lembab, catt D6 0.357 4.277

6 Regosol abu vulkanis, pundong

Lembab, Zetor 25

0.783 7.070

7 Latosol, ungaran. Lembab, Ford

4000

(6)

71 Lampiran 5. Spesifikasi teknis DT-I/O Grafik LCD GM24644

Spesifikasi Teknis DT-I/O Graphic LCD GM24644

Dimensi: 15,1 cm (P) x 5,7 cm (L) x 3 cm (T)

-Berbasis Data Image GM24644 Graphic LCD tanpa backlight (second/bekas)

-240 x 64 pixel, 149 x 56 x 9,5 mm -2 Font Size Settings

-Contrast Control

-Slide Preview up to 4 frames

- Monochrome BMP to ASM converter - Demo program

(7)

72 Lampiran 6. Tabel spesifikasi material

(8)

73 Lampiran 7. Tabel perhitungan ketepatan dan ketelitian jarak pada penetrometer

Beban G

Tampilan di layar LCD S1 S2 Ketepatan

(S1/r) % Ketelitian (S2/g) % Cm 1 2 3 R 60 59.3 60 59.8 59.7 0.3 0 0.50 0.00 55 54.1 54.5 54.8 54.5 0.3 0.2 0.61 0.36 50 49.2 49.6 49.3 49.4 0.2 0.4 0.47 0.80 45 44.5 44.6 44.1 44.4 0.2 0.4 0.45 0.89 40 39.5 39.7 39.4 39.5 0.2 0.3 0.42 0.75 35 34.2 34.6 34.5 34.4 0.1 0.4 0.29 1.14 30 29.3 29.4 29.4 29.4 0.0 0.6 0.11 2.00 25 24.5 25 24.5 24.7 0.3 0 1.35 0.00 20 19.1 20 19.7 19.6 0.4 0 2.04 0.00 15 14.7 14.6 14.5 14.6 0.1 0.3 0.68 2.00 10 9.7 9.5 9.6 9.6 0.1 0.3 1.04 3.00 5 4.9 4.7 4.8 4.8 0.1 0.1 2.08 2.00 r = nilai rata-rata

S1 =simpangan pengukuran terjauh dari nialai rata-rata S2 = simpangan pengukuran terjauh dari nilai asli

(9)

74 Lampiran 8. Tabel perhitungan ketepatan dan ketelitian gaya tekan penetrometer

Beban g

Tampilan di layar LCD S1 S2 Ketepatan

(S1/r) % Ketelitian (S2/g) % kg 1 2 3 R 5 5 6 4 5 1 1 20.00 20.00 10 10 11 12 11 1 2 9.09 20.00 15 15 14 17 15.33 1.67 2 10.89 13.33 20 20 20 22 20.67 1.33 2 6.43 10.00 25 25 26 24 25 1 1 4.00 4.00 30 30 31 32 31 1 2 3.23 6.67

(10)

75 Lampiran 9. Tabel spesifikasi stainless steel

Unit Satuan SI Satuan British

Tensil strength ultimate 505 MPa 73200psi

Tensile strength, yield 215 MPa 31200 psi

Elongation at break 70 %

Modulus of elasticity 193-200 GPa 28000-29000 ksi

Shear Modulus 86 GPa 12500 ksi

(11)

76 Lampiran 10. Perhitungan penentuan diameter cincin tranduser

Diketahui: =0.001 b = 15 mm F = 100 kg x 9.8 m/s t = 4m E= 200x109 Pa Ditanya: Nilai r ? Jawabannya:

cm

m

r

x

x

xr

Ebt

Fr

X

4

.

4

044

.

0

2

^

004

.

0

015

.

0

9

^

10

200

980

09

.

1

001

.

0

09

.

1

2

(12)

77 Lampiran 11. Perhitungan beban bending pada handle

Diketahui: =250x109 Pa F= 50 kgf L=70 cm Ditanya: d ? Jawabannya:

mm

d

x

x

x

x

x

x

d

x

x

FxLx

d

d

I

d

c

L

F

M

I

Mc

24

10

250

64

5

.

0

24

.

0

8

.

9

50

64

5

.

0

64

25

.

0

.

6 3 3 4

Jadi diameter minimal bending adalah 24 mm

Sedangkan perhitungan gaya maksimal yang dapat diterima oleh batang penetrometer

N

p

x

x

p

L

R

E

p

L

EI

P

4100

7

.

0

006

.

0

4

1

10

200

4

1

2 4 9 2 2 4 2 2 2

(13)

78 Lampiran 12. Perhitungan diameter minimum untuk menahan beban 100 kg pada batang penetrometer

Diketahui: P= 100 kg x 9.8 m/s2= 980 E= 200x109 Pa L=70 cm Ditanya: nilai R ? Jawabannya:

mm

m

R

x

x

x

x

R

E

x

pxL

R

L

R

E

L

EI

P

1

.

4

0041

.

0

10

200

4

7

.

0

980

4

25

.

0

9 3 2 4 2 4 2 4 2 2 2

(14)

79 Lampiran 13. Perhitungan panjang minimum terjadinya buckling

Diketahui : E = 200x109 Pa R = 6 mm =215x106 Pa Ditanya: L ? Jawabannya:

m

L

x

x

x

x

L

r

L

x

x

x

x

r

R

R

R

A

I

r

r

L

E

87

.

2

245

.

53

10

215

14

.

3

3

10

200

/

10

200

14

.

3

10

215

3

6

2

1

2

1

4

1

6 ` 2 2 9 2 2 9 2 6 2 4 2 2

(15)

80 Lampiran 14. Tabel hasil pengukuran sensor ultrasonik pada sore hari dengan suhu 29 oC

Jarak dipenggaris (cm)

Keluaran ADC Tampilan LCD

(cm) 60 2965 59.3 55 2705 54.1 50 2460 49.2 45 2225 44.5 40 1975 39.5 35 1710 34.2 30 1465 29.3 25 1225 24.5 20 955 19.1 15 735 14.7 10 485 9.7 5 245 4.9

(16)

81 Lampiran 15. Tabel hasil pengukuran sensor ultrasonik pada pagi hari dengan suhu 27 oC

Jarak dipenggaris (cm) Keluaran mikron (ms) Tampilan LCD 60 3000 60 55 2725 54.5 50 2480 49.6 45 2230 44.6 40 1985 39.7 35 1730 34.6 30 1470 29.4 25 1250 25 20 1000 20 15 730 14.6 10 475 9.5 5 235 4.7

(17)

82 Lampiran 16.Tabel hasil pengukuran sensor ultrasonik pada siang hari dengan suhu 35 oC

Jarak dipenggaris (cm)

Keluaran mikron Tampilan LCD (cm) 60 2990 59.8 55 2740 54.8 50 2465 49.3 45 2205 44.1 40 1970 39.4 35 1725 34.5 30 1470 29.4 25 1225 24.5 20 985 19.7 15 725 14.5 10 480 9.6 5 240 4.8

(18)

83 Lampiran 17. Tabel kalibrasi sensor suhu LM35

Suhu Termometer (oC) Output LM35 (Milivolt) Tampilan LCD (oC) 29 290 29 30 300 30 31 310 31 32 320 32 33 330 33 34 340 34 35 350 35

(19)

84 Lampiran 18. Tabel kalibrasi penguat pada strain gage

No

Data pembacaan

(milivolt) Rataan Interval

1 2 3 1 3180 3170 - 3175 7 3080 3070 - 3075 100 2970 2980 - 2975 100 2870 2880 - 2875 100 2760 2770 - 2765 110 2660 2670 - 2665 100 2560 2570 - 2565 100 2460 2470 - 2465 100 2350 2360 - 2355 110 2240 2250 - 2245 110 2130 2140 - 2135 110 2 3160 3170 - 3165 7 3040 3050 3060 3050 115 2960 2950 2940 2950 100 2840 2850 2860 2850 100 2730 2740 2750 2740 110 2620 2630 2640 2630 105 2510 2520 - 2515 110 2410 2420 - 2415 100 2310 2320 - 2315 100 2200 2210 - 2205 110 2090 2100 - 2095 110 3 3160 3170 - 3165 7 3040 3050 - 3045 120 2940 2950 - 2945 100 2830 2840 - 2835 110 2730 2720 - 2725 110 2620 2610 - 2615 110 2520 2510 - 2515 100 2410 2400 - 2405 110 2300 2290 - 2295 110 2200 2190 - 2195 100 2090 2080 - 2085 110 4 3160 3170 - 3165 7 3080 3090 - 3085 80 2940 2950 - 2945 140

(20)

85 2860 2850 - 2855 90 2730 2740 - 2735 120 2630 2640 - 2635 100 2500 2510 - 2505 130 2380 2390 - 2385 120 2270 2280 - 2275 110 2180 2190 - 2185 90 2060 2070 - 2065 120 5 3160 3170 - 3165 7 3040 3050 3060 3050 115 2940 2950 - 2945 105 2840 2850 - 2845 100 2730 2740 - 2735 110 2620 2630 2640 2630 105 2510 2520 - 2515 115 2410 2420 - 2415 100 2310 2320 - 2315 100 2210 2220 - 2215 100 2110 2120 - 2115 100 6 3150 3160 - 3155 7 3040 3030 - 3035 120 2950 2940 - 2945 90 2840 2850 - 2845 100 2730 2740 - 2735 110 2640 2650 - 2645 90 2540 2550 - 2545 100 2430 2440 - 2435 110 2330 2340 - 2335 100 2230 2240 - 2235 100 2120 2130 - 2125 110 7 3170 3160 - 3165 7 3060 3070 3080 3070 95 2960 2970 - 2965 105 2840 2850 - 2845 120 2730 2740 - 2735 110 2620 2630 - 2625 110 2500 2510 - 2505 120 2395 2405 - 2400 105 2295 2305 - 2300 100 2190 2200 - 2195 105 2080 2090 - 2085 110

(21)

86 8 3180 3170 - 3175 7 3030 3040 3050 3040 135 2930 2920 2910 2920 120 2810 2820 - 2815 105 2720 2710 - 2715 100 2620 2610 - 2615 100 2500 2490 - 2495 120 2380 2390 2400 2390 105 2270 2280 - 2280 110 2170 2180 - 2180 100 2060 2070 - 2070 110

(22)

87 Lampiran 19. Tabel kalibrasi keluaran ADC

Volt

keluaran ADC

0.41 60 0.46 69 0.51 80 0.56 89 0.61 100 0.66 111 0.71 121 0.76 131 0.81 142 0.86 152 0.91 162 1.01 183 1.11 204 1.20 222 1.30 244 1.40 265 1.50 284 1.60 304 1.70 326 1.80 347 2.00 387 2.20 427 2.40 467 2.60 507 2.80 547 3.00 587 3.20 630 3.40 670 3.60 711 3.80 751 4.00 793 4.76 947

(23)

88 Lampiran 20. Gambar kalibrasi suhu

(24)

89 Lampiran 21. Gambar kalibrasi strain gage

(25)

90 Lampiran 22. Gambar kalibrasi jarak pada ultrasonik

(26)

91 Lampiran 23. Gambar prototipe penetrometer digital

(27)

92 Lampiran 24. Pemrograman pembacaan sensor kedalaman ultrasonik pada mikrokontroler

lcd_init(16); lcd_gotoxy(0,0); lcd_putsf("program penetrometer"); delay_ms (3000); lcd_clear(); while (1) {

SIG_dir = 1; // set SIG pin as output

SIG_out = 0; //

delay_us(50); // send start pulse SIG_out = 1; //

SIG_dir = 0; // set SIG pin as input

TCNT1=0; counter= 0;

while (SIG_in && counter<300) jadi=counter;// wait for return pulse jadi++;

TCCR1B=0x02; // start timer (timer period = 2uS)

while ((!SIG_in) && !(TIFR&0x80)); //TIFRx80 :bit overflow:bit ini tidak // selalu sama letaknya di setiap UC AVR

TCCR1B=0x00; // stop timer

us= TCNT1; // save timer value to variable US us= us/5;

us=us/10; // convert to milimeters

ftoa(us,1,temp1);//mengubah tipe data float ke tipe data array yg akan ditampilkan di LCD lcd_gotoxy(0,0);

lcd_puts("H"); lcd_gotoxy(0,1); lcd_puts(temp1); delay_ms(50);

(28)

93 Lampiran 25. Program kalibrasi data ADC

lcd_gotoxy(0,0);

lcd_putsf("program kalibrasi ADC"); delay(3000);

lcd_clear(); while (1) {

kalibrasi=read_adc(0); //pembacaan ADC pin A.0

ftoa(kalibrasi,1,nilai2); // mengubah data string menjadi array lcd_gotoxy(0,0); // penentuan lokasi pencetakan LCD lcd_putsf(nilai2); // lambaang massa

Lampiran 26. Program kalibrasi suhu IC LM35 lcd_gotoxy(0,0);

lcd_putsf("program kalibrasi suhu"); delay(3000);

lcd_clear(); while (1) {

suhu= read_adc(2); //pembacaan ADC

itoa(suhu, nilai); //mengubah data string menjadi array lcd_gotoxy(0,0); //lokasi pencetakan ke LCD lcd_putsf(nilai); //pencetakan ke LCD }

}

while (1) {

lcd_gotoxy(0,0); //lokasi penampilan lcd pada kolom 0 baris ke 0 lcd_putsf(“test1”);

lcd_gotoxy(0,1);//lokasi penampilan lcd pada kolom 0 baris ke1 lcd_putsf(“test2”)

(29)

94 Lampiran 27. Pemrograman penetrometer digital ke mikrokontroler

#include <mega8535.h> #include <delay.h> #include <stdio.h> #include <alcd.h> #include <stdlib.h> #define ADC_VREF_TYPE 0x00 #define SIG_out PORTB.2 #define SIG_in PINB.2 #define SIG_dir DDRB.2 #define ready PINB.3 #define cs PORTB.0 #define sck PORTB.1 #define mosi PORTB.3 #define miso PINB.4 #define rst PORTB.5 eeprom unsigned int save; eeprom unsigned int save1; eeprom unsigned int save2;

float us, counter, jadi;

unsigned int us1, tekanan1, detik;

unsigned char us_msb, us_lsb, suhu_msb, suhu_lsb, tekanan_lsb, tekanan_msb, s1=0,s=0;; unsigned char cnt_1Hz=0;

// Read the 8 most significant bits // of the AD conversion result

interrupt [EXT_INT0] void ext_int0_isr(void) {

// Place your code here s++;

}

unsigned char read_adc(unsigned char adc_input) {

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage delay_us(300);

// Start the AD conversion ADCSRA|=0x40;

// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10; return ADCW; }

#define delay_spi 10 //1us

unsigned int spi(unsigned int data){ unsigned char i,temp;

(30)

95 temp<<=1; if(data&i){ mosi=1; } else{ mosi=0; } delay_us(delay_spi); sck=1; delay_us(delay_spi); if(miso==1){ temp+=1; } delay_us(delay_spi); sck=0; delay_us(delay_spi); } return temp; }

unsigned char status_register_read(void){ unsigned char temp;

cs=0; delay_us(delay_spi); spi(0x57); delay_us(delay_spi); sck=1; delay_us(delay_spi); sck=0; delay_us(delay_spi); temp=spi(0); delay_us(delay_spi); cs=1; delay_us(delay_spi); return temp; } void wait_for_busy(void){ while((status_register_read()&0xBC)!=0x9C); } void init(void){ cs=1; sck=0; rst=1; miso=1; mosi=0; } void reset(void){ cs=0; delay_us(200); rst=0; delay_us(200); cs=1; delay_us(200); rst=1; delay_us(200);

(31)

96 wait_for_busy();

}

unsigned int buffer_1_read(unsigned int address){ unsigned char temp;

cs=0; spi(0x54); spi(0); spi((address>>8)&0x01); spi(address&0xff); spi(0); sck=1; sck=0; temp=spi(0); cs=1; return temp; }

void buffer_1_write_open(unsigned int address){ cs=0; spi(0x84); spi(0); spi((address>>8)&0x01); spi(address&0xff); } void buffer_1_write_close(void){ cs=1; wait_for_busy(); }

void buffer_1_to_main_Memory_with_erase(unsigned int page){ unsigned int temp;

cs=0; spi(0x83); temp=page; temp>>=7; temp=temp&0xf; spi((int)temp); //char temp=page; temp<<=1; spi((int)temp); // spi(0); cs=1; wait_for_busy(); }

void buffer_2_write_open(unsigned int address){ cs=0; spi(0x87); spi(0); spi((address>>8)&0x01); spi(address&0xff); } void buffer_2_write_close(void){ cs=1; wait_for_busy(); }

(32)

97 unsigned int temp;

cs=0; spi(0x86); temp=page; temp>>=7; temp=temp&0xf; spi((int)temp); temp=page; temp<<=1; spi((int)temp); spi(0); cs=1; wait_for_busy(); }

void main_Memory_to_buffer_1_transfer(unsigned int page){ unsigned int temp;

cs=0; spi(0x53); temp=page; temp>>=7; //7 temp=temp&0xf; spi((char)temp); // temp=page; temp<<=1; spi((char)temp); // spi(0); cs=1; wait_for_busy(); }

// Declare your global variables here

interrupt [TIM0_OVF] void timer0_ovf_isr(void) {

// Reinitialize Timer 0 value TCNT0=0x05;

cnt_1Hz++;

// Place your code here if(cnt_1Hz==250){ cnt_1Hz=0; detik++; } } void main(void) {

unsigned int mainpage,page,i=0,i_akhir,mainpage_akhir,update=0; unsigned int baca1,baca2,baca3,baca4,baca5,baca6,baca7, baca8, k=0; int suhu; float tekanan; char nilai2[8]; char temp1[8]; char temp[8]; float suhu1; DDRC=0xff; PORTC.3=0;

(33)

98 DDRB.0=1; DDRB.1=1; DDRB.3=1; PORTB.4=1; DDRB.5=1; DDRD=0x34; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 62.500 kHz // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x03;

TCNT0=0x05; OCR0=0x00;

// External Interrupt(s) initialization // INT0: On

// INT0 Mode: Falling Edge // INT1: Off // INT2: Off GICR|=0x40; MCUCR=0x02; MCUCSR=0x00; GIFR=0x40; TIMSK=0x01; // USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

// USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600 UCSRA=0x00; UCSRB=0x18; UCSRC=0x86; UBRRH=0x00; UBRRL=0x19; // ADC initialization

// ADC Clock frequency: 1000,000 kHz // ADC Voltage Reference: AREF pin ACSR=0x80;

SFIOR=0x00;

// ADC High Speed Mode: Off

// ADC Auto Trigger Source: ADC Stopped // Only the 8 most significant bits of

(34)

99 // the AD conversion result are used

ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x82; SFIOR&=0xEF; SFIOR|=0x10; lcd_init(16); init(); reset(); lcd_gotoxy(0,0); lcd_putsf("PENETROMETER"); delay_ms (1000); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Press Button..."); lcd_gotoxy(0,1);

lcd_putsf("To Copy Data"); lcd_clear(); #asm("sei") while(detik<=4){ if(s!=s1){ s1=s; update=save; mainpage_akhir=save1; i_akhir=save2; goto next1;} s1=s; } lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Data Record"); detik=0; cnt_1Hz=0; lcd_clear(); for (mainpage=0;mainpage<=2048;) {delay_ms(500); lcd_gotoxy(0,1); lcd_putsf(" ");

SIG_dir = 1; // set SIG pin as output SIG_out = 0; //

delay_us(50); // send start pulse SIG_out = 1; //

SIG_dir = 0; // set SIG pin as input TCNT1=0;

counter= 0;

while (SIG_in && counter<300) jadi=counter;// wait for return pulse jadi++;

TCCR1B=0x02; // start timer (timer period = 2uS)

while ((!SIG_in) && !(TIFR&0x80)); //TIFRx80 :bit overflow:bit ini tidak // selalu sama letaknya di setiap UC AVR

us=0;

TCCR1B=0x00; // stop timer

(35)

100 us1=(int)us;

us= us/5;

us=us/10; // convert to milimeters

ftoa(us,1,temp1);//mengubah tipe data float ke tipe data array yg akan ditampilkan di LCD lcd_gotoxy(0,0);

lcd_puts("H"); lcd_gotoxy(0,1); lcd_puts(temp1); us_msb = us1 & 0xFF; us_lsb = us1 >> 8; suhu = read_adc(7); suhu1=(float)suhu*500/1024; ftoa(suhu1,1,temp); lcd_gotoxy(6,0); lcd_putsf("Tmp"); lcd_gotoxy(6,1); lcd_puts(temp); suhu_msb=suhu & 0xFF; suhu_lsb=suhu >> 8; tekanan=read_adc(0); tekanan1== 0,0049*tekanan + 0,1133 tekanan = 28.133*tekanan1 – 3.8173 ftoa(tekanan,1,nilai2); lcd_gotoxy(11,0); lcd_putsf("Force"); lcd_gotoxy(11,1); lcd_puts(nilai2); tekanan_msb=tekanan1 & 0xFF; tekanan_lsb=tekanan1 >> 8; if(i==0){ if(k==0){buffer_1_write_open(0);} else{buffer_2_write_open(0);}} spi(us_lsb); spi(us_msb); spi(suhu_lsb); spi(suhu_msb); spi(tekanan_lsb); spi(tekanan_msb); spi(0); spi(0); i++; i_akhir=i; mainpage_akhir=mainpage; if(i==33){ page=0; page=mainpage; page*=256; page+=mainpage; if(k==0){ k=1; buffer_1_write_close(); buffer_1_to_main_Memory_with_erase(page); }

(36)

101 else{ k=0; buffer_2_write_close(); buffer_2_to_main_Memory_with_erase(page); } mainpage++; i=0; } if(s!=s1){ s1=s; goto next;} s1=s; } next: if(i<33){ page=0; page=mainpage; page*=256; page+=mainpage; if(k==0){ buffer_1_write_close(); buffer_1_to_main_Memory_with_erase(page); } else{ buffer_2_write_close(); buffer_2_to_main_Memory_with_erase(page); } mainpage++; } update=mainpage; save=update; save1=mainpage_akhir; save2=i_akhir; lcd_gotoxy(0,0); lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Record Finish"); while(1){ if(s!=s1){ s1=s; goto next1;} s1=s; } next1: lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Transfer");

(37)

102 for(mainpage=0;mainpage<update;mainpage++) { i=0; page=0; page=mainpage; page*=256; page+=mainpage; main_Memory_to_buffer_1_transfer(page); while(i<264){ baca1=buffer_1_read(i); i++; baca2=buffer_1_read(i); i++; baca3=buffer_1_read(i); i++; baca4=buffer_1_read(i); i++; baca5=buffer_1_read(i); i++; baca6=buffer_1_read(i); i++; baca7=buffer_1_read(i); i++; baca8=buffer_1_read(i); i++; us1=baca1*256+baca2; us = us1/5; us=us/10; suhu=baca3*256+baca4; suhu1=(float)suhu*500/1024; tekanan=baca5*256+baca6;

printf("%.2f %.2f %.2f \n \r", us, suhu1, tekanan);

if(mainpage==mainpage_akhir && i==i_akhir*8){mainpage++;goto next3;} } } next3: lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("Finish..."); while(1){ if(s!=s1){ s1=s; goto next1;} s1=s; } }

(38)

103 Lampiran 28. Program pembacaan port

Private Sub background_Click(Index As Integer) If BackColor = vbYellow Then

BackColor = vbGreen Else

BackColor = vbYellow End If

End Sub

Private Sub command1_click() Dim port As Integer

On Error GoTo errcode Select Case Combo1.ListIndex Case -1 port = 1 Case 0 port = 1 Case 1 port = 2 Case 2 port = 3 Case 3 port = 4 Case 4 port = 5 Case 5 port = 6 Case 6 port = 7 Case 7

(39)

104 port = 8

Case 8 port = 9 End Select

If MSComm1.PortOpen = False Then MSComm1.CommPort = port MSComm1.RThreshold = 1 MSComm1.InputLen = 40

MSComm1.Settings = Combo2.List(Combo2.ListIndex) & ",N,8,1" MSComm1.PortOpen = True Command1.Enabled = False Command2.Enabled = True End If Exit Sub errcode:

MsgBox "Port Salah !", vbOKOnly, "Peringatan" Combo1.SetFocus

End Sub

Private Sub command2_click() If MSComm1.PortOpen = True Then MSComm1.PortOpen = False End If

cmdConnect.Enabled = True cmdDisconnect.Enabled = False End Sub

Private Sub command3_click() Dim tbx As Control

For Each tbx In Me.Controls

If TypeOf tbx Is TextBox Then tbx.Text = " " Next

End Sub

(40)

105 Clipboard.SetText Text1.SelText

Text1.SelText = Text1 Text1 = ""

End Sub

Private Sub exit_Click(Index As Integer) End

End Sub

Private Sub Form_Load() With Combo1 .AddItem "COM1" .AddItem "COM2" .AddItem "COM3" .AddItem "COM4" .AddItem "COM5" .AddItem "COM6" .AddItem "COM7" .AddItem "COM8" .AddItem "COM9" End With With Combo2 .AddItem "2400" .AddItem "4800" .AddItem "9600" .AddItem "19200" .AddItem "38400" .AddItem "56600" End With Command1.Enabled = True Command2.Enabled = False End Sub

Private Sub MSComm1_OnComm() Dim buffer As String

(41)

106 Dim temp As String

buffer = MSComm1.Input If buffer <> "" Then With Text1 .SelStart = Len(.Text) .SelText = buffer End With End If End Sub

Referensi

Dokumen terkait

PUTRA PERKASA ADE PAHALA SITORUS JL.. FARIZ

Sistem Among juga bisa digunakan sebagai sebuah metode pembelajaran yang digunakan untuk mencapai tujuan pendidikan, adapun metode yang ditawarkan oleh sistem

Komite audit juga dipandang sebagai mekanisme pemantauan yang dapat membantu meringankan masalah agensi dengan mengurangi asimetri informasi antara orang

[r]

Aktif menjalankan tugas sebagai guru kelas atau guru matapelajaran; bd. Belum pernah mendapatkan penghargaan/ apresiasi peringkat/juara I di tingkat

Berdasarkan hasil penelitian, selama berlangsungnya penelitian eksperimen semu ini dilaksanakan dapat disimpulkan sebagai berikut : (1) Proses pembelajaran Numbered Heads

Didapat representasi hasil maturity level seluruh klausul pada Gambar 2 dan terlihat bahwa Manajemen Aset dan Kejadian Keamanan Informasi memiliki nilai yang belum baik,

Deskripsi Isi ajaran sesuai dengan iman Katolik dan perkembangan peserta didik SMP kelas IX Butir 5 Ketepatan pemilihan sumber ajaran Katolik.. Deskripsi Sumber-sumber