Skapa ett charlieplexed LED rutnät att köra på ATTiny85 (4 / 5 steg)

Steg 4: Charlieplexing i programvara - Visa en bild



Nästa i vår kod-byggnaden resa vi kommer att inrätta ett 4 x 5 rutnät i minnet. Genom att ändra värdena i rutnätet och sedan köra en draw rutin, visas vår bild i LED-lampor.

Här ska vi ställa in vår variabel att hålla 20 värdena (pixlar) för vår LED-bild. Standard visas nedan (alla 0). Detta skulle visas som en mörk bild, med alla lysdioder avstängd, men vi kan ändra detta i programvaran.

char led_grid [20] = {
000, 000, 000, 000, 000,
000, 000, 000, 000, 000,
000, 000, 000, 000, 000,
000, 000, 000, 000, 000
};

Jag också så att denna variabel till butiken mer än bara 1 och 0 är, men större siffror. Jag vill göra min LED dimmer ibland. Så jag har beslutat för detta projekt värdet 100 kommer att vara full ljusstyrka och 0 kommer att vara avstängd.

Följande funktion kommer att loopa igenom alla 20 positioner i led_grid och om värdet av varje pixel är över noll, lämpliga lysdioden tänds. Eftersom du kan bara tända en LED i taget, måste bilden vara åter dras hela tiden, och tillräckligt snabbt för att du inte märker blinkande/flimmer med ögonen. Normalt är detta inte ett problem med de hastigheter som du kan köra på en mikrokontroller.

void draw_frame(void) {
char ledde, bright_val, b;
för (ledde = 0; ledde < = 19; ledde ++) {
programvara PWM
bright_val = led_grid [ledde];
för (b = 0; b < bright_val; b + = 4) {light_led(led);} //delay samtidigt på
för (b = bright_val; b < 100; b + = 4) {leds_off();} //delay medan off
}
}

Se Steg
Relaterade Ämnen

Adafruit Huzzah 42 Charlieplex LED grid

Vad gör vi?Vi ska skapa en kontrollerbar 6 x 7 LED rutnät med minimal komponenter.CharlieplexingCharlieplexing är en metod att individuellt styra mer lysdioder än stift används. Denna metod är populära eftersom det inte kräver någon ytterligare kompo...

Skapa Ms Access databasprogram för att förbereda lön i företaget

jag skapade en liten databasprogram skapa månadslöner och skriva ut lönebesked lätt.Detta sätt kan du hålla beräkna månatliga lön poster får betala ark övertid bara fylla viktigaste grundläggande data.utan att behöva installera särskild programvara,...

Charlieplexed Arduino 8 x 8 LED rutnät Display sköld gjorde och simuleras i 123D kretsar

