Listing Program. // Declare your global variables here

dokumen-dokumen yang mirip
Standar Operasional Prosedur Alat

Kajian Pustaka. Spesifikasi - Krisbow KW Fitur - Krisbow KW06-290

Tabel Data Pengujian 5x Perubahan Posisi. Kanan (V) Kiri (V)

LAMPIRAN A. Gambar A. Layout alat tongkat tunanetra. Ubiversitas Sumatera Utara

LAMPIRAN. A. Pembuatan Minimun system dan Penanaman Program 1. Rangkaian Minimum System yang telah dilarutkan, di bor dan dipasang komponen

LAMPIRAN. #include <mega16.h> //menambahkan library atmega16 #include <delay.h> //menambahkan library delay #define ADC_VREF_TYPE 0x40

Langkah-langkah pemrograman: 1. Pilih File >> New:

LAMPIRAN A PROGRAM CODE VISION AVR

A-1 LISTING PROGRAM MIKROKONTROLER

Langkah-langkah pemrograman: 1. Pilih File >> New:

LAMPIRAN A RANGKAIAN LENGKAP dan FOTO PENGUAT KELAS D

DAFTAR PUSTAKA. Barry, Gwoollard Elektronika Praktis. PT. Praditya Paramitha, Jakarta.

DAFTAR PUSTAKA. Universitas Sumatera Utara

Penerima Remote SONY dengan ATmega32

LAMPIRAN A DATA SHEET

SKEMATIK RANGKAIAN A V R 12V. Out. Gnd. Kontak Motor. Accu 12V. Klakson ISP CONNECTOR PA0 PB0 PB1 PA2 PA4 MOSI MISO PA6. 10uF SCK RST. 10uF. 47uF.

Project : Version : Date : 15/05/2013 Author : F4CG Company : F4CG Comments:

BAB IV HASIL DAN PEMBAHASAN. Hasil dan pembahasan merupakan pemaparan dari spesifikasi alat, kinerja

Ping))) Paralax Ultrasonic Range Finder By : Hendawan Soebhakti

LAMPIRAN A SKEMATIK RANGKAIAN

RANCANG BANGUN OTOMATISASI PINTU GARASI DENGAN KOMUNIKASI BLUETOOTH BERBASIS MIKROKONTROLER

BAB V PENUTUP. otomatis yang dapat terjadwal.

DAFTAR PUSTAKA.

DAFTAR PUSTAKA. Bejo, Agus C & AVR Rahasia Kemudahan Bahasa C Dalam Mikrokontroler ATMega 8535.Yogyakarta:Graha Ilmu.

BAB IV HASIL KERJA PRAKTEK. sistem perancangan ini memiliki sensor untuk mengetahui seberapa intensitas cahaya

Gambar 4.1 Rangkaian keseluruhan

LAMPIRAN A. Gambar A. Skematik Perancangan Solar Tracker Dual Axis. 54 Universitas Sumatera Utara

LAMPIRAN. Lay Out Minimum Sistem dengan ATMega8

BAB IV HASIL KERJA PRAKTEK. MMC (Multi Media Card) merupakan alat untuk menyimpan data digital. Memory card

C. RUMUSAN MASALAH 1. Bagaimana cara membuat timbangan digital? 2. Apa tujuan pembuatan timbangan digital?

Membuat Sendiri Robot Line Tracker

MIKROKONTROL ATMega8535 Teknik Elektronika Industri

MODUL V: Timer dan Counter

BAB IV HASIL KERJA PRAKTEK

Digital Compass CMPS03 By : Hendawan Soebhakti

OHMMETER DIGITAL BERBASIS MICROCONTROLLER

CLAMP-METER PENGUKUR ARUS AC BERBASIS MIKROKONTROLER TUGAS AKHIR

BAB 3 PERANCANGAN ALAT. Rangkaian Catu daya (Power Supply Adaptor) ini terdiri dari satu keluaran, yaitu 5

BAB III PERANCANGAN DAN PEMBUATAN SISTEM. perangkat keras maupun perangkat lunak yang meliputi:

POLITEKNIK CALTEX RIAU

