Top 10 artikkelia
On 12 lokakuun, 2021 by adminViime aikoina julkaisimme aloittelevan tason Arduino-projektin, jossa on yksi seitsemän segmentin LED-näyttö. Vaikka se on hämmästyttävä DIY-projekti, huomasimme, että useimmat lukijat etsivät kehittyneempiä piirejä, joissa käytetään useita seitsemän segmentin valodiodinäyttöjä. Tässä on yksinkertainen, mutta hyödyllinen piiri Arduinon 4-numeroisesta 7-segmenttisestä LED-näyttöyksiköstä. Tässä käytetty moduuli on itsenäinen, kompakti yhteiskatodimoduuli, joka sisältää neljä 7-segmenttistä LED-numeronäyttöä.
Näyttömoduulin jokainen segmentti on multipleksoitu, mikä tarkoittaa, että se jakaa samat anodiliitäntäpisteet. Ja jokaisella moduulin neljällä numerolla on oma yhteinen katodiliitäntäpiste. Näin jokainen numero voidaan kytkeä päälle tai pois päältä itsenäisesti. Lisäksi tämä multipleksointitekniikka muuttaa näytön ohjaamiseen tarvittavan massiivisen mikrokontrollerin nastojen määrän vain yhdelletoista tai kahdelletoista (kolmenkymmenenkahden sijaan)!
Näytön LED-segmentit vaativat virranrajoitusvastukset, kun niihin syötetään virtaa 5 V:n logiikkatapista. Vastuksen arvo on tyypillisesti 330 ja 470 ohmin välillä. Lisäksi suositellaan ajotransistoreita antamaan LED-segmenteille lisää ajovirtaa, koska mikrokontrollerin kukin tappi voi lähteä tai nielaista vain lähes 40 mA:n virran. Kun näytön kaikki (seitsemän) segmenttiä kytketään päälle kerralla (numero 8), virran tarve ylittää tämän 40 mA:n rajan. Alla olevassa kuvassa näkyy virranrajoitusvastusten ja ohjaintransistorien peruskytkentäkaavio.
Seuraavaksi on Arduinon 4-numeroisen 7-segmenttisen LED-näytön kytkentäkaavio, jota seuraa Arduino-sketsi. Seuraa huolellisesti kytkentäkaaviota laitteiston loppuunsaattamiseksi,ja lataa sitten luonnos Arduinoon käyttämällä Arduino IDE:tä tavalliseen tapaan. Valmis piiri voi näyttää numeroita, jotka vaihtelevat 0:sta 1023:een, Arduino-levyn analogiatuloon A0 liitetyn 10K esiasetetun potin yhteydessä.
Tämä 4-numeroinen 7-segmenttinäytön osio on kytketty neljän yhteiskatodisen 7-segmenttisen LED-näytön ympärille ja neljään BC547 npn-transistoriin. 1K-vastuksia käytetään perusvirran rajoittamiseen, ja 390R-vastukset rajoittavat LED-näytön segmenttien toimintavirtaa.
Arduino-levyllä digitaalisia lähtöjä D2-D8 käytetään segmenttien (a-g) ohjaamiseen, ja digitaalisia lähtöjä D9-D12 käytetään 4×7 LED-näytön numeroihin (D0-D3). Huomaa, että tässä ei käytetä desimaalipisteen (dp) vaihtoehtoa, mutta se sisältyy luonnokseen. Arduinon D13 on varattu desimaalipistesegmentille. 10K potentiometri on kytketty analogiatuloon AO, kuten kytkentäkaaviossa on osoitettu.
Prototype @ Work
/** Arduino 4x7 LED Display* Displays numbers ranging from 0 through 1023* Test Code displays the value of a sensor connected to the analog input A0* Inspired by a code found in the Arduino Cookbook* Tested at TechNode Protolabz/July 2014*/// bits representing segments A through G (and decimal point) for numerals 0-9const int numeral = { //ABCDEFG /dp B11111100, // 0 B01100000, // 1 B11011010, // 2 B11110010, // 3 B01100110, // 4 B10110110, // 5 B00111110, // 6 B11100000, // 7 B11111110, // 8 B11100110, // 9};// pins for decimal point and each segment// DP,G,F,E,D,C,B,Aconst int segmentPins = { 13,8,7,6,5,4,3,2 };const int nbrDigits= 4; // the number of digits in the LED display//dig 0 1 2 3const int digitPins = { 9,10,11,12 };void setup(){ for(int i=0; i = 0; digit--) { if(number > 0) { showDigit( number % 10, digit) ; number = number / 10; } } }} // Displays given number on a 7-segment display at the given digit positionvoid showDigit( int number, int digit){ digitalWrite( digitPins, HIGH ); for(int segment = 1; segmentShare this:
Vastaa