초음파 센서랑, DC모터인데, 소스 안에 보면 연결하라는 포트가 있다고 해서 그냥 지인한테 소스 째로 받았는데
막상 받고나니 어디다 연결해야할지 모르겠네요.
====================================
//AVRStudio
//AVRStudio
#include
#include
#include
//
//#define Trigger PORTC.0 //초음파 트리거
//#define Echo PINC.1 //초음파 에코
//
char s[30];
unsigned int range_I;
float range_F;
unsigned int range_II;
int k;
void TX0_CH(char ch){ while(!(UCSR0A&0x20)); UDR0=ch; } // 송신함수
//
void getEcho(void)
{
while((PINC&0x02)==0x00) // Wait for echo pin to go high
TCNT1=0; TCCR1B=2; // 1:8 prescaler = 0.5us
while((PINC&0x02)==0x02); // Wait for echo pin to go low
TCCR1B=8; range_I=TCNT1; // the range in CM
range_F=(float)range_I;
range_F/=11.6; // mm
range_I=(unsigned int)range_F/10;
}
//
int main(void)
{
unsigned int i;
DDRC=0x01; // PC0 ouput Trigger, PC1 -nput Echo
UCSR0B=8; UBRR0H=0; UBRR0L=103; //9600, 송신
TCCR1A=0; TCCR1B=8; // Set timer up in CTC mode
_delay_ms(100);
while(1)
{
//PORTC=0x01; _delay_us(10); PORTC=0x00; // 10uS
for(k=0;k<64;k++)
{
getEcho(); _delay_ms(1); range_II+=range_I;
}
range_II/=64;
sprintf(s,"%u cm\r\n", range_II);
if(range_II<20) //제동거리
{PORTB=0x01;
_delay_ms(1000);
PORTB=0x00;}
else
{PORTD=0x01;
_delay_ms(1000);
PORTD=0x00;}
i=0; while(s[i])TX0_CH(s[i++]);
_delay_ms(10000);
}
}