BAB III DESAIN DAN PEMBUATAN

RANCANG BANGUN ALAT DETEKSI MINYAK GORENG YANG TELAH DIPAKAI MENGGORENG DAGING BABI BERBASIS PARAMETER KAPASITANSI

MAKALAH MIKROPROSESOR JAM DIGITAL DENGAN LCD 16X2

Sistem Kendali Servo Pada Sumbu Mesin CNC Aciera F5

DAFTAR PUSTAKA. Anton, 2007, Sensor Suhu LM35, com/sensor Suhu LM35.htm

BAB 4 HASIL DAN PEMBAHASAN

RANCANG BANGUN ALAT PENGUKUR INTENSITAS HUJAN DENGAN METODE JUNGKAT-JUNGKIT BERBASIS SENSOR MEDAN MAGNET UGN3503 RIAN MARYANTO

STIKOM SURABAYA BAB IV PEMBAHASAN. 4.1 Perangkat Keras. Informasi waktu yang akan ditunjukkan oleh jarum dan motor power

LAMPIRAN 1 DATA SHEET SERVO GWS S677

APLIKASI LED DAN PHOTODIODA SEBAGAI SISTEM DETEKSI MINYAK GORENG TERCAMPUR PLASTIK

BAB III METODOLOGI PENELITIAN. yang sebelumnya telah dihaluskan dan melalui proses quality control

MAX6675 K-Type Thermocouple Temperature Sensor

SISTEM PENGUKURAN SUHU MINYAK GORENG BERBASIS TERMOKOPEL TIPE K

FAKULTAS ILMU KOMPUTER UNIVERSITAS SRIWIJAYA PALEMBANG TAHUN AJARAN

PENGEMBANGAN ALAT DETEKSI TINGKAT DEHIDRASI BERDASARKAN WARNA URINE MENGGUNAKAN LED DAN FOTODIODA

BAB IV HASIL DAN UJI COBA

REMOTE CONTROL LAMPU KAMAR DENGAN FITUR PWM DAN SEVEN SEGMENT BERBASIS MIKROKONTROLER ATmega 8535

Listing Program Aquaponik

MIKROKONTROLER ATMEGA BERBASIS CODEVISION AVR (ADC DAN APLIKASI TERMOMETER) dins D E P O K I N S T R U M E N T S

PRAKTIKUM III Robot Line Follower Sederhana

BAB V KESIMPULAN DAN SARAN. melakukan analisa terhadap rancang bangun monitoring volume air mineral

Pulsa = Frekuensi * 60/20 ; atau Pulsa = frekuensi*30;

RANGKAIAN LENGKAP. Rangkaian Output Suara Dan Rangkaian Op-Amp

BAB III METODE PENELITIAN

BAB III METODOLOGI PENELITIAN. Berikut alat dan bahan yang digunakan. Bahan yang digunakan pada pembuatan dan penelitian ini adalah:

MODUL 8 Analog Digital Converter (ADC)

BAB III METODOLOGI PENELITIAN. dengan suhu dan timer berbasis mikrokontroler ATMega8535, dapat

Robotika. OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; MCUCSR=0x00; TIMSK=0x00;

Gambar 3.1 Blok Diagram Timbangan Bayi

BAB 3 PERANCANGAN ALAT DAN PEMBUATAN SISTEM PSA 5 V. Mikrokontroler ATMega8535

PEMROGRAMAN ACCELEROMETER BERBASIS MIKROKONTROLLER ATMEGA 8535

BAB III PERANCANGAN SISTEM KONTROL TEST BED AUTOMATIC CRUISE CONTROL

I. Pendahuluan. II. Tujuan. III. Gambaran Disain. MODUL 7 Monitoring Suhu dan Cahaya ke PC

IMPLEMENTASI KOMUNIKASI PADA MODULE SR_FRS BERBASIS TEKS

PELATIHAN: Pemrograman Mikrokontroler Tipe AVR bagi Guru-guru SMK

BAB 3 PERANCANGAN DAN PEMBUATAN. Rangkaian dan Pengujian Sistem Control Aliran Air dengan Mikrokontroler

