به نام خدا
پروژه ولت متر و اهم متر دیجیتال با AVR
توضیح : این پروژه AVR که به زبون C نوشته شده من تو چند تا سایت یه همچین چیزی دیده بودم ولی به زبان BASIC ما هم اونو به زبان C نوشتیمش.
قسمت ولت متر پروژه رو من عملی تست کردم قبلا ولی قسمت اهم مترش رو نه>>>البته به احتمال بالای ۹۰% تو عمل مشکلی نخواهد داشت.
قسمت ولت متر پروژه رنج ۰ تا ۹ رو من اندازه گرفتم و جواب داده و ۱۸ به بالا رو هم دادم بهش> LCD هنگ کرده.
حالا در شکل زیر اون قسمت های سبز که مشخص کردم>>شما منبع تغزیه و مقاومتتون رو درش قرار میدید. و برای اندازه گیری هر یک ابتدا باید در سمت راست شکل >>یکی از دو دکمه رو فعال کرده
توجه : فقط موقع عملی بستن پروژه در قسمت ولتمترش حواستتون باشه که مدار رو درست بشه باشین و اگه اون قسمت کاهش دهنده ولتاژ درست عمل نکنه(به عل بد بستش مدار و…) چون ما ولتاژ هایی مثلا ۹ ولت به میکرو وصل میکنم اگه اون کاهش دهنده ولتاژ عمل نکنه کل مدارتون میسوزه.

اینم از کداش و توضیحی نمیدم چون قبلا توضیح دادم >>>شما میتونید مطالب زیر رو بخونید.
آموزش کار با LCD
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#include
#include
#include
#include
#asm
.equ __lcd_port=0x18 //portb
#endasm
#define ADC_VREF_TYPE 0x00 //Volt.Ref
floatread_adc(unsignedcharadc_input)
{
ADMUX=adc_input|(ADC_VREF_TYPE&0xff);
delay_us(10); // Delay needed for the stabilization of the ADC input voltage
ADCSRA|=0x40;// Start the AD conversion
while((ADCSRA&0x10)==0);// Wait for the AD conversion to complete
ADCSRA|=0x10;
returnADCW;
}
voidmain(void)
{
charbuffer[];
floatV,R;
DDRC=0X00;
DDRD=0XFF;
lcd_init(16);
// ADC Clock frequency: 125.000 kHz
// ADC Voltage Reference: Int., cap. on AREF
ADMUX=ADC_VREF_TYPE&0xff;
ADCSRA=0x85;
while(1)
{
if(PINC.0)
{
//////////////////////////////////VOLT
V=read_adc(0);
if(V==0)
{
ftoa(V,2,buffer);
lcd_putsf("V = 0.00");
delay_ms(100);
lcd_clear();
}
else
{
V=(V*50)/1023;
ftoa(V,2,buffer);
lcd_putsf("V = ");
lcd_puts(buffer);
lcd_putsf(" (volt)");
delay_ms(100);
lcd_clear();
}
/////////////////////////////VOLT
}
if(PINC.1)
{
///////////////////////////AMPER
R=read_adc(1);
if(R==1023)//اگه مقاومت رو هنوز قرار نداده بود
{
ftoa(R,2,buffer);
lcd_putsf("R = 0.00");
delay_ms(100);
lcd_clear();
}
else//اگه مقومت رو قرار داده بود
{
R=(R*5)/1023;
R=(R*1000)/(5-R);
ftoa(R,2,buffer);
lcd_putsf("R= ");
lcd_puts(buffer);
lcd_putsf(" (OHM)");
delay_ms(100);
lcd_clear();
}
////////////////////////////AMPER
}
};
}
|
پسورد تمامی فایل های سایت : www.dmf313.ir
دانلود این پروژه | حجم : ۱۷۰ کیلوبایت!
یه پروژه اهم متر هم هست به زبون بیسیک : کلیک کن