Arduino - matrisskrivare LED TV skriva



1. mål

Uppnå en penna som skriver om matris-skärm.

2. krets analys
Matrisskrivare skärmen handskrift består av tre huvuddelar: raden scanning krets, kolumn scanning krets visas, ljuspenna identifiering krets, blockdiagram nedan. Ljuspenna används häri installerade inuti en ljuskänslig sensor för att upptäcka tillståndet för punkterna som galler. Enligt följande:

(1) line scan i sin tur aktiverar dekoder Y0, Y1... effektiv, medan effektiva 74ls138 utgång är låg, men vi använder är gemensam anod matrisskrivare skärm, så det måste vara negeras, design använder PNP transistor förnekas. Varje åtta kolumn skanning skanna en gång.

(2) kolumn scanning i sin tur aktiverar dekoder Y0, Y1... effektiv och PWM styrsignalen på OE1, när OE1 är hög Y0 ~ Y7 är i hög nivå, när OE1 är låg, produktionen av dekodern ABC beslutas av tre stiften. Invald i rad kollade vi i sin tur Y0, Y1... och ljusstyrkan i varje LED lampa av OE1 förordning.

(3) ljus penna fick komparator Invertera input i referens spänning inställning och ljus penna ljus när den inverterade ingången av inspänningen är mindre än detta värde, när ljus penna inte tar emot ljuset när den inverterade ingången av inspänningen är större än detta värde när ett visst värde. När ljus penna inte tar emot är ljuset genom den nuvarande R3 mycket liten, så indata till den motsvarigheten Invertera inspänning nära matningsspänningen, då komparator produktionen är hög, när lampan ljus penna fick genom nuvarande kommer att öka i R3 stora, spänningen över R3 kommer att öka, så att indata till den motsvarigheten Invertera inspänning reduceras , då komparator produktionen är låg, då mikrokontroller kan fånga denna förändring och sedan göra lämplig behandling.

3. programmet analys

För att upptäcka väven punkt på vi måste belysa LED på gallret, och det är mikro-ljus skick, när stroke träffar en punkt av ljus, sätta denna fråga att lyfta fram. Så hur vet vi koordinaterna för denna punkt att tända det? Principen är denna: lampan är tänd ett, först den första raden i först, sedan den första raden i andra,..., första raden till den sista och sedan gå till den andra raden i först, cykeln LED upplysta sekventiellt och varje LED ange statusen, såsom värdet noll anger en mikro-ljus , 1 representant betonade. När den lätta hit med en punkt om det inte är vänden av detta LED lyser, ljuset inte upptäcka ljus penna ljuspenna så att produktionen hålls hög, de LED-lamporna vänder sig till när lit eftersom det ljus som utsänds från LED pennan ljus, utgång ljus penna från hög till låg , när enheten upptäcker denna nivå ändra tillträds den avbryta sekvensen, och få den aktuella raden, kolumnvärden, och genom raderna, kolumner, ändra värdet på denna punkt statusvärdet är 1, så att nästa gång det var när denna lilla bit av ljus på detta genom att döma statusvärdet är inställd att markera formen. tillstånd. När skanningshastigheten såg vi hela matris-skärmen är lyste upp, och i stället för ett lit.

Referensmetod är följande:

#include
#define COL 1

#define rad 2

int col = 0; Markera den aktuella skannade raden

int rad = 0; Markera kolumnen aktuella skannade

int ledState [8] [8]. Markera aktuell LED status

/ * haveUpdate används för att eliminera ljus penna jitter, när den förvärvade ljuspenna signal fallande kant när data uppdateras, * och flaggan är inställd på 1 anger att data har uppdaterats, och sedan öppna timern på nästa klimat jitter * eftersom data har uppdaterats till försummelsen av jitter, när den vanliga då och då att åter-ställa denna flagga är 0 * /

int haveUpdate = 0;

void setup()

