📣ความรู้ไปประยุกต์ใช้อุปกรณ์อิเล็กทรอนิกส์เพื่อสร้างสรรค์เป็นโครงงานตามที่โจทย์กำหนดได้ คำสั่งเขียน
int en = 9;
int speed = 100; ////กำหนดค่าความเร็ว 0-100%
int OUT1 = 3;
int OUT2 = 2;
int OUT3 = 5;
int OUT4 = 4;
int ldr1 = A0;
int ldr2 = A1;
int Read1 = 0; //่เก็บค่าที่อ่านได้จาก LDR ตัวที่ 1
int Read2 = 0; //่เก็บค่าที่อ่านได้จาก LDR ตัวที่ 2
void setup()
{
pinMode(ldr1, INPUT);
pinMode(ldr2, INPUT);
pinMode(en, OUTPUT);
DDRD = 0xFF; //เซ็ตขา 0-7 เป็น OUTPUT
int duty = map(speed, 0, 100, 0 ,255); //แปลงค่า 0-100 เป็นค่า PWM 0-255
analogWrite(en, duty); //กำหนดความเร็วด้วย PWM
delay(1000);
}
void loop()
{
Read1 = analogRead(ldr1);
Read2 = analogRead(ldr2);
//เจอเส้นสีดำเป็น 0
if(Read1 <= 400 && Read2 <= 400){ // 1 - 1 เดินหน้า
PORTD = 0b00101000;
}
else if(Read1 <= 400 && Read2 >= 400){ // 1 - 0 เลี่ยวซ้าย ล้อขวาหมุน
PORTD = 0b00011000;
}
else if(Read1 >= 400 && Read2 <= 400){ // 0 - 1 เลี่ยวขวา ล้อซ้ายหมุน
PORTD = 0b00100100;
}
else if(Read1 >= 400 && Read2 >= 400){ // 0 - 0 หยุดนิ่ง
PORTD = 0b00000000;
}
delay(1);
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น
ครูเต้ง เทคโนฯ