Arduino ir 7 segmentų LED indikatorius 2015.11.25 at 11:56
Pats LED indikatorius ELF-512GWA išluptas seniai, iš kažkokio šroto, net pats nepamenu. Toks, nei panaudot, nei išmest, tai sugalvojau prijungt prie Arduino. Schema labai paprasta, bendri anodai/katodai prie A1, A2, A3 ir A4 (čia keturių skaičių indikatorius). O 7 segmentai prie 2, 3, 4, 5, 6, 7, 8, 9. Visa esmė čia programoje. Internete labai daug pavyzdžių, gerų ir nelabai. Pabandžiau keletą bibliotekų ir labiausiai patiko PrintTo7Seg. Programėlė:
#include "PrintTo7Seg.h" // Įėjimai //Išėjimai byte numOfDigits = 4; // Kelių skaičių indikatorius byte digPins[] = {A1, A2, A3, A4 }; // Bendri kontaktai (anodas arba katodas) // segmentPins = Dp, A, B, C, D, E, F, G // Segmentų pinų map'as byte ledPins[] = {7, 8, 9, 2, 3, 4, 5, 6}; // Segmentų pajungimas // Nustatymai PrintTo7Seg Seg7(numOfDigits, digPins, ledPins, COMMON_CATHODE); // Arba anodas, pagal indikatorių void setup() { Seg7.autoscroll(); // Atomatinis kursoriaus pastūmimas } // čia reikalingas, nes rašyti pradedu į // paskutinį (4) LED indikatorių void loop() { for (int skaicius = 0; skaicius <= 9999; skaicius++) { Seg7.clear(); // Išvalom seną informaciją Seg7.setCursor(3); // Nustatom kursorių į 4 indikatorių (0, 1, 2, 3) Seg7.print(skaicius); // Rašom einamąjį skaičių delay(10); // Trumpa pauzė } }
Dar papildomai yra keletas komandų:
setLed(location, led, state);
setDot(location, state);
setDigit(location, data);
getDigit(location);
setCursor(location);
autoscroll(void);
noAutoscroll(void);
clear(void);
home(void);
scrollDisplayLeft(void);
scrollDisplayRight(void);
Print();
O tu nenori stiprintuvo pakrapstyt ir idet cia aprasyma? 🙂