จำลองลานจอดรถอัตโนมัตินับรถ เข้า-ออก
อุปกรณ์
1.PIC16F628A
2.SERVO MOTOR
3.สวิกซ์กดติดปล่อยดับ
4.ตัวต้านทาน 10 Kohm
5.ตัวต้านทาน 500 ohm
6.LED GEEN
7.LED RED
8.ตัวเก็บประจุ 22 pf
9.Crystal 4 MHz
CODE
{
unsigned int i;
for(i=0;i<50;i++)
{
PORTB.F5 = 1;
Delay_us(1500);
PORTB.F5 = 0;
Delay_us(18500);
}
}
void servoRotate180() //180 Degree
{
unsigned int i;
for(i=0;i<50;i++)
{
PORTB.F5 = 1;
Delay_us(2200);
PORTB.F5 = 0;
Delay_us(17800);
}
}
void main()
{
unsigned char led[]={0b00000001,0b00000010,0b00000100,0b00001000,0b00010000};
unsigned char i;
TRISB=0b11000000;
PORTB=0b11000000;
while(1)
{
if(PORTB.F6==0)
{
PORTB=led[i];
while(PORTB.F6==0);
i++;
servoRotate180(); //180 Degree
servoRotate90(); //90 Degree
Delay_ms(700);
servoRotate180(); //180 Degree
if(i<=4)PORTB.F5==0;
}
if(i>4)i=4;
if(PORTB.F7==0)
{
i--;
PORTB.F5=0;
PORTB=led [i];
while(PORTB.F7==0);
if(i>=4)
PORTB.F7=0;
}
}
}
อ้างอิง https://electrosome.com/servo-motor-pic-microcontroller/