سلام به همه ی دوستان میخواستم بدونم کسی نحوه نوشتن برنامه فاصله سنج با التراسونک رو با کدویژن بلد نیست؟ #:S #:S
اطلاعیه
Collapse
No announcement yet.
نحوه نوشتن برنامه فاصله سنج با التراسونک
Collapse
X
-
1 در دنیا 100 در آخرت(درس و مشق فعالیتمو تو انجمن کم کرده)
من آنچه شرط بلاغست با تو میآگویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
!Electronic On! Programming On
هوشمندانه سوال بپرسیم!
http://ir02x6.persiangig.com/logo/eca/tanks_01.png
دیدگاه
-
پاسخ : نحوه نوشتن برنامه فاصله سنج با التراسونک
نه ماژول نمیخواد
شما برو فروشگاه الکترونیک بگو: لطفا یدونه فرستنده و یدونه گیرنده آلتراسونیک به من بدهید.
اگه تو مثبت منفی پایه ها گیر کردی پایه ای که دورش یه دایره بزرگ هست مثبته
اگه نفهمیدی کدوم گیرنده وکدوم فرستنده هست روی بدنه آلتراسونیک نوشته ......... یعنی گیرنده:R یعنی فرستنده : T
1 در دنیا 100 در آخرت(درس و مشق فعالیتمو تو انجمن کم کرده)
من آنچه شرط بلاغست با تو میآگویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
!Electronic On! Programming On
هوشمندانه سوال بپرسیم!
http://ir02x6.persiangig.com/logo/eca/tanks_01.png
دیدگاه
-
پاسخ : نحوه نوشتن برنامه فاصله سنج با التراسونک
سلام
این برنامه رو برای ماژول hc-sr04 نوشتم.
خود برنامه واضحه و فک نمیکنم نیاز به توضیح داشته باشه!!!
سوالی بود بپرس
موفق باشی.
#include <mega8.h>
#include <delay.h>
// Alphanumeric LCD functions
#include <alcd.h>
#include <stdio.h>
#define trig PORTD.2
#define echo PIND.3
unsigned int x;
unsigned long int timer_v;
float timer_dis,distance,u;
void check(void)
{
unsigned char lcd_buff[16];
#asm("wdr"
timer_v=TCNT1;
timer_dis=(float)timer_v/2.0;
distance=timer_dis*343.0;
u=(float)distance/10000;
x=u;
sprintf(lcd_buff,"distans>> %u Cm",x);
lcd_gotoxy(0,0);
lcd_puts(lcd_buff);
}
void main(void)
{
PORTB=0x00;
DDRB=0x00;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x04;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// Watchdog Timer initialization
// Watchdog Timer Prescaler: OSC/512k
#pragma optsize-
WDTCR=0x1F;
WDTCR=0x0F;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
// Alphanumeric LCD initialization
// Connections are 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 - PORTD Bit 0
// Characters/line: 16
lcd_init(16);
while (1)
{
TCCR1B=0x00;
TIMSK=0x00;
TCNT1=0x0000;
trig=1;
delay_us(20);
trig=0;
while(echo==0);
TCCR1B=0x02;
distance=0;
timer_v=0;
#asm("wdr"
while(echo==1);
TCCR1B=0x00;
check();
#asm("wdr"
}
}
دیدگاه
دیدگاه