
มันทำงานยังไงล่ะ?
การเคลื่อนที่:
การเคลื่อนที่ทั้งหมดของเจ้า SunTracker ตัวนี้ ใช้ [Servo](https://s.shopee.co.th/7fUgFAWSki) 2 ตัวเป็นตัวขับเคลื่อนหลัก
ตัวแรกคือ Servo MG995 อยู่ที่ฐาน ทำหน้าที่หมุนแนวนอน (ซ้าย-ขวา) ส่วนตัวที่สองคือ Servo SG90 ตัวเล็กกว่า เอาไว้ควบคุมการเคลื่อนที่แนวตั้ง (ขึ้น-ลง)
Solar Panel:
เมื่อแสงอาทิตย์ตกกระทบแผงโซลาร์เซลล์ พลังงานจากแสงอาทิตย์จะถูกดูดซับโดยเซลล์ PV ในแผง
พลังงานนี้จะสร้างประจุไฟฟ้าให้เคลื่อนที่ตอบสนองต่อสนามไฟฟ้าภายในเซลล์ ทำให้เกิดกระแสไฟฟ้าไหลขึ้นมา
[LDR](https://s.shopee.co.th/1BHCUqb0Tt) มันทำงานยังไง?
LDR - Light Depended Resistor
มันจะส่งสัญญาณแรงดันอนาล็อกออกมาตามปริมาณแสงที่ตกกระทบ ซึ่งเราก็อ่านค่าแรงดันนี้ผ่าน Analog Input Pin ของ [Arduino](https://s.shopee.co.th/7fUgFAWSki) ได้เลย
หลักการติดตามแสงของโปรเจกต์นี้เรียบง่ายมาก เรามี LDR 4 ตัววางเป็นสี่เหลี่ยมจัตุรัส 2x2 ตรงกลางมีแผ่นกั้นเพื่อป้องกันไม่ให้แสงจากทิศอื่นมาส่องรบกวน ในโค้ดเราก็แค่คำนวณค่าเฉลี่ยของแสงในแต่ละด้าน (บน, ล่าง, ซ้าย, ขวา) แล้วใช้ฟังก์ชัน IF() ตรวจสอบตำแหน่งของแหล่งแสง
if ((average_right - average_left) > LIGHT_THRESHOLD && pos_sh > LOWER_LIMIT_POS) { pos_sh++; servo_horizontal.write(pos_sh); }ตัวอย่างเช่น: ถ้าแหล่งแสงอยู่ทางขวาของเซ็นเซอร์ LDR ค่าเฉลี่ยของ LDR ฝั่งขวา (บนขวา, ล่างขวา) จะสูงกว่าฝั่งซ้าย (บนซ้าย, ล่างซ้าย) Servo ก็จะค่อยๆ หมุนไปทางขวาโดยการเพิ่มองศาให้กับ Servo แนวนอนนั่นเอง

การวัดแรงดันด้วย Voltage Divider:
Voltage Divider เป็นวงจรพื้นฐานที่ใช้แปลงแรงดันสูงให้เป็นแรงดันต่ำลง แค่ใช้ตัวต้านทานสองตัวต่ออนุกรมกับแรงดันอินพุท เราก็จะได้แรงดันเอาท์พุทที่เป็นเศษส่วนของแรงดันต้นทาง
เราต้องใช้มันเพราะแผงโซลาร์เซลล์สามารถให้แรงดันออกมาเกิน 5V ได้ แต่ Analog Pin A0 ของ Arduino รับแรงดันได้สูงสุดแค่ 5V เท่านั้น ห้ามช็อตนะตัวนี้!
ตัวอย่าง: ถ้าแรงดันจากแผงโซลาร์เซลล์เป็น 9V แล้วเราต่อผ่าน Voltage Divider ที่ใช้ตัวต้านทาน 3 ตัวค่าเท่ากันต่ออนุกรมกัน แล้ววัดแรงดันหลังจากตัวต้านทานไป 2 ตัว เราจะได้แรงดันประมาณ 3V หรือพูดง่ายๆ คือได้แรงดันออกมา 1/3 ของแรงดันเข้า
ตามแผนภาพนี้เลย:

เพราะเราใช้ Voltage Divider เราก็ต้องคำนวณหาแรงดันจริงในโค้ดด้วย ง่ายๆ แบบนี้:
input_voltage = analogRead(Voltage_pin);real_voltage = 3*((input_voltage*5.0)/1024);[LCD](https://s.shopee.co.th/6AfsSPcAnb) I2C:
ถ้าน้องเคยลองต่อจอ LCD แบบธรรมดากับ Arduino น้องอาจจะสังเกตว่ามันใช้ขาเยอะมาก ใช้ถึง เจ็ดขา! ซึ่งนั่นคือครึ่งหนึ่งของขา Digital ที่ Arduino มีให้ แต่เจ้าโมดูล I2C นี้จะทำหน้าที่แปลงข้อมูล I2C จาก Arduino ไปเป็นข้อมูลแบบขนานที่จอ LCD ต้องการ ทำให้เราใช้สายข้อมูลแค่ 2 เส้น! (SDA, SCL) และอีก 2 เส้นสำหรับ VCC กับ GND เท่านั้น บอร์ดยังมาพร้อมกับ Potentiometer ตัวเล็กๆ สำหรับปรับความคมชัดของจออีกด้วย หล่อเท่เลยงานนี้
ข้อมูลเทคนิคเพิ่มเติม
ตรรกะการติดตามเส้นทางดวงอาทิตย์
เจ้า Tracker ตัวนี้ช่วยเพิ่มประสิทธิภาพของแผงโซลาร์เซลล์ได้สูงสุดถึง 40% โดยการปรับให้แผงหันเข้าหาดวงอาทิตย์ได้แม่นยำ
- อาร์เรย์ LDR แบบสี่ส่วน: ใช้ Light Dependent Resistors 4 ตัว แยกจากกันด้วยแผงกั้นรูปกากบาท ถ้าดวงอาทิตย์เคลื่อนที่ ส่วนหนึ่งจะได้รับแสงมากกว่า ทำให้เกิดความไม่สมดุลของแรงดัน
- ขั้นตอนการขับเคลื่อน: Arduino อ่านค่า Analog เหล่านี้ แล้วสั่งให้ Servo Motors 2 ตัว (Pitch และ Yaw) หันแผงโซลาร์เซลล์จนกว่าแสงจะสมดุลอีกครั้ง
การวิเคราะห์ประสิทธิภาพ
- โหมดค้นหาแบบประหยัดพลังงาน: เมื่อดวงอาทิตย์ถูกบดบังด้วยเมฆ Servo Motors จะเข้าสู่โหมด "low-duty" cycle เพื่อประหยัดพลังงาน
- รีเซ็ตอัตโนมัติ: ในเวลากลางคืน ระบบจะตรวจจับการขาดแสงทั้งหมด แล้วหมุนแผงกลับไปทางทิศตะวันออกโดยอัตโนมัติ เพื่อรอพระอาทิตย์ขึ้นในวันถัดไป