ทำโวลต์มิเตอร์ Arduino: 5 ขั้นตอน

ทำโวลต์มิเตอร์ Arduino: 5 ขั้นตอน

สารบัญ:

Anonim

นี่เป็นโครงการที่ง่ายมากสำหรับผู้เริ่มต้นไมโครคอนโทรลเลอร์

บอร์ดที่ฉันใช้ในบทช่วยสอนนี้คือ 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 // ฉันหวังว่าคุณจะชอบการกวดวิชานี้ //