Premier Hazard led scherm

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Nu online

Damic

Tijd voor Jasmijn thee

Topicstarter
Ik heb van een maat van me een Premier Hazard licht balk mee gekregen waar ook ene led display inzit om teksten te tonen.
Zoiets dus:
Afbeeldingslocatie: https://i.imgur.com/xY1cqYd.jpg

Na wat draden uitzoeken wat wat is heb ik een simpel schema van hoe de aansturing is. Het probleem is ik heb 2 klokken (1 voor de rijen en 1 voor de kolommen) en maar 1 data kanaal. Moest alles gewoon achter elkaar staan kon ik het volledige voorbeeld van de Arduino website gebruiken.

Moest iemand op deze post uitkomen in de toekomst, dit zijn de ader kleuren en wat ze doen
Huls met volgende aders
Dikke zwarte: massa
geel: halogeen links
geel/zwart: halogeen rechts
wit met mantel: flashers = mantel massa, core 12V?
rood (dik): zwaailichten (de motoren zijn alleen maar met de + verbonden)
Blauw en blauw/zwart: niet gebruikt

oranje: +12V led display (zit een regelaar tussen)
grijs: flashers PERSUIT mode
rood/zwart: flashers GROUP 2 (achteraan)

Stekker van het led matrix
Rood:- +5V VCC
Zwart: GND
Oranje: DATA
paars: Strobe
blauw: nc
Wit: Kolom klok
Geel: Output enable
Groen: Rij klok

Stekker van het led matrix

Rood - +5V VCC
Zwart - GND
Oranje - DATA
paars - Strobe
blauw - nc
Wit - Kolom klok
Geel - Output enable
Groen - Rij klok

Led matrix info
Om te beginnen zijn er 10 rijen en 72 kolommen.
Al de binnenkomende lijnen gaan door een MAX209 (+5V, RS-232 Transceivers)
De drivers zijn de UCN5821A

Nu is mijn vraag dus: hoe kun je met maar 1 data lijn en 2 klokken toch iets op het scherm tonen en liefst nog tekst :)

Foto album staat hier: https://imgur.com/a/ooCVNTC

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 27-08 20:49

SA007

Moderator Tweaking
Er zal alleen tussen de MAX209 en de UCN nog een chip zitten, een microcontroller.
Daar staat in wat hij moet doen met de data die hij ontvangt.
Als je geen documentatie kan vinden is een goede eerste stap om 'm gewoon op een pc aan te sluiten en willekeurige karakters te gaan sturen en kijken wat hij doet.
Je hebt best een kans dat als je tekst stuurt hij die gewoon weergeeft zonder klachten bijvoorbeeld.

De UCN5812 is een vrij normaal schuifregister met ingebouwde driver die direct de leds aan kan sturen.
Als je het scherm zelf met een arduino of iets dergelijke wil gaan aansturen moet je maar 's gaan zoeken naar codevoorbeelden met andere schuifregisters.
Bijv de 74hc595, de 4094 en de tpic6c595 werken ruwweg hetzelfde.
Het zal alleen wel een led matrix zijn, dus je doet eerst 1 rij inklokken en aanzetten, dan schakel je naar de rij ernaast, etc, als je dat een ~100x per seconde doet lijkt het een vast beeld te geven, maar eigenlijk staan de rijen maar erg kort aan.

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Nu online

Damic

Tijd voor Jasmijn thee

Topicstarter
@SA007 dank je voor het antwoord, nee de Max209 is gewoon om een stabiel signaal door te geven, geen rs232/rs485, de controller zit buiten de bak.

Ja dat rij per rij in klokken was me al bekend (nog nooit gedaan) maar het probleem zit het in dat ik 2 kloksignalen moet hebben en maar 1 data signaal.

Eens zien of ik iets kan maken.

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 27-08 20:49

SA007

Moderator Tweaking
Hoe dat precies werkt kan ik op deze info niet beoordelen.

Wellicht zit er een counterchipje die automatisch de volgende lijn kiest.
Wellicht zit er ook een schuifregister op die dezelfde datalijn heeft als de kolommen.

Heb je wellicht een foto van de achterkant?

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Nu online

Damic

Tijd voor Jasmijn thee

