Arduino Serial PORT

รูปภาพ
Arduino Serial PORT       ใน Arduino นั้นจะสามารถติดต่อสื่อสารกับ Computer ผ่าน Serial ที่หลายคนก็รู้เช่ยเดียวกัน ในครั้งนี้ห็จะมาดูกันว่าจะสามารถทำอะไรกลับ Serial ได้บ่าง   คำสั่งแรกที่ต้องใช้ในการเริ่มต้นสือสารคือ การกำหนดความเร็วในการสือสาร ด้วยคำสั่งด้านล่าง จะใส่ไว้ใน Founction setup()  Serial.begin(9600);         นอกจากนี้ถ้าเป็นบอร์ดที่มีหลาย Serial (Arduino Maga2560) ก็จะใช้ การตั้งค่าเป็นดังนี้ Serial1.begin(9600); Serial2.begin(9600);        ก่อนที่จะเริ่มไปส่งค่าหรือรับค่ามาใช้งาน มาดูรายละเอียดของ  Baud Rate กันก่อน  เพื่อดูระยะเวลาในการรับ/ส่งข้อมูลกันก่อนเพราะบางที่ก็จะมีผลต่อโปรแกรมที่เราเขียนขึ้นจาก สูตร         ถ้าใช้ Baud Rate เท่ากลับ 9600 bit/s จะได้ว่า t = 1/9600 t= 0.104 mS         สรุปได้ว่า 1 bit = 0.104 mS ถ้า 1 char จะได้ว่า 0.104 ms*11 bit = 1.144 ms นั้นหมายความว่า ถ้าเราส่งข้อมูลหลายตัวอักษรก็จะใช้เวลาที่นาน   ...

การวัดแรงดันไฟฟ้าด้วย ADC ใน Arduino

การวัดแรงดันไฟฟ้าด้วย ADC  ใน Arduino

   Microcontroller นั้นในการทำงานใน Register ADC นั้นจะเทียบสัญญาณจากแรงดันไฟฟ้าเป็นหลักในระดับ Bit  ถ้าตัวอุปกรณ์ หรือ Module ส่งสัญญาณไฟฟ้าออกมาเป็น 0V - VCC ก็สามารถนำมาต่อใช้งานได้เลย แต่ถ้าเมื่อไหร อุปกรณ์หรือ module นั้นส่งสัญญาณออกมาน้อยหรือมากจนเกินไปก็ต้องหาวงจรลดหรือขยายมาต่อเพิ่ม
แต่ถ้าเป็นในรูปแบบอื่นเช่น ที่เคยพบคือออกมาเป็นกระแสไฟฟ้า ก็ควรที่จะแปลงเป็นแรงดันก่อน
จากวงจรแบ่งแรงดัน ( Voltage Dividers )   และได้ทำการคำนวณออกมาดังนี้

วัดได้สูงสุด 20 V จะได้ว่า
R1 = 30k, R2 = 10k ตัวคูณที่ใช้คำนวณ 4

วัดได้สูงสุด 30 V จะได้ว่า
R1 = 10k, R2=2k ตัวคูณที่ใช้คำนวณ 6

วัดได้สูงสุด 50 V จะได้ว่า
R1 = 18k, R2=2k ตัวคูณที่ใช้คำนวณ 10

วัดได้สูงสุด 100 V จะได้ว่า
R1 = 820k, R2=43k ตัวคูณที่ใช้คำนวณ 20

วัดได้สูงสุด 250 V จะได้ว่า
R1 = 330k, R2=6.8k ตัวคูณที่ใช้คำนวณ 50



การคิดค่าตัวคูณคือ
ค่าตัวคูณ = ค่าสูงสุดที่ต้องการวัด / ค่าสูงสุด ADC

       หมายเหตุ  ค่าสูง ADC ดูที่การจ่าย AVcc ว่าจ่ายไว้เท่าไหรนะครับ
                         ในการคำนวน Voltage Dividers ให้ทำการกำหนด R2 ขึ้นมาเองนะครับ หรือจะหาแบบคำนวนให้                               จาก Web ก็ได้
วงจรที่ต่อกลับ Arduino 

ในการเขียน code เพื่ออ่านค่า ADC นั้นก็ให้ทำการอ่านหลาย ๆ  ครั้ง ประมาณ 200 ครั้ง แล้วหารด้วยจำนวนครั้งครับเพื่อให้ได้ค่าที่นิ้งที่สุด แล้วนำไปเข้าสมการดังนี้
 ถ้าเรานำตัวคูณเข้ามาคิดก็จะได้ดังสมการดังต่อไปนี้



ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การโปรแกรม Bootloader ATMEGA2560-16AU (เรื่องวุ้น)

การวัดแรงดันไฟฟ้า AC220V ด้วยหม้อแปลง12VAC / 200 mA