Akses adc at mega 40 pin Membuat thermometer digital dengan tampilan LCD dan tampilan pada komputer berbasis mikrokontroller at mega 16 /at mega 8535 atau at mega 32 menggunakan bahasa pemrograman c dengan software code vision avr (interface dengan software yang dibangun menggunakan Delphi 7)

Akses adc at mega 40 pin Membuat thermometer digital dengan tampilan LCD dan tampilan pada komputer berbasis mikrokontroller at mega 16 /at mega 8535 atau at mega 32 menggunakan bahasa pemrograman c dengan software code vision avr (interface dengan software yang dibangun menggunakan Delphi 7)

Size
Price:

Read more


Akses adc at mega 40 pin Membuat thermometer digital dengan tampilan LCD dan tampilan pada komputer berbasis mikrokontroller at mega 16 /at mega 8535 atau at mega 32 menggunakan bahasa pemrograman c dengan software code vision avr (interface dengan software yang dibangun menggunakan Delphi 7)

Judul diatas bagi pemula mungkin kedengaran sangat keren dan menakjubkan, namun bagi level menengah akan dikatakan sepele dan sangat mudah 5 menit kelar (koding nya)
Thermometer merupakan alat ukur besaran suhu. Thermometer digital yang akan dibuat pada postingan kali ini memanfaatkan sensor suhu LM 35 yang dijual dengan harga kisaran 15 ribu rupiah. Sensor suhu akan di antar muka kan ke pin adc (analog to digital converter). Adc pada at mega 16 /at mega 8535 atau at mega 32 merupakan adc 10 bit, namun dapat pula di set menjadi 8 bit. Namun lebih di sarankan menggunakan mode 10 bit, supaya ketelitian pembacaan data suhu lebih baik.
 Oke ndak perlu bertele-tele tulisan ini saya buat,
Pertama , silakan download dan cetak ke pcb file pcb berikut ini :

Selanjutnya, silakan install software bascom, software ini yang akan kita pergunakan dalam proses pemrograman mikrokontroller untuk membaca sensor suhu

Berikut ini adalah source code pembacaan sensor suhu dengan menggunakan software bascom untuk kemudian di tampilkan pada LCD

/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Professional
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date    : 01/08/2012
Author  : NeVaDa
Company :
Comments:


Chip type               : ATmega8535
Program type            : Application
AVR Core Clock frequency: 12,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 128
*****************************************************/

#include <mega8535.h>

#include <delay.h>

// Alphanumeric LCD Module functions
#include <alcd.h>

// Standard Input/Output functions
#include <stdio.h>

#define ADC_VREF_TYPE 0x00


//deklarasi variabel
char buf[33];
float vin, total;
unsigned int temp;
int i;

// 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

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T 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=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=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
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// 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=0x4D;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC Clock frequency: 750,000 kHz
// ADC Voltage Reference: AREF pin
// ADC High Speed Mode: Off
// ADC Auto Trigger Source: ADC Stopped
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
SFIOR&=0xEF;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;

// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTC Bit 0
// RD - PORTC Bit 1
// EN - PORTC Bit 2
// D4 - PORTC Bit 4
// D5 - PORTC Bit 5
// D6 - PORTC Bit 6
// D7 - PORTC Bit 7
// Characters/line: 8

lcd_init(16);
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("Data ADC");
delay_ms(1000);

i=0;
total=0; 

while (1)
 { 
    i++;
   temp=read_adc(0);
   vin=((float)temp*500/1023);  
   total=total+vin;    
   delay_ms(200);  
     if(i==20)
     { 
     total=total/20;        
     delay_ms(100);  
     lcd_clear();
     lcd_gotoxy(0,0);
     lcd_putsf("Data suhu :");
     lcd_gotoxy(0,1);
     sprintf(buf,"%.1f C",total);
     lcd_puts(buf);
     printf("A%.1fA", total);
       i=0;
     total=0;
     delay_ms(1000); 
     } 
  };
}
Baris – baris sorce code program di atas berfungsi untuk  menampilkan data sensor suhu pada lcd dan mengirim nya ke computer melalui komunikasi serial, jika ingin menjadikan komunikasi serial antara pc dengan mikrokontroller terjadi secara wireless, anda dpat menggunakan modul x bee , um 12, um 96atau kyl 1020 sebagai media komunikase serial secara wireless

Butuh kit mikrokontroller dan interface ke PC  dengan delphi? contact  085743320570 (taufik adi sanjaya) KUNJUNGI WEBSITE DAGANGAN KAMI KLIK PADA TEKS BERKEDIP INI

0 Reviews

Contact form

Name

Email *

Message *