{

MEMSET (ledState, 0, sizeof(ledState)); Alla statusvärden avmarkeras.

initPort(); Port initiering

TCCR2A = _BV(COM2A0) | _BV(COM2B1) | _BV(WGM21) | _BV(WGM20);

TCCR2B = _BV(WGM22) | _BV(CS20); Odelade

OCR2A = 100;

OCR2B = 99. Månadskapacitet på 99%

attachInterrupt (0, externInterrupt, faller); //Set externa avbryta fallande kant avbrott

CLI(); Stäng alla avbrott

TCCR1A = 0; Register A konfigurerad PWM, vi använder bara timerfunktionen

TCCR1B = (1 < TCNT1 = 0xFE79; //Counter initialvärde, 25ms timer

TIMSK1 = 0; Nära Overflow

SEI(); Öppna globala avbrott

} ISR(TIMER1_OVF_vect) {//Timer avbrottstjänstens rutin

TIMSK1 = 0; Nära aktivera overflow avbrott

haveUpdate = 0; Återställa flagga

}

void loop()

{

Scan(); Cykliska scan

}

void externInterrupt() //External avbrottstjänstens rutin

{

IF(haveUpdate == 0)

{

ledState [rad] [col] = 1; Beroende på vilket av rad- och kolumnetiketter som upptäcks peka

haveUpdate = 1;

TCNT1 = 0XFE79; Räknaren initialvärde, 25ms timer

TIMSK1 =(1< 0)

OCR2B = 1;

annat

OCR2B = 98.

delayMicroseconds(300);

OCR2B = 98.

}

}

}

Skivor från PCBWay, och mer om elektronik på http://e-gather.ui3g.com/.

Relaterade Ämnen

Med en matrisskrivare LED med en Arduino och SKIFT registrera

The Siemens DLO7135 Dot matrix LED är en fantastisk optoelektronik. Det har faktureras som en 5 x 7 matrisskrivare Intelligent Display (r) med minne/dekoder/Driver. Tillsammans med detta minne, den har en 96-teckens ASCII-display set med övre och små...

DIY Arduino matrisskrivare armbandsur

Handleden klockor är fantastiska och fancy mode accessoarer för män och kvinnor. Beslutsfattare vilja alltid använda något annat. Min diy arduino matrisskrivare armbandsur är slutresultatet efter en månad. Klockan visar tid, datum och temperatur i tv...

Arduino-powered LED klocka

En rolig, enkel LED-klocka, som ger dig tiden till den närmaste halvtimmen med hjälp av enfärgade lysdioder. Delar som behövs är följande:Arduino Nano400 tie-punkt skärbrädaBandkabelDS1307 RTC IC32.768 kHz Crystal(12) 10mm lysdioder(12) 180 Ohm motst...

Arduino ADK LED belysning

har du någonsin velat styra elektronik med din smartphone? Arduino ADK (Android Development Kit) är den Arduino Mega med en inbyggd USB värd enhet, redo för din smartphone till vara inkopplad! Vi gör en enkel inledande projekt med några LED strips oc...

Enorma Arduino Animatronic LED ögongloben

Jag är för närvarande håller på att göra en Halloween grej som har några komponenter som är värt att dokumentera. Enorma Arduino Animatronic LED ögongloben är en av dem.BakgrundDe flesta animatronic ögongloben projekt som jag hittade var mer eller mi...

Arduino RGB LED lampa + 4 bitars LCD-skärm

detta är min första instructable!!! Yay...Innan jag fortsätter. Jag inte gå in på Detaljer för hur man skär trä, eller pussla ihop allt. Jag freestyled hela byggprocessen, vilken kom att tänka på är vad jag reproduceras. Poängen med detta instructabl...

Arduino-programmerbar LED Infinity Mirror

Är du trött på att titta på rummet element som förefaller ha ändliga djup?Kanske bör du överväga att bygga ditt eget Arduino-programmerbar LED Infinity spegel!Denna synvilla är ett blickfång och erbjuder massor av utrymme för anpassning och cool prog...

Arduino rgb led watch

