- สร้างสัญญาณจากเครื่องกำเนิดสัญญาณดิจิดัลแบบมีคาบ เพื่อป้อนเป็นอินพุตให้บอร์ด Arduino
- ฝึกทักษะในการเขียนโปรแกรม สำหรับบอร์ด Arduino เพื่อประมวลผลสัญญาณดิจิทัลจากอินพุต และสร้างสัญญาณเอาต์พุตตามเงื่อนไขที่กำหนดให้
รายการอุปกรณ์
1. แผงวงจร(เบรดบอร์ด) 1 อัน
2. บอร์ด Arduino(ใช้แรงดัน +5V) 1 บอร์ด
3. ตัวต้านทาน 100Ω หรือ 150Ω 1 ตัว
4. ตัวต้านทาน 330Ω หรือ 470Ω 1 ตัว
5. ไดโอดเปล่งแสงขนาด 5 มม. 1 ตัว
6. สายไฟสำหรับต่อวงจร 1 ชุด
7. เครื่องกำเนิดสัญญาณดิจิทัล 1 เครื่อง
8. ออสซิลโลสโคป 1 เครื่อง
ขั้นตอนการทดลอง
ขั้นตอนการทดลอง
- สร้างสัญญาณดิจิทัลแบบมีคาบ (แรงดันในช่วง 0V และ 5V เท่านั้น ห้ามใช้แรงดันสูงกว่า หรือแรงดันเป็นลบ)มีรูปคลื่นสี่เหลี่ยม หรือแบบ Pulse (Duty Cycle=50%) มีความถี่10Hz จากเครื่องกำเนิดสัญญาณ โดยต่อผ่านตัวต้านทาน 100Ω หรือ 150Ω ไปยังขา D3 ของบอร์ด Arduino เพื่อใช้เป็นอินพุต
- ต่อวงจร LED พร้อมตัวต้านทานจำกัดกระแส ที่ขา D5 ของบอร์ด Arduino เพื่อใช้แสดงสถานะ
- เขียนโค้ด Arduino Sketch เพื่อทำให้หลอด LED บนแผงวงจร กระพริบตามความถี่ของสัญญาณอินพุต(อัตราการกระพริบของ LED จะต้องสอดคล้องกับความถี่ของสัญญาณอินพุต)
- ปรับความถี่ของสัญญาณอินพุต ในช่วง 5Hz…20Hz(เพิ่มทีละ 5Hz)และใช้ออสซิลโลสโคป 2 ช่อง วัดสัญญาณอินพุตที่ขา D3 และสัญญาณเอาต์พุตที่ขา D5 พร้อมกัน และบันทึกรูปคลื่นสัญญาณทีได้สำหรับความถี่ต่างๆในการทดลอง
- เขียนรายงานการทดลอง(เขียนโจทย์ แนวทางการทำโจทย์ ผังวงจรโดยรวมซึ่งใช้โปรแกรม Eagle ในการวาดและ โค้ด Arduino Sketch พร้อมคำอธิบายโค้ด รูปตัวอย่างที่ได้จากการวัดสัญญาณและภาพถ่ายการต่อทดลองวงจรจริง ) จัดทำเป็นไฟล์ .PDF ขนาด A4 ส่งในระบบ e-learning ของภาควิชา
const byte LED=5 ;
void setup() {
pinMode(digitalPin,INPUT); //กำหนดให้ขา D3 เป็นขา input โดยรับขาเข้ามาจาก function generator
pinMode(LED,OUTPUT); //กำหนดให้ขาD5 เป็นขา OUTPUT ซึ่งเป็น LED
}
void loop() {
if(digitalRead(digitalPin)==HIGH){ //ตรวจสอบค่าที่ได้จาก Function Generator ถ้าหาก digitalRead(digitalPin) = HIGH ไฟจะติด
digitalWrite(LED,HIGH);
}
else digitalWrite(LED,LOW); ถ้าหาก digitalRead(digitalPin) = LOW ไฟจะดับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น