Topicstarter
Hier een schema ;)
Afbeeldingslocatie: https://i.imgur.com/OQOxVq8.jpg

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • +3 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Nu online

Damic

Tijd voor Jasmijn thee

Topicstarter
Succes, na een aantal dagen
Afbeeldingslocatie: https://i.imgur.com/8H9Ywmb.jpg

*code verwijderd zie code onderaan*

Nu nog uitvogelen hoe ik die shift naar het volgende register kan uit voeren.

Gevonden *O* *O* *O*
Afbeeldingslocatie: https://i.imgur.com/YfoXZc0.jpg
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//pins are from the Mega
int st = 24; //latch or strobe
int DataPin = 22;
int clkrow = 30;
int clkcol = 26;
int oe = 28; //output enable

/*
 * The display buffer
 * Data generede with the help of https://create.arduino.cc/projecthub/SAnwandter1/programming-8x8-led-matrix-23475a and http://robojax.com/learn/arduino/8x8LED/
 */
byte HE_FI[] = {B11111111,B10011001,B00000000,B00000000,B00000000,B10000001,B11000011,B11100111,B11111111,B11111111}; //FILLED heart
byte HE_OU[] = {B11111111,B10011001,B01100110,B01111110,B01111110,B10111101,B11011011,B11100111,B11111111,B11111111}; //outlined heart

/*some information
 * Matrix has 10 rows (1024) and 72 (5184) columns
 * rows and colums have seperated clocks
 */
byte row_a[]={B11111111,B11111111,B01111111,B10111111,B11011111,B11101111,B11110111,B11111011,B11111101,B11111110};
byte row_b[]={B11111101,B11111110,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111,B11111111};

void setup() {
 pinMode(st,OUTPUT);
 pinMode(DataPin,OUTPUT);
 pinMode(clkrow,OUTPUT);
 pinMode(clkcol,OUTPUT);
 pinMode(oe,OUTPUT);
 digitalWrite(oe,LOW);
 row=0;
}

void loop() {
    for (unsigned int col = 0; col<9; col++)
    {
      if(col%2)
      {
        shiftOut(DataPin,clkcol,MSBFIRST,HE_FI[row]);
      }else{
        shiftOut(DataPin,clkcol,MSBFIRST,HE_OU[row]);
      }
    }
//SET ACTIVE ROW 
    shiftOut(DataPin,clkrow,MSBFIRST,row_b[row]);
    shiftOut(DataPin,clkrow,MSBFIRST,row_a[row]);
      //set dat form registers to latch registers
    digitalWrite(st,LOW); //set strobe low
    digitalWrite(oe,LOW); //set output off
    delayMicroseconds(1);
    digitalWrite(st,HIGH); //set strobe high
    delayMicroseconds(20);
    digitalWrite(oe,HIGH); //set output on
  row++;
  if(row>9){row=0;}
}


Nu nog met die laatste delay spelen, want hoe sneller je het zet hoe dimmer her word :(

[ Voor 61% gewijzigd door Damic op 05-02-2019 21:30 . Reden: Aangepast naar de reactie van SA007 ]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • +1 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 27-08 20:49

SA007

Moderator Tweaking
Meestal kan je tijdens het inclocken van de data je beeld aan laten staan.

Dan hoeft je beeld alleen uit tijdens de strobe ongeveer.

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Nu online

Damic

Tijd voor Jasmijn thee

Topicstarter
Ha zalig :) dat werkt nog ook

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Nu online

Damic

Tijd voor Jasmijn thee

Topicstarter
Voila bij deze mijn eerste animatie en nog wat aparte "test" sub's


Code komt nog online

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • n12niels
  • Registratie: Oktober 2020
  • Laatst online: 03-08 19:00
@Damic

Is de code reeds ergens online te vinden of zou jij deze met ons willen delen?
wij hebben exact dezelfde lichtbalk en zijn met een zelfde project bezig.

Groetjes Niels

[ Voor 1% gewijzigd door _ferry_ op 28-10-2020 09:42 . Reden: even een mention gedaan, dat brengt het wellicht eerder onder de aandacht ]


Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Nu online

Damic

Tijd voor Jasmijn thee

Topicstarter
Nu dat ik het zien, de code staat daar toch al :)

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag

Pagina: 1