ภาคเซ็นเซอร์ (Sensor)ตัวเซ็นเซอร์เป็นตัวเซ็นเซอร์แสง ใช้ LDR (light dependent resistor) โดยต่อเป็นวงจรแบ่งแรงดัน และใช้ LED เป็นตัวส่งแสงต่อเข้าที่อินพุท A/D AN0(P1.0) - AN3( P1.3) ค่าความต้านทานของ LDR นี้เปลี่ยนไปตามความสว่างของแสงที่ตกบนตัว LDR ดังนี้ - เมื่อไม่มีแสงตกกระทบเลย(มืดสนิท) มีค่าประมาณ 100 K ขึ้นไป- ถ้ามีแสงมาก มีค่าประมาณ 1 K - แสงไฟนีออนตกกระทบมีค่าประมาณ 10 K ดังนั้นควรใช้ค่า R อนุกรมประมาณ 15 K - 20 K |
![]() ![]() ![]() |
|
A/D แรงดันอ้างอิงของ A/D บนบอร์ดไมโครใช้ค่า 2.5 V ต้องได้ 2.5 V ถ้าไม่ได้ให้ปรับ VR 10 K
|
MOTOR |
ชุดขับมอเตอร์ทำทั้งหมด 2 ชุด สำหรับล้อซ้ายและล้อขวา สำหรับขาทรานซิสเตอร์ ควรตรวจสอบ อาจไม่ตรงตามรูป
|
การต่อมอเตอร์เพื่อให้หมุนไปข้างหน้า
|
สำหรับผู้ที่ต้องการใช้ IC สำเร็จรูปสามารถใช้เบอร์ L293 ได้ ซึ่งต่อกับมอเตอร์ได้ 2 ตัว
|
สามารถต่ออย่างง่ายๆและควบคุมได้ด้วย PWM![]() |
ตัวอย่างมอเตอร์ 1 ตัว |
บทความ Small DC Motor Control ของ Intel
ฟังก์ชั่น void d1ms (unsigned int dt)
ความหมาย หน่วงเวลาเท่ากับค่า dt x 1 ms
การใช้งาน
d1ms(5); หน่วงเวลา 5 ms
ฟังก์ชั่น void d100ms (unsigned int dt)
ความหมาย หน่วงเวลาเท่ากับค่า dt x 100 ms
การใช้งาน
d100ms(3); หน่วงเวลา 300 ms
ฟังก์ชั่น void int_serial (void)
ความหมาย กำหนดการทำงานของพอร์ทอนุกรม
ฟังก์ชั่น unsigned int adc(unsigned char ch)
ความหมาย แปลงค่าอะนาลอกเป็นดิจิตอล หมายเลขช่องกำหนดด้วยค่า
ch ค่าที่แปลงได้เป็น unsigned integer
การใช้งาน
unsigned int v1;
v1 = adc(0);
ฟังก์ชั่น void adc4(unsigned int value[4])
ความหมาย แปลงค่าอะนาลอกเป็นดิจิตอล ทั้ง 4 ช่อง
ค่าที่แปลงได้เป็น unsigned integer ส่งคืนมาทาง value
การใช้งาน
unsigned int dat[4];
adc4(dat);
ฟังก์ชั่น void int_pwm34(void)
ความหมาย กำหนดการทำงานของ PWM ช่องที่ 3 (P1.6)
และ 4 (P1.7)
การใช้งาน
int_pwm34();
ฟังก์ชั่น void motor_l(unsigned char speed)
ความหมาย ควบคุมความเร็วมอเตอร์ตัวซ้าย (PMM 3) ค่าความเร็วกำหนดได้ด้วยค่า
speed ถ้ามีค่าเท่ากับ 1 จะหมุนเร็วที่สุด ถ้ามีค่ามากกว่า 160 ขึ้นไปจะหยุด (นศ.ควรทดสอบ)
การใช้งาน
unsigned char i;
i = 10;
motor_l (i);
ฟังก์ชั่น void motor_r(unsigned char speed)
ความหมาย ควบคุมความเร็วมอเตอร์ตัวขวา (PMM 4) ค่าความเร็วกำหนดได้ด้วยค่า
speed ถ้ามีค่าเท่ากับ 1 จะหมุนเร็วที่สุด ถ้ามีค่ามากกว่า 160 ขึ้นไปจะหยุด (นศ.ควรทดสอบ)
การใช้งาน
motor_r (25);