redigera: Wow, detta vann ett fantastiskt pris! Många Tack killar!Charlieplexing (http://wealoneonearth.blogspot.nl/2013/03/design-note-charlieplexing-led-matrices.html) är en kraftfull metod för att driva ett stort antal lysdioder från en relativt l...

Att skapa ett universitet Monument och replika brons

2008, min far och jag fick i uppdrag att skapa en 14' höga monument av en cougar maskot för Washington State University. Vi har också skapat tre mindre storlek brons repliker av monumentet att sälja till alumni och fans.I detta instructable jag komme...

MicroController handledning del 10: Att skapa ett spel (knappen spelet)

Nu är vi beredda att tillämpa vad vi vet och göra en verklig spel. Spelet kommer att bestå av ett par knappar och två uppsättningar av lysdioder (2 rader av 7). Målet med spelet är att se som mellan två människor kan driva deras knappen flest gånger...

Början Microcontrollers del 2: Att skapa ett SPI gränssnitt från programmeraren till mikrokontroller

Hej, hoppas vi du gillade del 1 av början Microcontrollers. Vi ska flytta i del 2 och börja prata om gränssnitt och hur du får din microcontroller att kommunicera med en dator.Så, vid denna punkt, du bör känna till begreppet mikrokontroller (MCU). Du...

Att skapa ett hem automationssystem!

Här är hur automatiserat jag mitt hem. Jag behövde ett sätt att;-Hantera min solenergi system inklusive möjligheten att byta till/från verktyget leverans bör jag behöver det.-hantera mat och vatten till mina tre hundar.-Kontrollera utomhusbelysning.-...

Att skapa ett webbformulär i Wolfram språk

Detta är en övning att skapa ett webbformulär med Wolfram språk. Men förklaringen är använder ett exempel, "energieffektivitet Calculator", kan vi använda de funktioner som används för att skapa någon typ av webbformuläret.För att göra detta, må...

Guide till att skapa ett Storyboard

detta instructable är en guide på hur man skapar en storyboard. Detta är en ganska enkel process, och allt som krävs är lite kul och fantasi. Det finns många metoder för att skapa ett storyboard, men detta instructable visar bara två av dessa. En är...

Att skapa ett PEPPARKAKSHUS från en en ram.

förvandla en en ram till något lite sötare. Barn älskar våra pepparkakshus och julen är mycket roligare.1, vi målade pråm styrelser en Pepparkaka brun, sedan, handmålade vita hjärtan, vi skär ut större hjärtan ur Marina spel, och bifogas de övre hörn...

Att skapa ett upprepande enheten armband

Instructable för att skapa ett upprepande enheten armband:Material:-akryl blad i olika färger (och tjocklekar, om du gillar)-18 gauge aluminium tråd (eller sterling silver om du vill att det ska hålla längre-det är dyrare och lite svårare att arbeta...

3 sätt att skapa ett Virus

jag vet att detta kommer att vara kontroversiell. Detta är endast för informationsändamål. INTE sprida eller släppa de virus som skapats i denna artikel. Detta kommer att landa du i fängelse. Jag ska lära dig att skapa ett virus. En mycket grundlägga...

Skapa ett Apple-ID (utan att du behöver ett kreditkort)

I detta instructable vi ska sätta upp ett nytt Apple-ID. Du kan följa dessa anvisningar för att skapa en fri Apple-ID utan att du behöver ett kreditkort. Du kan även följa dessa riktningar för att ställa in ett Apple-ID om du inte har en e-postadress...

Arduino digitalklocka (med Charlieplexing LED, 7 segmenterar skärmar)

detta är min andra instructable. Jag hade bara en stämning av att göra en digital klocka. Men ville göra det en lärandeprocess. jag redan hade en sanguino jag kunde lätt ha använt det Atmega644 chip. Det skulle ha varit mer än tillräckligt. Men jag v...

Grunderna i förvandlar ditt Remote Controll fordon till ett autonomt System (Drone) genom att använda en Arduino

jag började detta projekt med målet att billigt vrida min RC helikopter till något av en UAV eller åtminstone att passa vissa sensorer att minska kollisioner och andra "mis haps."Nu är tyvärr i början av projektet missbedömde jag min lilla helik...

Ett enkelt protokoll för att göra (II, III) järnoxid (magnetit)

Hej.I min första Instructable kommer jag att beskriva syntesen av (II, III) järnoxid (magnetit).(II, III) järnoxid är en förening som ställer ut ferrimagnetism. Det har många användningsområden och många av dem är som beskrivs på Internet, några av d...

Spektrometern/LED-matris med Charlieplexed LED

I detta instructable vi konstruera en mängd leds som sedan kan kontrolleras med en Arduino, eller några andra AVR baserat mikrokontroller, eller Raspberry Pi eller vad du vill. Vi helt enkelt bygga verktyget här och du kan tillämpa det som du önskar....

GlueMiser, ett mycket enkelt sätt att undvika fast lim munstycken, bortkastade flaskor osv!

jag gör en hel del od träslöjd, och när du vill ha en anständig bond, det bästa sättet är ofta PVA tillämpas på ett väl skära gemensamt, som spänns hårt tills det är torrt, varefter limmet kommer oftast överträffar den trä, dvs, om testade till först...

Skapa ett Program i Visual Basic: webbläsare

detta Instructable förklarar processen att skapa en enkel webbapplikation webbläsare i VB.NETDen är utformad som en uppföljning till mitt första VB.NET Instructable: skapa din första Program i Visual Basic. Det rekommenderas att du läst igenom det in...