การทำงานของภาษา C
จุดประสงค์
เพื่อศึกษาการต่อวงจรและการเขียนโปรแกรมเพี่อรับข้อมูลแบบอนาลอกของบอร์ดอาดุยโน่
รายการวัสดุอุปกรณ์ที่ต้องใช้
1) สายต่อพ่วงแบบ male to male จานวน 3 เส้น
2) บอร์ด Arduino Uno
3) สาย USB สำหรับโหลดโปรแกรม
วงจรที่ใช้งาน
ตัวต้านทานปรับค่าได้ 10 กิโลโอห์ม (Poten)
วิธีการทำทดลอง
1. ทำการศึกษาสัญลักษณ์ในวงจรอิเล็กทรอนิกส์ตามแผนผังการต่อวงจรการรับข้อมูลแบบอนาลอกของบอร์ดอาดุยโน่
2. ทำการต่อวงจรการรับข้อมูลแบบอนาลอกบนบอร์ดการเรียนรู้ SNR EMBEDDED SYSTEM LEARNING BOARD ดังนี้
2.1 ทำการต่อไฟฟ้า 5V และ GND เข้าที่ขา 1 และ 3 ของตัวต้านทานปรับค่าได้
** ห้ามนำสาย 5V หรือ GND เข้ากับขา 2 ของตัวต้านทานได้ เพราะจะทำให้เกิดการลัดวงจรทำให้วงจรเสียหายได้
2.2 ทำการต่อขา 2 ของตัวต้านทานปรับค่าได้กับขารับสัญญาณอนาล็อก A0
3. ทำการเขียนโปรแกรมภาษาซี ดังนี้ แล้วอัพโหลดเข้าสู่บอร์ดอาดุยโน่แล้วกดดูค่าที่บอร์อาดุยโน่ส่งมาที่ Serial Monitor ทำการบันทึกค่า
ตั้งค่าให้แสดงผลออกทางหน้าจอ monitor ที่อัตรา 9600 bits per second
void setup()
{
Serial.begin(9600);
}
//การเชื่อมต่อซีเรียล (Serial Communication) เป็นการเชื่อมต่อระหว่างอุปกรณ์ที่ใช้ส่งข้อมูลได้ทางซีเรียล (เช่น ไมโครคอนโทรลเลอร์) กับอุปกรณ์อื่น ๆ ที่รอรับข้อมูลผ่านช่องส่งข้อมูลซีเรียล (เช่น คอมพิวเตอร์ หรืออุปกรณ์อื่น ๆ) โดยใช้สายสัญญาณซีเรียล (Serial Cable) หรือสาย USB
ในส่วน void loop() ให้เขียนโปรแกรมดังนี้
1) กำหนดค่าเพื่อให้รับข้อมูลจากขา A0 โดยคำสั่ง int ดังนี
int sensorValue = analogRead(A0);
int คือ ชนิดข้อมูลตัวแปร ที่ใช้สำหรับเก็บค่าเป็นจำนวนเต็ม
sensorValue คือ คำที่เราตั้งขึ้นมา ในที่นี้ใช้สำหรับอ่านค่าจากเซนเซอร์
analogRead() คือ เป็นการกำหนดให้อ่านข้อมูลแบบอนาล็อก
A0 คือ ขาที่เราต้องการอ่านค่า
ดังนั้นโดยรวมแล้ว คำสั่ง int sensorValue = analogRead(A0); จึงหมายถึง กำหนดคำว่า sensorValue ให้เป็นการอ่านข้อมูลแบบอนาล็อกจากขา A0
2) ใช้คำสั่ง Serial.println เพื่อให้แสดงค่าจาก ข้อ 1 ที่หน้าจอคอมพิวเตอร์ผ่านสาย USB
Serial.println(sensorValue);
Serial.println() คือ แสดงผล (print) ออกทางหน้าจอผ่านการเชื่อมต่อซีเรียล โดยให้ขึ้นบรรทัดใหม่ทุกครั้งที่อ่านค่าได้
sensorValue คือค่าที่เราต้องการให้แสดงผล
3) กำหนดเวลาการหน่วงเวลาของการอ่านค่าเซนเซอร์ เป็น 1 มิลลิวินาที
delay(1);
4. ทำการหมุนตัวต้านทานปรับค่าได้ให้อยู่ตำแหน่งตรงกลางแล้วกดดูค่าที่บอร์ดอาดุยโน่ส่งมาที่ Serial Monitor ทำการบันทึกค่า
5. ทำการหมุนตัวต้านทานปรับค่าได้ให้อยู่ตำแหน่งมากที่สุดแล้วกดดูค่าที่บอร์ดอาดุยโน่ส่งมาที่ Serial Monitor ทำการบันทึกค่า