สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ในบทช่วยสอนก่อนหน้านี้ ฉันได้แสดงโพเทนชิออมิเตอร์โดยใช้ RGB ring neo pixels led คุณสามารถดูได้ในบทความนี้ "ตัวบ่งชี้ Potentio ใช้ RGB Neopixel"
และวันนี้ฉันจะแสดงตัวบ่งชี้โพเทนชิเอเตอร์โดยใช้จอแสดงผล LED MAX7219
ทำตามขั้นตอนด้านล่างเพื่อทำ
ขั้นตอนที่ 1: ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น:
- Arduino นาโน
- โพเทนชิออมิเตอร์
- Max7219 Led Matrix Display
- สายจัมเปอร์
- คณะกรรมการโครงการ
- USB มินิ
- แล็ปท็อป
ห้องสมุดที่จำเป็น
LedControl
ขั้นตอนที่ 2: โครงการ
หากต้องการประกอบส่วนประกอบ ดูแผนผังด้านบน คุณสามารถดูข้อมูลด้านล่าง:
Arduino สู่ Led & potentio
+5V ==> VCC & 3. Potentio
GND ==> GND & 1. Potentio
D6 ==> DataIn
D7 ==> CLK
D8 ==> CS / โหลด
ขั้นตอนที่ 3: การเขียนโปรแกรม
ใช้รหัสด้านล่างเพื่อสร้าง ait:
#include "LedControl.h"
/*
ตอนนี้เราต้องการ LedControl เพื่อใช้งาน ***** หมายเลขพินเหล่านี้อาจไม่ทำงานกับฮาร์ดแวร์ของคุณ ***** ขา 6 เชื่อมต่อกับ DataIn ขา 7 เชื่อมต่อกับ CLK ขา 8 เชื่อมต่อกับโหลด เรามี MAX72XX เดียวเท่านั้น */
LedControl lc=LedControl(6, 7, 8, 1);
ล่าช้านานที่ไม่ได้ลงนาม=100;
การตั้งค่าเป็นโมฆะ () {
lc.shutdown(0, เท็จ); lc.setIntensity(0, 8); lc.clearDisplay(0); } วงเป็นโมฆะ () { int val = analogRead (A0); วาล = แผนที่(วาล, 0, 1023, 0, 8);
ถ้า(วาล == 1)
{
lc.setRow(0, 0, B10000000);
}
ถ้า(วาล == 2)
{ lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); } if(val == 3) {
lc.setRow(0, 0, B10000000);
lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); } if(val == 4) {
lc.setRow(0, 0, B10000000);
lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); } if(val == 5) {
lc.setRow(0, 0, B10000000);
lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); lc.setRow(0, 4, B10000000); } if(val == 6) { lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); lc.setRow(0, 4, B10000000); lc.setRow(0, 5, B10000000); } if(val == 7) { lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); lc.setRow(0, 4, B10000000); lc.setRow(0, 5, B10000000); lc.setRow(0, 6, B10000000); } if(val == 8) { lc.setRow(0, 0, B10000000); lc.setRow(0, 1, B10000000); lc.setRow(0, 2, B10000000); lc.setRow(0, 3, B10000000); lc.setRow(0, 4, B10000000); lc.setRow(0, 5, B10000000); lc.setRow(0, 6, B10000000); lc.setRow(0, 7, B10000000); } lc.clearDisplay(0); }
ขั้นตอนที่ 4: ผลลัพธ์
เมื่อตั้งโปรแกรมแล้ว ผลลัพธ์จะเป็นแบบนี้
หากโพเทนชิโอหมุนไปทางขวา ไฟ LED แสดงสดจะตามจำนวนรอบมากขึ้น
หากหม้อหันไปทางซ้าย ไฟ LED แสดงสดจะน้อยลงเรื่อยๆ ตามความสามารถในการหมุน