วันพฤหัสบดีที่ 22 ธันวาคม พ.ศ. 2559

ใบงานที่5 ultrasonic sensor

ใบงานที่5 ultrasonic sensor

จัดทำโดย
นายอนัต์สิทธิ์     ปรุงชัยภูมิ   เลขที่ 15  ชอ D.2
นายชาญณเรงค์ มาสอาด     เลขที่ 14  ชอ D.2
นายชานนท์       จันทร์คำ     เลขที่  6   ชอ D.2

วัสดุอุปกรณ์

1.บอร์ดทดลองArduino UNO R3    1บอร์ด
2.สาย USB                                 1เส้น
3.สายแพร์                                   14 เส้น
4.โพโตบอร์ด                                1 บอร์ด
7.มอเตอร์                                    2ตัว
8.บอร์ด Motor Driver                    1บอร์ด
9.บอร์ด ultrasonic sensor              1อัน

รูปวงจร





การทำงาน
 เมื่อโปรแกรมเริ่มทำงานมอเตอร์ทั้งสองตัวจะทำงานและมอเตอร์จะหยุดทำงานเมื่อเซนเชอร์เจอวัตถุเข้ามาใกล้ระยะน้อยกว่า 11 ชม.

#define echoPin 8
#define trigPin 7
const int M1R = 3;
const int M1L = 4;
const int M2R = 5;
const int M2L = 6;
void setup()
{
Serial.begin(9600);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
pinMode(M1R,OUTPUT);
pinMode(M1L,OUTPUT);
pinMode(M2R,OUTPUT);
pinMode(M2L,OUTPUT);
}
void loop()
{
int distance,duration;
digitalWrite(trigPin,HIGH);
delay(200);
digitalWrite(trigPin,LOW);
duration=pulseIn(echoPin,HIGH);
distance=(duration/2)/29.1;
Serial.println(distance);
if(distance >10) // for going forward
{
digitalWrite(M1R,HIGH);
digitalWrite(M1L,LOW);
digitalWrite(M2R,HIGH);
digitalWrite(M2L,LOW);
}
else // obstacle detected turn left
{
digitalWrite(M1R,LOW);
digitalWrite(M1L,LOW);
digitalWrite(M2R,LOW);
digitalWrite(M2L,LOW);
}

}



วันพุธที่ 21 ธันวาคม พ.ศ. 2559

ใบงานที่ 4 Motor Controlled

ใบงานที่ 4 Motor Controlled

จัดทำโดย
นายอนัต์สิทธิ์     ปรุงชัยภูมิ   เลขที่ 15  ชอ D.2
นายชาญณเรงค์ มาสอาด     เลขที่ 14  ชอ D.2
นายชานนท์       จันทร์คำ     เลขที่  6   ชอ D.2

วัสดุอุปกรณ์
1.บอร์ดทดลองArduino UNO R3  1 บอร์ด
2.สาย USB                                    1 เส้น
3.สายแพร์                                      12 เส้น
4.โพโตบอร์ด                                 1 บอร์ด
5.สวิทช์กดติดปล่อยดับ                 4 ตัว
6.ตัวต้านทาน1k,220k                    2 ตัว
7.มอเตอร์                                       2 ตัว
8.บอร์ด Motor Driver                    1 บอร์ด

รุปวงจร

การทำงาน
เป็นวงจร Motor Controlled หรือเรียกอีกอย่างหนึ่งว่าวงจรควบคุมมอเตอร์ มีหลักการทำงาน ก็คือ
       - เมื่อเรากดสวิทช์ที่ 1 มอเตอร์ทั้ง 2 ตัว ก็จะหมุนไปในทิศทางข้างหน้า (เดินหน้า)
       - เมื่อเรากดสวิทช์ที่ 2 มอเตอร์ทั้ง 2 ตัว ก็จะหมุนกลับหลัง (ถอยหลัง)
       - เมื่อเรากดสวิทช์ที่ 3 มอเตอร์ฝั่งซ้ายจะหมุนกลับหลังและมอเตอร์ฝั่งขวาจะหมุนไปข้างหน้า
(เลี้ยวซ้าย)
       - เมื่อเรากดสวิทช์ที่ 4 มอเตอร์ฝั่งซ้ายจะหมุนไปข้างหน้าและมอเตอร์ฝั่งขวาจะหมุนกลับหลัง
(เลี้ยวขวา)




const int button1 = A0;
const int button2 = A1;
const int button3 = A2;
const int button4 = A3;
     
const int M1 =  2;
const int M2 =  3;
const int M3 =  4;
const int M4 =  5;

int buttonM1 = 0;
int buttonM2 = 0;
int buttonM3 = 0;
int buttonM4 = 0;        
void setup() {

  pinMode(M1,OUTPUT);
  pinMode(M2,OUTPUT);
  pinMode(M3,OUTPUT);
  pinMode(M4,OUTPUT);

  pinMode(button1,INPUT);
  pinMode(button2,INPUT);
  pinMode(button3,INPUT);
  pinMode(button4,INPUT);
}
void loop() {

  buttonM1 = digitalRead(button1);
  buttonM2 = digitalRead(button2);
  buttonM3 = digitalRead(button3);
  buttonM4 = digitalRead(button4);

  if (buttonM1 == HIGH)
  {
    digitalWrite(M1,HIGH);
    digitalWrite(M2,LOW);   //1
    digitalWrite(M3,HIGH);
    digitalWrite(M4,LOW);
   }
 else
  if (buttonM2 == HIGH)
  {
    digitalWrite(M1,LOW);
    digitalWrite(M2,HIGH);
    digitalWrite(M3,LOW);   //2
    digitalWrite(M4,HIGH);
  }
  else
    if (buttonM3 == HIGH)
  {
    digitalWrite(M1,HIGH);
    digitalWrite(M2,LOW);  //3
    digitalWrite(M3,LOW);
    digitalWrite(M4,HIGH);
   }
   else
  if (buttonM4 == HIGH)
  {
    digitalWrite(M1,LOW);
    digitalWrite(M2,HIGH);
    digitalWrite(M3,HIGH);  //4
    digitalWrite(M4,LOW);
  }
  else 
    {
    digitalWrite(M1,LOW);
    digitalWrite(M2,LOW); //5
    digitalWrite(M3,LOW);
    digitalWrite(M4,LOW);
 
    }

}