LAMPIRAN A FOTO ROBOT MOBIL TANK

Tata letak konektor DT-AVR ATMEGA168 BMS adalah sebagai berikut: Persiapan hardware DT-AVR ATMEGA168 BMS adalah sebagai berikut:

BAB III METODOLOGI PENELITIAN. Gambar blok diagram dari sistem kerja alat dapat dilihat pada Gambar 3.1

MIKROKONTROLER ATMEGA BERBASIS CODEVISION AVR (SERIAL U(S)ART) dins D E P O K I N S T R U M E N T S

Tabel 1. Karakteristik Potensiometer Putaran Kedua No Sudut (derajat) Teori (KΩ) Praktik (KΩ) Error (%) ,00 45,50 1, ,86 45,30 0,97 2

Pengenalan CodeVisionAVR

D min Sebagai Fungsi Jumlah Lengkungan dan Tegangan Tarik Maksimum d Tali Baja Tipe : 6 x Fibre Core. d 26,

Sistem Mikrokontroler FE UDINUS

Dasar Pemrograman C. Hendawan Soebhakti. Oktober 2009

PENGAMAN PARKIR MOBIL MENGGUNAKAN SENSOR JARAK BERBASIS MIKROKONTROLER TUGAS AKHIR

PENGATURAN KIPAS BERBASIS MIKROKONTROLER DENGAN MENGGUNAKAN SENSOR SUHU

MODUL PELATIHAN MIKROKONTROLLER UNTUK PEMULA DI SMK N I BANTUL OLEH: TIM PENGABDIAN MASYARAKAT JURUSAN TEKNIK ELEKTRO

RANCANG BANGUN ALAT DETEKSI DEHIDRASI MENGGUNAKAN LED DAN FOTODIODA MELALUI WARNA URINE

RANCANG BANGUN SISTEM DETEKSI KEBISINGAN SEBAGAI MEDIA KONTROL KENYAMANAN RUANGAN PERPUSTAKAAN

ALAT BANTU JALAN UNTUK TUNANETRA DENGAN SENSOR PENDETEKSI LUBANG BERBASIS MIKROKONTROLLER ATMEGA 8

Timbangan Loadcell 5kg HX711

MIKROKONTROLER ATMEGA BERBASIS CODEVISION AVR (I2C DAN APLIKASI RTC) dins D E P O K I N S T R U M E N T S

Transkripsi:

Listing Program #include <mega8.h>// standart input/output library #include <stdio.h>// delay library #include <delay.h>// Alphanumeric LCD functions #include <alcd.h>// adc mode avcc 10bit #define ADC_VREF_TYPE 0x40// tombol #define start PIND.6 #define stop PIND.7// relay #define selenoid PORTB.1 #define motor PORTB.2// sensor #define voltsensor 0 #define mpx 1 // Read the AD conversion result unsigned int 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(10); // Start the AD conversion ADCSRA =0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA =0x10; return ADCW; // Declare your global variables here // untuk display lcd buffer char buffer[33]; // variable global int last_tekanan,tekanan; float batery; int bacadenyut=0,counter=0; int sistolik=0,diastolik=0; // baca volt meter float bacavoltmeter(){ float volt,voltok; float voltmax=3.5,inputvoltmax=20.0; int analog=read_adc(voltsensor); // rumus sensor tegangan // r1= 4,7k r2= 1k // inputvolt max= 20.0 volt (sesuai kebutuhan yang peting hasil perhitungan voltmax tidak lebih dari 5v) // mencari voltmax ( max 5V), voltmax=r2/(r1+r2)*inputvoltmax

