Multiplexing met Arduino - Transistors (ik maakte het op techshop) (5 / 7 stap)

Stap 5:3 van de 3 LED-Display-voorbeeld


voorbeeldcode:

U kunt zien de afbeelding met de LED's weergegeven dit werd gedaan met behulp van de onderstaande code. De code is ook als een Ino bestand bijgevoegd. De LEDs verlicht zijn ingesteld door de 0x02, 0x05, 0x02. de decimale weergave van de hexadecimale waarden is 00000010,00000101,00000010. U kunt zien hoe deze waarden overeenkomen met de weergave.

Als u wilt proberen dit uit voor jezelf de code is hieronder beschikbaar, enkel exemplaar het circuit vanaf stap 3!

/ * Transistor Multiplexing van 3 x 3 LEDs
Door: Marty Peltz
Datum: 7/19/2013
Doel: Controle 9 LEDs in een patroon van de 3 x 3 met behulp van multiplex.
Gebruikt in Martin Peltz van Instructiable
*/
/ *** variabelen *** /
char col1_cathode = 0;
char col2_cathode = 1;
char col3_cathode = 2;
char row1_anode = 3;
char row2_anode = 4;
char row3_anode = 5;
VOID Setup
{
Set Pins naar uitgangen
pinMode (col1_cathode, OUTPUT);
pinMode (col2_cathode, OUTPUT);
pinMode (col3_cathode, OUTPUT);
pinMode (row1_anode, OUTPUT);
pinMode (row2_anode, OUTPUT);
pinMode (row3_anode, OUTPUT);
uitschakelen van alle GPIO pinnen
digitalWrite (col1_cathode, laag);
digitalWrite (col2_cathode, laag);
digitalWrite (col3_cathode, laag);
digitalWrite (row1_anode, laag);
digitalWrite (row2_anode, laag);
digitalWrite (row3_anode, laag);
}
void loop
{
display_LED(0x02,0x05,0x02);
}
/ *** weergeven LED functie *** /
/ * Doel: deze functie oproepen met de hexadecimale parameter die u wilt weergeven
* Opmerking: Deze functie controleert de kathode, in mijn geval beheersen de kolommen
*/
VOID display_LED (char c1, c2 char char c3)
{
row_anode(C1);                     Oproep row_anode met eerste hexadecimale waarde
digitalWrite (col1_cathode, hoge);    De eerste kolom weergeven
delay(1);                            Een korte vertraging wachten zodat de LED voor 1ms brandt
digitalWrite (col1_cathode, laag);     eerste kolom uitschakelen voordat u verdergaat
row_anode(C2);                     Oproep row_anode met tweede hexadecimale waarde
digitalWrite (col2_cathode, hoge);    De tweede kolom weergeven
delay(1);                            Een korte vertraging wachten zodat de LED voor 1ms brandt
digitalWrite (col2_cathode, laag);     tweede kolom uitschakelen voordat u verdergaat
row_anode(C3);                     Oproep row_anode met tweede hexadecimale waarde
digitalWrite (col3_cathode, hoge);    De derde kolom weergeven
delay(1);                            Een korte vertraging wachten zodat de LED voor 1ms brandt
digitalWrite (col3_cathode, laag);     derde kolom uitschakelen voordat u verdergaat

(Opmerking Wijzig de 1ms tot 100ms - 1s ziet u een verschil)
}
/ *** Kathode (kolommen) functie *** /
/ * Doel: waarde van de paramater nemen en inschakelen van verwante pinnen
* Opmerking: Als gevolg van gebruik van Arduinos digitalWrite moet u de pinnen, instellen
* maar als met behulp van DDRx/PORTx u een hexadecimale waarde in om de pinnen op een poort alleen toepassen kunt.
*/
VOID row_anode(char LEDs_on)
{
if(LEDs_on == 0x00)
{
digitalWrite (row1_anode, laag);
digitalWrite (row2_anode, laag);
digitalWrite (row3_anode, laag);
}
anders if(LEDs_on == 0x01)
{
digitalWrite (row1_anode, hoge);
digitalWrite (row2_anode, laag);
digitalWrite (row3_anode, laag);
}
anders if(LEDs_on == 0x02)
{
digitalWrite (row1_anode, laag);
digitalWrite (row2_anode, hoge);
digitalWrite (row3_anode, laag);
}
anders if(LEDs_on == 0x03)
{
digitalWrite (row1_anode, hoge);
digitalWrite (row2_anode, hoge);
digitalWrite (row3_anode, laag);
}
anders if(LEDs_on == 0x04)
{
digitalWrite (row1_anode, laag);
digitalWrite (row2_anode, laag);
digitalWrite (row3_anode, hoge);
}
anders if(LEDs_on == 0x05)
{
digitalWrite (row1_anode, hoge);
digitalWrite (row2_anode, laag);
digitalWrite (row3_anode, hoge);
}
anders if(LEDs_on == 0x06)
{
digitalWrite (row1_anode, laag);
digitalWrite (row2_anode, hoge);
digitalWrite (row3_anode, hoge);
}
anders if(LEDs_on == 0x07)
{
digitalWrite (row1_anode, hoge);
digitalWrite (row2_anode, hoge);
digitalWrite (row3_anode, hoge);
}
}

Gerelateerde Artikelen

Maken van een rekening houdend met huisvesting met 3D-Printer - ik maakte het op TechShop

Maken van een rekening houdend met huisvesting met 3D-Printer - ik maakte het op TechShop

de volgende is een instructable op het maken van een lagers, moer, enz huisvesting op Techshop. http://www.techshop.WSStap 1:Selecteer en koop een weerslag volgens uw toepassing. Er is verschillende alternatieven op ebay. Ontwerp een behuizing met ee
Arduino aangedreven 7seg led display met poort manipulatie - ik maakte het op TechShop

