สารบัญ:
วีดีโอ: เกจวัดแรงดันเสมือน ตอนที่ 2: 4 ขั้นตอน
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
โปรเจ็กต์นี้เป็นส่วนที่สองของโปรเจ็กต์ที่ฉันทำไว้ก่อนหน้านี้ ในส่วนแรก ฉันได้ออกแบบเกจวัดแรงดันเสมือนที่สามารถควบคุมได้ด้วยปุ่มขึ้นและลงบนแป้นพิมพ์คอมพิวเตอร์ของคุณ ดูเกจวัดแรงดันเสมือน Part1
คราวนี้เราจะควบคุมมาตรวัดด้วยโพเทนชิออมิเตอร์ โดยทั่วไปสิ่งที่เกิดขึ้นคือ: โพเทนชิออมิเตอร์จะเปลี่ยนการอ่านแรงดันไฟฟ้าที่พอร์ต A0 (พอร์ตอะนาล็อกของ Arduino) การอ่านค่าแรงดันไฟฟ้าแต่ละครั้งจะสอดคล้องกับค่าดิจิตอลระหว่าง 0 ถึง 1023 ไบต์ ค่าดิจิตอลที่สอดคล้องกันจะถูกส่งไปยังคอมพิวเตอร์ผ่านพอร์ตอนุกรม ภาพร่างการประมวลผลจะอ่านค่าจากพอร์ตอนุกรมและจะแปลงเป็นค่ามุม ซึ่งจะเป็นมุมที่เข็มจะหมุนไป
นี่เป็นโครงการที่ยอดเยี่ยม ค่อนข้างสนุก และทำง่ายมาก
สนุก.
เสบียง
- 1 x คอมพิวเตอร์ (พร้อมการประมวลผลและติดตั้ง Arduino IDE)
- 10k x โพเทนชิออมิเตอร์
- 1 x Arduino Uno พร้อมสาย USB
ขั้นตอนที่ 1: ขั้นตอนที่ 1: วงจรโพเทนชิออมิเตอร์กับ Arduino
วงจรโพเทนชิออมิเตอร์เป็นวงจรที่ตรงไปตรงมามาก:
- 1 พินเชื่อมต่อกับแหล่งพลังงาน
- อีกพินเชื่อมต่อกับกราวด์และพินกลางเชื่อมต่อกับ A0 ของ Arduino
ขั้นตอนที่ 2: ขั้นตอนที่ 3: การเขียน Arduino Sketch และโหลดไปยัง Uno
นี่เป็นภาพร่างที่เรียบง่ายและตรงไปตรงมา
ค่าแรงดันไฟฟ้าถูกส่งไปยังพอร์ต A0 คำสั่ง analogRead จะให้ค่าระหว่าง 0 ถึง 1023 ไบต์
เนื่องจากโมดูล Serial ใน IDE การประมวลผลสามารถอ่านค่าได้ตั้งแต่ 0 ถึง 255 เท่านั้น เราจึงต้องหารค่าจาก analogRead ด้วย 4
นี่คือเหตุผลที่เรามีคำสั่งนี้:
"data = analogRead (แรงดันพิน)/4;"
ขั้นตอนที่ 3: ขั้นตอนที่ 3: การเขียนซอฟต์แวร์เกจเสมือน
ภาพสเก็ตช์นี้เป็นเวอร์ชันดัดแปลงของส่วนที่ 1 แบบร่างตรง โดยพื้นฐานแล้ว สิ่งที่เกิดขึ้นในภาพร่างนี้คือ IDE กำลังอ่านค่าจากพอร์ตอนุกรม ค่านี้จะถูกแปลงเป็นค่ามุมระหว่าง 0 ถึง 1.5PI เรเดียน
มุม = แผนที่(val, 255, 0, 0, 1.5*PI);
มุม 0 สอดคล้องกับความดัน 0 และมุม 1.5 PI สอดคล้องกับความดันสูงสุด
สิ่งสำคัญอย่างหนึ่งที่ต้องจำไว้คือคุณต้องรู้ก่อนว่าพอร์ตใดที่ Arduino เชื่อมต่ออยู่ คุณสามารถรับข้อมูลนี้จาก Arduino IDE ในโครงการนี้ Arduino เชื่อมต่อใน "COM6"
บรรทัดที่ 5 ในการประมวลผล IDE แสดง:
สตริง portName = Serial.list()[2];