Tussenliggende Arduino: Ingangen en uitgangen (5 / 9 stap)

Stap 5: Arduino gecontroleerde LED Matrix


Vervolgens zullen we kijken met behulp van de Arduino te controleren van een 8 x 8 LED matrix, een raster van 64 LEDs. De 8 x 8 matrix we gebruiken heeft 16 pins verbindingen: acht pinnen sluit de positieve leads voor alle de LEDs in elke kolom van de matrix, en acht meer pinnen sluit de grond leads voor alle de LEDs in elke rij van de matrix. Dit geeft ons controle naar adres elk individueel geleid. Kijk naar het diagram in de tweede afbeelding hierboven. Beeld dat alle kolommen behalve kolom 8, zijn geaard en die is verbonden (via een huidige beperkende weerstand) 5V. Geen beeld of alle rijen zijn aangesloten op de 5V behalve rij 1, die is aangesloten op de grond. De enige LED die in dit scenario oplichten zal bevindt zich in rij 1 en kolom 1.

De LED-matrix in een breadboard plaatsen, zoals weergegeven in de eerste afbeelding. Gebruik een huidige beperkende weerstand om de kolommen (Zie pin nummering in het tweede beeld) verbinden met 5V en een regelmatige trui draad de rijen verbinden met grond. U ziet de hele LED-scherm oplichten. Nu proberen los te koppelen van een rij van grond en het te verbinden met 5V in plaats daarvan, elke LED in die rij zal uitzetten. Probeer een verbinding van een kolom met grond, elke LED in die kolom zal uitzetten.

Haal nu alle, maar een van de verbindingen van de rij pins op grond, dus slechts één rij van LED's wordt verlicht. In plaats van de kolommen verbinden met 5V, sluit u ze aan de Arduino (nog steeds de huidige beperkende weerstanden in het circuit gezet). Het derde beeld voor een beter idee van hoe dit eruit zou moeten zien. Hier is hoe de kolommen moeten verbinding maken met de Arduino:

kolom 1 - Arduino A0 (analoge pin 0)

kolom 2 - Arduino A1

kolom 3 - Arduino A2

kolom 4 - Arduino A3

kolom 5 - Arduino A4

kolom 6 - Arduino A5

kolom 7 - Arduino D2 (digitale pin 2)

kolom 8 - Arduino D3