Arduino aangedreven 7seg led display met poort manipulatie - ik maakte het op TechShop

tijd voor iets een beetje meer geavanceerde. Directe haven manipulatie. Normaal gesproken tijdens het gebruik Arduino software, is de werkelijke logica achter het wijzigen van de waarden in de pinnen geabstraheerd weg met digitalRead en digitalWrite.
Maak een reactionaire, beschaafde sculptuur met 123D maken-ik maakte het op TechShop

Maak een reactionaire, beschaafde sculptuur met 123D maken-ik maakte het op TechShop

dit instructable leert u hoe maak je een klein beeld van een man die een eenvoudige melodie wordt afgespeeld wanneer u zijn hoed verwijdert. Ik gebruik vaak 123D maken voor projecten en ik vinden van verschillende manieren om te maken gebruik van. Di
Bootloading en montage Arduino Atmega328 - ik maakte het op TechShop

Bootloading en montage Arduino Atmega328 - ik maakte het op TechShop

dit Instructable toont hoe bootload en monteer een Atmega328, Atmega328p of Atmega328p-pu voor elk project. Dit is een geweldige manier om geld te besparen door de aankoop van Atmega328 duik pakket microcontrollers in plaats van met behulp van de Ard
ATTiny aangedreven Arduino projecten - ik maakte het op TechShop

ATTiny aangedreven Arduino projecten - ik maakte het op TechShop

Arduino is een geweldig platform. Geen sprake. Maar wat als ik je vertelde dat je zou kunnen je hele board nemen en het comprimeert met klein pakket. En ik bedoel echt klein. De chip in de afbeelding is een ATTiny84, en dat is de grote versie. Dus al
Hoe ik maakte een Smoothie met Power-Protien - ik maakte het op Techshop Detroit!

Hoe ik maakte een Smoothie met Power-Protien - ik maakte het op Techshop Detroit!

http://www.techshop.wsDit kan is een heerlijke snack of zelfs een volledige maaltijd!  Ik hou van dit terwijl ik bezig ben want het is snel, gemakkelijk en me geeft een gek energieboost plus de kracht om te werken voor uren!Stap 1: Verzamel uw materi
Graan patroon Coaster. Ik maakte het op Techshop

Graan patroon Coaster. Ik maakte het op Techshop

Hallo iedereen! Ik maakte een kleine achtbaan en hebben besloten om het te delen met u allen. ik maakte het op TechShop. http://techshop.WS Alle hout zullen doen, maar als u met de hand zijn snijwerk zoals ik het zou behoove u om iets relatief zacht.
Schaduw doos met Splines, ik maakte het op TechShop

Schaduw doos met Splines, ik maakte het op TechShop

Hey iedereen, dit is mijn eerste instructables. Ik maakte deze schaduw in op TechShop. Als uw hout 4s4 is de enige klasse die u zou moeten nemen de hout Basiswinkel SBU. Ga naar meer informatie over TechShop www.techshop.wsStap 1: schaduw doos met Sp
Multiplex onderdelen op een laser cutter te snijden.  Ik maakte het op Techshop

Multiplex onderdelen op een laser cutter te snijden. Ik maakte het op Techshop

het doel van dit instructable is om te beschrijven de instellingen die ik heb gehad succes met in snijden van 1/8" en 3/16" multiplex voor model vliegtuig onderdelen.  Dit is voor het gebruik van 5 laags vliegtuig 1/8" ply en 4 lgs vliegtui
AutoCAD aan Trotec Laser - ik maakte het op TechShop!

AutoCAD aan Trotec Laser - ik maakte het op TechShop!

Als een lid van de Techshop die ik heb gezien veel geweldige ontwerpen gemaakt op de Trotec graveur. Deze projecten omvatten ontwerpen die zowel knippen en geëtst in diverse materialen zoals multiplex, lucite en glas. Na het nemen van een klasse op d
Rubber Band aangedreven Paddle boot.  Ik maakte het op TechShop

Rubber Band aangedreven Paddle boot. Ik maakte het op TechShop

dit is een instructable voor het maken van een klein elastiekje aangedreven peddel boot. Ik schetste het op Autodesk Inventor en een 60 watt Epilog laser cutter gebruikt om de onderdelen te maken. Nogal wat experimenten was vereist om dit soort werk.
Ik maakte het op TechShop Planter

Ik maakte het op TechShop Planter

deze unieke plantenbak is vervaardigd uit ongebruikte, upcycled CD CD-doosjes. Met behulp van de Trotec Laser Cutter aan TechShop-Pittsburgh geëtst ik elk met citaten en grenzen.www.techshop.WSStap 1: Ik maakte het op TechShop Planter Deze plantenbak
Balsa gooien zweefvliegtuig, ik maakte het op TechShop

Balsa gooien zweefvliegtuig, ik maakte het op TechShop

dit is een eenvoudige hand toss zweefvliegtuig gemaakt van de balsa.  Het kan gewoonlijk worden gegooid besproken gooide of door rubberband/bungee katapult.  Het is gemaakt van 1/8" blad balsa.  Dit werd gemaakt als een project om te oefenen van 3D m
Één wiel fiets Trailer - ik maakte het op TechShop

Één wiel fiets Trailer - ik maakte het op TechShop

Enkele montage fiets aanhangwagens zijn commercieel verkrijgbaar, maar kunnen kosten $500 of meer. Deze was samengesteld voor ongeveer $50 in gebruikte onderdelen en een paar uur werk. Ik maakte het op TechShop, en dus kan je!http://www.techshop.WS/S