Arduino: potentsiindikaator kasutab LED -maatriksit MAX7219: 4 sammu
Arduino: potentsiindikaator kasutab LED -maatriksit MAX7219: 4 sammu
Anonim
Arduino: potentsiindikaator kasutab LED -maatriksit MAX7219
Arduino: potentsiindikaator kasutab LED -maatriksit MAX7219

Eelmises õpetuses tegin potentsiomeetri näidiku, kasutades RGB ring -neopiksleid. näete seda selles artiklis "Potentsiindikaator kasutab RGB neopikselit"

Ja täna näitan potentsiaatori indikaatorit, kasutades MAX7219 led -meetermõõdikut.

Selle tegemiseks järgige alltoodud samme.

Samm: nõutavad komponendid

Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid
Nõutavad komponendid

Nõutavad komponendid:

  • Arduino nano
  • Potentsiomeeter
  • Max7219 LED -maatriksekraan
  • Jumper Wire
  • Projekti juhatus
  • USB mini
  • sülearvuti

Nõutav raamatukogu

LedControl

2. samm: skeem

Skeem
Skeem
Skeem
Skeem
Skeem
Skeem

Komponentide kokkupanekuks vaadake ülaltoodud skemaatilist joonist, samuti saate vaadata järgmist teavet:

Arduino Led & potentio

+5V ==> VCC & 3. Potentio

GND ==> GND & 1. Potentio

D6 ==> DataIn

D7 ==> CLK

D8 ==> CS / koormus

3. samm: programmeerimine

Programmeerimine
Programmeerimine

Selle tegemiseks kasutage allolevat koodi:

#include "LedControl.h"

/*

Nüüd vajame töötamiseks LedControli. ***** Need pin -numbrid teie riistvaraga tõenäoliselt ei tööta ***** pin 6 on ühendatud DataIn -i tihvtiga 7 on ühendatud CLK -i tihvt 8 on ühendatud LOADiga Meil on ainult üks MAX72XX. */

LedControl lc = LedControl (6, 7, 8, 1);

allkirjastamata pikk viivitusaeg = 100;

tühine seadistus () {

lc.sulgemine (0, vale); lc.setIntensity (0, 8); lc.clearDisplay (0); } void loop () {int val = analogRead (A0); val = kaart (val, 0, 1023, 0, 8);

kui (val == 1)

{

lc.setRow (0, 0, B10000000);

}

kui (val == 2)

{lc.setRow (0, 0, B10000000); lc.setRow (0, 1, B10000000); } kui (val == 3) {

lc.setRow (0, 0, B10000000);

lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); } kui (val == 4) {

lc.setRow (0, 0, B10000000);

lc.setRow (0, 1, B10000000); lc.setRow (0, 2, B10000000); lc.setRow (0, 3, B10000000); } kui (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); } kui (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); } kui (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); } kui (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. samm: tulemus

Pärast programmeerimist näevad tulemused välja sellised.

Kui potentsi keeratakse paremale, jälgivad aktiivsed LED -id üha enam pöörete arvu.

Kui potti pööratakse vasakule, jääb aktiivne valgusdiood pöörlemisvõimsusele järjest väiksemaks.