Voer de volgende code:

 void setup(){ //set pins A0-A6 as outputs for (int pinNum=A0;pinNum<A6;pinNum++){ pinMode(pinNum, OUTPUT); } //set pins 2 and 3 as outputs for (int pinNum=2;pinNum<4;pinNum++){ pinMode(pinNum, OUTPUT); } } void loop(){ //some arbitrary set of states digitalWrite(A0, HIGH); digitalWrite(A1, LOW); digitalWrite(A2, HIGH); digitalWrite(A3, LOW); digitalWrite(A4, HIGH); digitalWrite(A5, LOW); digitalWrite(2, HIGH); digitalWrite(3, LOW); } 

Het enige wat een beetje vreemd over deze code is dat we analoge pinnen als digitale uitgangen gebruiken, is dit toegestaan door de Arduino. Analoge pinnen kunnen fungeren als digitale inputs en outputs, maar ze hebben de toegevoegde functionaliteit van analoge ingangen ook wordt. We zullen gebruiken veel van de de Arduino pinnen in dit voorbeeld (16 totaal), dus ik moest beginnen met bedrading van enkele van de analoge pinnen. Een ander ding, ik met opzet liet pennen 0 en 1 met niets verbonden aan hen. De Arduino gebruikt deze pinnen om te communiceren via USB, en uw vermogen om te programmeren van de Raad van bestuur remt soms hebben dingen aangesloten op pinnen 0 en 1.

U ziet een patroon van LEDs oplichten in de rij die is aangesloten op de grond. Één LED op, eenmalige, één op één af... en zo verder. Dit patroon is weergegeven in afbeelding #3.

Nu de verbinding op grond te verwijderen uit de matrix LED, en draad van een andere rij op grond. Je ziet hetzelfde patroon in een andere rij (afbeelding #4). We zullen in de volgende stap de Arduino gebruiken om selectief grond elke rij.

Probeer eerst nog een ding, het patroon van op wijzigen en off LEDs, hier is wat ik deed:

 void setup(){ //set pins A0-A6 as outputs for (int pinNum=A0;pinNum<A6;pinNum++){ pinMode(pinNum, OUTPUT); } //set pins 2 and 3 as outputs for (int pinNum=2;pinNum<4;pinNum++){ pinMode(pinNum, OUTPUT); } } void loop(){ //some arbitrary set of different states digitalWrite(A0, LOW); digitalWrite(A1, HIGH); digitalWrite(A2, LOW); digitalWrite(A3, HIGH); digitalWrite(A4, LOW); digitalWrite(A5, HIGH); digitalWrite(2, LOW); digitalWrite(3, HIGH); } 

De uitvoer wordt weergegeven in het laatste beeld hierboven.

Gerelateerde Artikelen

Tussenliggende Arduino: In- en uitgangen

Tussenliggende Arduino: In- en uitgangen

Stap 2: Arduino knop DebouncingVoortzetting van de knop debouncing dat ik in mijn laatste Instructable geïntroduceerd, kunnen we millis() gebruiken om debounce knoppen zonder gebruik te maken van delay(): //Button Press Detection - debounce with mill
Arduino Powered Home

Arduino Powered Home

Ik heb een paar updates in dit instructable sinds Aug 2014 ***Heb ik besloten om deze informatie te delen, zodat het anderen die hebben moeite helpen misschien om soortgelijke dingen met hun Arduino doen. Ik heb pas onlangs gekregen die betrokken zij
Hoe de code Arduinos

Hoe de code Arduinos

Dus ik was op zoek via de help-sectie van de Gemeenschap, toen ik zag sommige mensen waar problemen met de codering Arduinos, dus ik ben waardoor dit om te helpen.Voor dit Instructable moet u:ComputerArduino IDESommige delen van dit kunnen afwijken v
DIY Arduino Remote Control en Lego RC voertuig!

DIY Arduino Remote Control en Lego RC voertuig!

UPDATE (8/29/13): dank u lezers voor uw enthousiasme en soort opmerkingen met betrekking tot dit project! Het is een geweldige reis sinds ik begon dit project terug in maart, maar ik ben erg blij met het resulterende product en de opwinding waarmee h
Multiplexing met Arduino en de 74HC595

Multiplexing met Arduino en de 74HC595

de 74HC595 is een makkelijk en goedkoop (op ongeveer 60 cent per stuk) manier om te verhogen van het aantal digitale uitgang pinnen op je Arduino.  In deze tutorial zal ik u tonen hoe te rijden van maximaal 16 LEDs met een 74HC595 met behulp van een
Een beginnersgids voor Arduino

Een beginnersgids voor Arduino

Na enkele jaren van experimenteren met Arduino, besloten heb ik dat het tijd is om te delen van de kennis die ik heb verworven. Dus ik hier het gaat, een gids voor Arduino, met de blote basisprincipes voor beginners en sommige meer geavanceerde uitle
De klok van de wereld in het Duits met behulp van Arduino

De klok van de wereld in het Duits met behulp van Arduino

Terwijl in Duitsland zag vorig jaar ik een wereld klok in een gelijkaardig aan dit één in een winkel die is geprijsd op 900€ winkel. Ik lees verschillende instructables online over het maken van een klok van de wereld, dus heb ik besloten om het een
Arduino animatronics-Maak uw geweldige kostuums meer awesome!

Arduino animatronics-Maak uw geweldige kostuums meer awesome!

Hier is hoe te het licht, geluid en actie toevoegen aan uw favoriete Halloween-project met behulp van de opensource Arduino microcontroller. Arduino is gemakkelijk te leren te gebruiken en het opent een hele nieuwe wereld voor kostuum bouwers en sche
Arduino RC auto met lange afstand en aangepaste zender.

Arduino RC auto met lange afstand en aangepaste zender.

Hallo! Dit is mijn eerste instructable.Daarin zal ik u tonen hoe te maken van een RC auto met Arduino en de draadloze nrf24l01 +-module, of hoe om te upgraden een goedkope 27 MHz RC auto.De oude RC auto, die van I het chassis, en de heli Controller n
Kloppend hart Candy kom met Arduino

Kloppend hart Candy kom met Arduino

Ik wilde een snoep kom voor trick or treat die eruit zag als een spooky hart sloeg onder de snoep. Ik hoop dat de jongere kinderen vindt het spooky en niet te eng. Ik weet zeker dat de tieners met geen kostuum en een kussensloop zal niet onder de ind
De Idiot's Guide to programmering van AVR op de goedkope (met de Arduino IDE!)

De Idiot's Guide to programmering van AVR op de goedkope (met de Arduino IDE!)

Microcontrollers zijn, zonder twijfel, het verbazen van kleine dingen. Ze zijn veelzijdig, krachtig en zeer klein. De laatste karaktertrek is helaas ook gedeeld door zowel mijn portemonnee en mijn programmering vaardigheden. Mijn begrip van C is slec
Personal Assistant met Telegram & Arduino.

Personal Assistant met Telegram & Arduino.

Hallo mensen!Een paar maanden geleden hoorde ik over een project dat een instant messenger bot gebruikt voor het maken van een systeem dat zou automatisch verwerken en ordenen van pizza's verzendingen door de costumieren via Whats app. Ik was als...
DIY I2C LCD Display met ingangen

DIY I2C LCD Display met ingangen

De typische parallelle LCD gebruikt met een Arduino (16 x 2 of 20 x 4) heeft 16 pinnen. Slechts 6 I/O pinnen zijn vereist op de Arduino, maar wat als je kon krijgen dat tot twee I/O pinnen, en nog steeds hebben die pins beschikbaar voor andere appara
Analoge lijn volgeling upgraden naar Arduino met Attiny85

Analoge lijn volgeling upgraden naar Arduino met Attiny85

SamenvattingIn dit Instructable zullen wij tonen u hoe om te upgraden een goedkope analog lijn volgeling in een intelligente Arduino lijn volgeling door de LM393 comparator IC te vervangen door een intelligente Attiny85 en Arduino sketch.IntroductieL