![ทำโวลต์มิเตอร์ Arduino: 5 ขั้นตอน ทำโวลต์มิเตอร์ Arduino: 5 ขั้นตอน](https://img.gwsigeps.com/img/circuits/digital-voltmeter-using-arduino-3.jpg)
สารบัญ:
- วัสดุ:
- ขั้นตอนที่ 1: สร้าง Arduino Voltmeter
- ขั้นตอนที่ 2: รายการอะไหล่:
- ขั้นตอนที่ 3: ตรรกะเบื้องหลัง:
- ขั้นตอนที่ 4: เชื่อมต่อทุกอย่างเข้าด้วยกัน
- ขั้นตอนที่ 5: รหัส
นี่เป็นโครงการที่ง่ายมากสำหรับผู้เริ่มต้นไมโครคอนโทรลเลอร์
บอร์ดที่ฉันใช้ในบทช่วยสอนนี้คือ Arduino Uno (R3) แต่คุณสามารถใช้บอร์ดใดก็ได้ที่มีการเปลี่ยนแปลงเล็กน้อยในโค้ด (หรือไม่มีการเปลี่ยนแปลงเลย!)
โชคดี!
วัสดุ:
ขั้นตอนที่ 1: สร้าง Arduino Voltmeter
นี่เป็นโครงการที่ง่ายมากสำหรับผู้เริ่มต้นไมโครคอนโทรลเลอร์
บอร์ดที่ฉันใช้ในบทช่วยสอนนี้คือ Arduino Uno (R3) แต่คุณสามารถใช้บอร์ดใดก็ได้ที่มีการเปลี่ยนแปลงเล็กน้อยในโค้ด (หรือไม่มีการเปลี่ยนแปลงเลย!)
โชคดี!
ขั้นตอนที่ 2: รายการอะไหล่:
- บอร์ด Arduino
- พีซีที่มี Arduino IDE
- ไฟ LED 5 ดวง (Light Emitting DIODE)
- ตัวต้านทาน 5 ตัว (ประมาณ300Ωคุณไม่จำเป็นต้องแม่นยำมากที่นี่)
- โพเทนชิออมิเตอร์ (ค่าไม่สำคัญคุณจะใช้เพื่อจำลองการเปลี่ยนแปลงแรงดันไฟฟ้าเท่านั้น)
- สายจัมเปอร์
- เขียงหั่นขนม
- และความรู้การเขียนโปรแกรมพื้นฐาน
ขั้นตอนที่ 3: ตรรกะเบื้องหลัง:
แต่ละ LED แสดงถึง 1 โวลต์, โพเทนชิออมิเตอร์ใช้เป็น "โหลด" ปลอมโปรแกรมง่ายมากเพียงแค่กำหนด "ช่องว่าง" ระหว่างโวลต์แต่ละครั้งและใช้ถ้าลูปเพื่อให้ไฟ LED เปิด / ปิด
ขั้นตอนที่ 4: เชื่อมต่อทุกอย่างเข้าด้วยกัน
ใช้ภาพเป็นแนวทาง (ฉันใช้พิน 2-6 สำหรับ LEDs และ A0 สำหรับโพเทนชิออมิเตอร์และฉันใช้รหัสเดียวกันในรหัสดังนั้นเปลี่ยนหากจำเป็น)
อย่าลืมเชื่อมต่อ GND กับไฟ LED ด้วย !!!(ขออภัยฉันพลาดไปในขณะที่ทำรูปนี้)
ขั้นตอนที่ 5: รหัส
// ฉันจะทิ้งโค้ดทั้งหมดในส่วนด้านล่าง
// โค้ดดูยาวไปหน่อย แต่ก็ไม่ได้
//สนุก
// ตรวจสอบค่าด้วยมัลติมิเตอร์, ค่อนข้างแม่นยำนะฮะ
// ตอนนี้คุณมีรหัสเล่นกับมันเปลี่ยนให้ดีขึ้นเพิ่มเสียงกริ่งหรือ sh * t สนุกกับมัน
// รหัสนี้เป็นโอเพ่นซอร์ส แต่โปรดเก็บบรรทัดสุดท้ายไว้ (ความคิดเห็น) int pot = A0;
int gled0 = 2; // LED ทั้งหมดเชื่อมต่อกับตัวต้านทาน330Ω int gled1 = 3; int gled2 = 4; int yled0 = 5; int rled0 = 6; การตั้งค่าเป็นโมฆะ () {Serial.begin (9600); pinMode (pot, INPUT); pinMode (gled0, OUTPUT); pinMode (gled1, OUTPUT); pinMode (gled2, OUTPUT); pinMode (yled0, OUTPUT); pinMode (rled0, OUTPUT); digitalWrite (gled0, LOW); digitalWrite (gled1, LOW); digitalWrite (gled2, LOW); digitalWrite (yled0, LOW); digitalWrite (rled0, LOW); } void loop () {Serial.println (analogRead (pot)); ถ้า (analogRead (pot)> = 205) {// 1V digitalWrite (gled0, HIGH); ล่าช้า (4); } if (analogRead (pot)> = 410) {// 2V digitalWrite (gled1, HIGH); ล่าช้า (4); } if (analogRead (pot)> = 615) {// 3V digitalWrite (gled2, HIGH); ล่าช้า (4); } if (analogRead (pot)> = 820) {// 4V digitalWrite (yled0, HIGH); ล่าช้า (4); } if (analogRead (pot)> = 1,023) {// 5V digitalWrite (gled0, HIGH); digitalWrite (gled1, HIGH); digitalWrite (gled2, HIGH); digitalWrite (yled0, HIGH); digitalWrite (rled0, สูง); ล่าช้า (150); digitalWrite (gled0, LOW); digitalWrite (gled1, LOW); digitalWrite (gled2, LOW); digitalWrite (yled0, LOW); digitalWrite (rled0, LOW); ล่าช้า (150); } else {// 0V digitalWrite (gled0, LOW); digitalWrite (gled1, LOW); digitalWrite (gled2, LOW); digitalWrite (yled0, LOW); digitalWrite (rled0, LOW); }} // โดย filip.skalec // ฉันหวังว่าคุณจะชอบการกวดวิชานี้ //