RGB ledde arduino klockaatt tala om tid kanske du frågar?ljusa mörkblå är timvisarenljusblå är minutvisarenvit är den andra handensvagt blå är den 1/12 andra hand för extra uppmärksamhet greppa men kan också ändras i koden.video och koden kommer att...

#10 Arduino och LED 7-segment visar med hjälp av en MAX7219 - del 2

När vi lämnade föregående video i denna serie (#9 Arduino och LED 7-segment visar) vi bara röra om tekniska detaljer.Så batten ner din intellektuella luckor som vi dyka huvudstupa in i MAX7219 datablad och dekryptera adressen register och ta reda på...

Interaktiva Arduino Powered LED skidor

Trött på det tråkiga svart i Kvällsskidåkning? Frukta inte! Arduino programmerbara interaktiva LED skidor kommer att lysa upp din kväll.Dessa hem byggt skidor har lysdioder inbäddade under p-tex och underlakan. Arduino och accelerometer styr lamporna...

Arduino-Android LED styr med hjälp av Ethernet Shield

saker du behöver:hårdvara:Arduino UnoEthernet-ShieldLED 2 st.Resistorer 2st.Breadboard(optional)ledningar (koppar, Ethernet-kabel)RouteranslutaLED 1--> stift 6 till markenLED 2--> stift 7 till markenprogramvara:Eclipse IDEArduino IDE 1.x.xSteg 1: Pr...

Arduino kontrollerad LED lysrör anslagstavla

jag började detta projekt ungefär en månad sedan, när jag bestämde mig att göra något speciellt och unikt för min flickvän i julklapp. Jag ville inte att det är något som skulle bryta banken (~ $50) och vara lätt att konstruera med hjälp av ett mycke...

Arduino UV LED PCB exponering Box

här är bilder från min UV LED PCB exponering låda, jag gjorde det eftersom jag var inte att ha mycket tur med "Tryck på n Peel" framställningsmetoden PCB och väl det lät som ett coolt projekt.Jag gjorde det av följande: e men det har inte någon...

Älskling, jag krympte Arduino: flytta från Arduino till ATtiny och skriva din kod i ren AVR-C

Arduino är en stor hård- och mjukvaruplattform, men med alla dess funktioner är det också lite uppsvälld och ofta behöver du bara en liten del av alla funktioner. Projektet kräver ibland för att ha mindre och billigare enheter. Vad du behöver är ATti...

ARDUINO UNO LED CUBE dansande ljus

låt oss se hur man gör dansande ljus LED kuben med din arduino uno.För detta projekt arduino uno är must och 64 leds du behöver för ditt färgval.Jag har använt blue LED för detta projekt.Du måste löda alla 64 ledde lager av lager men som skulle vara...

Arduino matrisskrivare spelkonsol

Smart telefon & iPad gaming är stor och all kärlek Candy Crush & arga fåglar, men inget kan röra charmen i att göra en spelkonsol av egna och leka med den. Det var 2003 när jag fick en Nokia 3310 mobiltelefon och jag brukade spela Snake spel för N...

Arduino rytm LED belysning speldosa

I detta projekt kommer jag visa dig hur man gör ditt eget Arduino (baserat) rytm LED belysning speldosa,Kretsen använder ATtiny45 mikro-controller och du kommer att kunna programmera det med Codebender - online Arduino ide - genom att använda Arduino...

Arduino RGB LED Strip Controller

Jag var nyfiken på använda RGB LED Strip, så jag fick en och beslöt att göra en liten kontroller för att se vad jag kan göra med den... så här är det.Om du har några frågor, kommentarer, konstruktiv kritik... tveka inte att skriva :)Om du gillar min...

Komma igång med Arduino - blinkande LED

I den här guiden går vi dig genom steg som ingår i att få ditt första arduino projekt upp och kör.Steg 1: Bygga din krets För detta projekt behöver du en Light Emitting Diod (LED)Några lysdioder kan användas på egen hand, andra kräver ett motstånd at...