// voltmax=1k/(4,7+1)*20.0 // voltmax= 3.50 volt volt=analog*((float)5/1023); // mengubah nilai adc ke tegangan voltok=volt*((float)inputvoltmax/voltmax); // mengubah nilai tegangan kecil ke tegangan sensor return voltok; // nilai balik // baca tekanan float bacatekanan(){ float volt=read_adc(mpx)*((float)5/1023)-0.17; // mengubah nilai adc ke tegangan dan dikurangi dengan nilai offset di 0 kpa pada tegangan (0.2v) float pressure=volt*((float)100/4.67); // mengubah ke kpa nilai max 100 kpa di tegangan offset 4.7v if(pressure<0)pressure=0; // batas minimal 0 return pressure; // nilai balik // variable int flag=0; int record[100]; int record1[100]; int rcount=0; // program yang di esksekusi void programku(){ int i; // lokal variabel // panggil pembacaan sensor batery=bacavoltmeter(); tekanan=bacatekanan()*7.50062; // konversi ke mmhg // mulai start jika ditekna tombol start if(!start){ // set nilai awal saat start // semua relay on selenoid=1; motor=1; bacadenyut=0; sistolik=0; diastolik=0; // stop jika ditekan tombol stop if(!stop){ // matikan semua relay motor=0;

selenoid=0; bacadenyut=0; // berhenti memompa jika tekanan lebih dari 170 mmhg if(tekanan>170){ // motor off motor=0; if(bacadenyut==0)last_tekanan=tekanan; bacadenyut=1; // tanda baca denyut di mulai // mulai baca denyut saat motor behenti memompa if(bacadenyut==1){ if(tekanan>last_tekanan&&rcount>=3){ if(flag==2&&tekanan<100){diastolik=last_tekanan;flag++; // denyut ketiga ambil nilai sistolik if(flag==1&&tekanan<100)flag++; if(flag==0&&tekanan>=100){sistolik=last_tekanan;flag++; // denyut pertama ambil nilai diastolik if(rcount<3)rcount++; else last_tekanan=tekanan; // tampilkan di lcd lcd_gotoxy(0,0); sprintf(buffer,"%d/%d ~%d ",sistolik,diastolik,tekanan); lcd_puts(buffer); lcd_gotoxy(0,1); sprintf(buffer,"bat:%.1f ",batery); lcd_puts(buffer); lcd_gotoxy(9,1); lcd_putsf("v"); // jika flag bernilai 2( menandakan sistolik dan diastolik sudah terbaca) // tampilkan hasil ahir if(flag==3){ // selenoid off selenoid=0; lcd_gotoxy(0,0); sprintf(buffer,"%d/%d",sistolik,diastolik,tekanan); lcd_puts(buffer); lcd_gotoxy(0,1);

// kondisi normal if((sistolik>=90&&sistolik<=139)&&(diastolik>=60&&diastolik<=89)) lcd_putsf("normal"); // kondisi hipertensi if((sistolik>=140&&sistolik<=159)&&(diastolik>=90&&diastolik<=99) )lcd_putsf("hipertensi"); // kondisi hipotensi if(sistolik<90&&diastolik<60)lcd_putsf("hipotensi"); // kondisi program stop while(1); delay_ms(50); void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port B initialization // Func7=Out Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=In // State7=0 State6=T State5=T State4=T State3=T State2=0 State1=0 State0=T PORTB=0x00; DDRB=0x86; // Port C initialization // Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00; DDRC=0x00; // Port D initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=P State6=P State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0xC0; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped TCCR0=0x00; TCNT0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock

// Clock value: Timer1 Stopped // Mode: Normal top=0xffff // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xff // OC2 output: Disconnected ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; // External Interrupt(s) initialization // INT0: Off // INT1: Off MCUCR=0x00; // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00; // USART initialization // USART disabled UCSRB=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 1000,000 khz // ADC Voltage Reference: AVCC pin

ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x83; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00; // Alphanumeric LCD initialization // Connections are specified in the // Project Configure C Compiler Libraries Alphanumeric LCD menu: // RS - PORTD Bit 0 // RD - PORTC Bit 6 // EN - PORTD Bit 1 // D4 - PORTD Bit 2 // D5 - PORTD Bit 3 // D6 - PORTD Bit 4 // D7 - PORTB Bit 6 // Characters/line: 16 lcd_init(16); // tampilan awal lcd_gotoxy(0,0); lcd_putsf("digital"); lcd_gotoxy(0,1); lcd_putsf("tensi Meter"); delay_ms(1000); // pengulangan terus menerus while (1) { // Place your code here // panggil program ku programku();