Arduino - eigen klok maken

Pagina: 1 2 Laatste
Acties:
  • 17.933 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Hoi

Als eerste Arduino project wil ik graag een klok maken met LEDs

Doel van het project:
Een eigen klok maken die leds aanstuurt

I/O
30 outputs minimum (leds)
5 inputs minimum (buttons voor uren, minuten, leds aan/uit, spare, spare)

Requirements
  • Het bordje dient zo klein mogelijk te zijn
  • Moet op batterij kunnen werken of met een stroomkabel
  • Indien mogelijk de tijd niet verliezen als het even wordt uitgetrokken
  • Tijd moet correct blijven lopen, geen seconden afwijking per dag
Wat is hierbij jullie concreet advies: met welk bordje kan ik best starten of moet ik een combinatie van een bordje met een expander gebruiken? Is er een oplossing met een noodbatterij voor de tijd? Is de clock op Arduino correct genoeg om dit te doen? Uiteraard Google ik er op los maar graag hoor ik het in mijn eigen taal van mensen met ervaring, is altijd leuker!

Thanks!

Acties:
  • 0 Henk 'm!

  • Mr_x007
  • Registratie: Oktober 2001
  • Laatst online: 21:09
Met een arduino micro of nano, en een paar shift registers voor de leds, en een RTC chip / shield moet je een heel eind komen. Met deze combinatie moeten al je wensen uit te voeren zijn.

[ Voor 4% gewijzigd door Mr_x007 op 18-11-2012 21:21 ]


Acties:
  • 0 Henk 'm!

  • Infant
  • Registratie: Januari 2008
  • Laatst online: 21:53

Infant

It's a floating Dino!

Je kunt met vrij weinig onderdelen een klok maken, je hebt niet per sé allerlei chips nodig:

32.768kHz kristal kun je op een counter in de avr aansluiten. Die geven je een afwijking van c.a. een minuut per maand ofzo, afhankelijk van wat voor eentje je koopt.

Volgens mij zijn rtcs ook niet zo super nauwkeurig te krijgen dat ze minder dan een seconde per dag afwijken. Zowiezo duurt een dag geen eens 24uur, so who's counting?

5 fetjes om een groep leds aan te zetten, bijv. een 7-segment display.
En 7 pinnen naar ieder segment.

Volgens mij kun je dit op bijna elk bordje maken, mits het 17-io pinnen heeft, en dus twee voor de counter.

[ Voor 15% gewijzigd door Infant op 18-11-2012 22:14 ]


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Thanks both, dan komen natuurlijk de domme vragen.

Ik wil niet werken met een display maar puur door leds de tijd aangeven in een eigen ontwerp, dus zonder display. Of is dit gewoon een term voor een groep van leds aan te sturen?

Moet ik zo een kristal apart kopen en kan dit op een bordje gemonteerd worden? Sorry voor de vragen maar nog zeer nieuw in electronica!

Is het mogelijk dat iemand me letterlijk zegt koop dit en dit en dit en dan kom je er, dan kan ik het vanaf daar wel uitzoeken maar weet ik toch al dat ik het juiste materiaal koop en geen geld weggooi!

Thanks!

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Een 7-segment display is eigenlijk geen display zoals jij denkt waarschijnlijk. Google maar eens op 7-seg display en 16x2 lcd-display, dan vind je de verschillen wel.
En ja, een 7-seg display bestaat uit 7 losse ledjes, ingegoten in een blokje en meestal zit er ook nog een punt bij, dus eigenlijk 8 ledjes.
Ik zal eens kijken of ik iets voor je kan vinden, ik heb het ook altijd wel leuk gevonden om met counters e.d. wat op te bouwen.
Hier alvast die 7-seg :

Afbeeldingslocatie: http://electronics-lab.com/projects/test/001/7seg.gif
http://electronics-lab.com/projects/test/001/

F.West, je heb wel gelijk hoor, deze vraag had misschien beter daar thuisgehoord, maar om iemand nou 81 bladzijden te laten doorspitten ... :/

En Ishy, wat heeft bij jou voorrang, zelf een led-klokje in elkaar knutselen of het aansturen met een arduino ?
Indien het laatste, kijk dan inderdaad naar de afgelopen posts in het arduino-topic, die gaan toevallig over tijdweergaven door een arduino maar dan op de computer, of indien het eerste, dan heb ik hier een mooi kitje voor je :

Afbeeldingslocatie: http://www.velleman.eu/images/products/0/small/mk123.jpg
http://www.velleman.eu/products/view/?id=343945
Nadeel is wel dat er geen uitleg bij de schakeling zelf wordt gegeven, enkel over het opbouwen ervan.

En dit is niet vervelend bedoeld maar als je nog moet uitzoeken wat een 7-seg display is dan kun je beter bij de basis beginnen zoals bijvoorbeeld in learning wordt uitgestippeld en op ladyada.

Verder raad ik je dit boek aan voor de basisbeginselen.

En of je nu 1 led laat branden of een 7-seg display aanstuurt, dat blijft gewoon hetzelfde behalve het aantal draadjes dan.
Hier is iemand die dat ook heeft gedaan :
http://arduino.cc/forum/index.php/topic,8809.0.html
Googel gewoon op 'arduino led clock' en je komt genoeg tegen.

Deze vind ik wel mooi :

Afbeeldingslocatie: http://www.tubeclockdb.com/images/stories/2011/walker-clock-1.jpg
It is an LED clock powered by an Arduino Pro Mini. It displays the temperature and humidity in addition to the time.
;)

[ Voor 66% gewijzigd door kitao op 19-11-2012 00:51 ]


Acties:
  • 0 Henk 'm!

  • F.West98
  • Registratie: Juni 2009
  • Laatst online: 01-06 03:30

F.West98

Alweer 16 jaar hier

Tip:
[Discussie] Arduino-topic

Misschien dat je daar nog wat kan vinden

2x Dell UP2716D | R9 7950X | 128GB RAM | 980 Pro 2TB x2 | RTX2070 Super
.oisyn: Windows is net zo slecht in commandline als Linux in GUI


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Hier een combinatie van allebei, arduino aansturing en een paar honderd ledjes gave circulaire klok.
Kost maar 557 $ :/



@Ishy
Overigens kun je wellicht ook hier je vraag stellen in eigen taal :
http://arduinoforum.nl/

[ Voor 22% gewijzigd door kitao op 19-11-2012 02:11 ]


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Bedankt allemaal voor het (uitgebreide) advies! En inderdaad ik had het volledige Arduino topic ook al bekeken maar daar worden termen gebruikt die ik woord voor woord moet gaan opzoeken en dan is het niet erg makkelijk om een heel topic door te nemen :-) Dan heb ik liever een eigen dummy Arduino topic :-)

De 7-segment display is helaas geen optie, maar dat was niet duidelijk door de vage omschrijving:

de bedoeling is dat ik een glasraam neem met daarin cijfers/letters die verlicht kunnen worden. Door een combinatie te maken van cijfers en letters kan je het uur van het glasraam aflezen. De leds staan dus ver uit elkaar en een display kan ik niet gebruiken..

(even in bold gezet voor de mensen die het topic gewoon snel doornemen dat dit opvalt.) Daardoor dacht ik aan een erg eenvoudige setup door gewoon 30 leds aan of uit te schakelen of te werken aan de hand van een soort matrix systeem waar ik tenslotte weer 30 leds aan koppel maar die me wel I/Os gaat besparen. Is dat te 'simpel' bekeken?

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ik denk dat ieder bouwproject begint met een schema, als ik dit zo lees dan denk ik aan een groot gaatjesprint waar jij de 30 leds naar wens op kunt zetten, die kun je dan inbouwen achter glas.
En om ze aan te sturen met weinig i/o's van de arduino heb je waarschijnlijk shift-registers voor nodig met een rtc of iets dergelijks.
Een compleet ontwerp heb ik echter niet.

Acties:
  • 0 Henk 'm!

  • WeeDzi
  • Registratie: Juli 2009
  • Laatst online: 13-06 16:50
Je bedoeld denk ik gewoon een read/letter klok denk ik zoals deze :
http://www.technischweekb...ts/letterklok.83602.lynkx

maar dan niet met de de belachelijke prijs :D

Acties:
  • 0 Henk 'm!

  • djneo-nl
  • Registratie: Maart 2006
  • Laatst online: 11-06 13:45
kitao schreef op maandag 19 november 2012 @ 01:26:
Hier een combinatie van allebei, arduino aansturing en een paar honderd ledjes gave circulaire klok.
Kost maar 557 $ :/

[video]

@Ishy
Overigens kun je wellicht ook hier je vraag stellen in eigen taal :
http://arduinoforum.nl/
Dit moet goedkoper na te maken zijn.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Later zag ik die video nogmaals en die 557 dollar was de prijs toen die nog in de ontwerpfase zat. Bij de commentaren op youtube zag ik dat dit al aardig gedaald is. Maar goed 200 of meer is nog steeds veel hoewel ik niet in andermans, of in die van TS's knip kan kijken, die klok is namelijk ook beschikbaar als kit.
Anyway, die video vond ik wel aardig om te delen, vandaar.

Zelf was ik toevallig ook bezig met lcd's en time-libraries, ik heb er geen bezwaar tegen om uit te zoeken hoe dit netjes via de mcu op een 16x2 kan worden weergeven en daarna evt. op een aantal 7-seg. display's, al dan niet mbv externe ic's.
Dat wordt dan wel over een paar dagen. :)

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 07:04

Damic

Tijd voor Jasmijn thee

Op Co heeft zo iemand een klok gemaakt en volgens mij liep ze zelfs op DCF77.

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


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Dusseldorf led-klok

Afbeeldingslocatie: http://a861.phobos.apple.com/us/r1000/004/Purple/c0/fb/f9/mzl.tgrzztxm.320x480-75.jpg

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
WeeDzi schreef op maandag 19 november 2012 @ 14:17:
Je bedoeld denk ik gewoon een read/letter klok denk ik zoals deze :
http://www.technischweekb...ts/letterklok.83602.lynkx

maar dan niet met de de belachelijke prijs :D
Bingo :-) dat probeer ik inderdaad aan een niet te belachelijke prijs te verwezenlijken maar ik had geen idee hoe dit te verwoorden... en had hem nog niet gevonden online!

In ieder geval zou ik dit inderdaad graag proberen maar dan in een simpele setup zonder de alarmen, touch etc.

Ik heb even zitten rekenen en er zitten 114 leds in om aan te sturen, dus nog veel meer dan ik eerst dacht. Enkele input buttons aan de achterkant. Maar hoe begin je hier nu aan? Kan dit nog met een standaard Arduino (liefst nano of zo) en shift registers? Of kan je no way al die leds aansturen omdat ze te power consuming zijn?

Hierbij een filmpje: YouTube: QLOCKTWO / Production gevonden dankzij de tip van WeeDzi, thanks!

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
intussen het volledige project gevonden http://arduino.cc/forum/index.php/topic,118338.0.html

Thanks allemaal voor de info en hulp. Ik ga het allemaal wat uitzoeken nu en indien ik concrete vragen heb kom ik hier wel terug. Thanks!

Acties:
  • 0 Henk 'm!

  • WeeDzi
  • Registratie: Juli 2009
  • Laatst online: 13-06 16:50
hier nog een linkje van instructables

http://www.instructables.com/id/A-Word-Clock/


btw hoef je geloof ik niet 114 LEDs aan te sturen, afhankelijk van de lengte van de woorden zijn ze gegroepeerd in setjes van 3, 4 of 5 LED

[ Voor 45% gewijzigd door WeeDzi op 20-11-2012 10:31 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
'Mijn' klok is inmiddels werkend.
Benodigd materiaal : arduino en een 2x16 parallel lcd

1) sluit een lcd aan volgens http://arduino.cc/en/Tutorial/LiquidCrystal
2) download de time-library http://www.arduino.cc/playground/Code/time
3) kopieer deze code in de arduino :
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
/*
* lcdtimeserial.pde
*shows time on a display using LC & Time Library's
*requires time stamp to be sent via serial console or processing script
*lcd additon coded by Ryanteck.co.uk
*/
 // include time libary
#include <Time.h>  
// include liquid crystal libary
#include <LiquidCrystal.h>
// set pins for liquid crystal libary
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// time sync to PC is HEADER followed by unix time_t as ten ascii digits
#define TIME_MSG_LEN  11  
// Header tag for serial time sync message
#define TIME_HEADER  'T'  
// ASCII bell character requests a time sync message 
#define TIME_REQUEST  7    
// run setup script
void setup()  {
// set seiral port
  Serial.begin(9600);
  //set function to call when sync required
  setSyncProvider( requestSync);  
    // set up the LCD's number of rows and columns: 
  lcd.begin(16, 2);
  // print loading text
  lcd.setCursor(0, 0);
    lcd.print("Time LCD Script");
    lcd.setCursor(0, 1);
   lcd.print("By Ryanteck.uk");
   // delay for 5 seconds
   delay(5000);
  // write waiting for sync
  lcd.setCursor(0, 0);
    lcd.print("Waiting For Time");
    lcd.setCursor(0, 1);
   lcd.print("From Computer   ");
}
// end of setup
//start time update when time is grabbed
void loop(){    
  // check if time is uploaded from computer
  if(Serial.available() ) 
  {
    // proscess the time from computer
    processSyncMessage();
  }
  if(timeStatus()!= timeNotSet)   
  {
    // turn on pin 13 light if time is set
    digitalWrite(13,timeStatus() == timeSet); // on if synced, off if needs refresh  
    // set lcd to 0,0 to write time
   lcd.setCursor(0, 0);
    digitalClockDisplay();
   // set lcd to 0,0 to write date  
    lcd.setCursor(0, 1);
    digitaldateDisplay();  
    
  }
  delay(1000);
}


void digitalClockDisplay(){


  // display time on line 0
  //print time:
  lcd.print("Time  : ");
  //print hour
  lcd.print(hour());
  // print :
  lcd.print(":");
  //print minute
  lcd.print(minute());
  // print :
  lcd.print(":");
  //print seconds
  lcd.print(second());
  
}
void digitaldateDisplay(){
  // display date on line 1
  //print date:
  lcd.print("Date:");
  //print 
  lcd.print(" ");
  //print day
  lcd.print(day());
//print / 
  lcd.print("/");
   //print month
  lcd.print(month());
 //print / 
  lcd.print("/");
  //print year
  lcd.print(year()); 
  lcd.println(); 
}

void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

void processSyncMessage() {
  // if time sync available from serial port, update time and return true
  while(Serial.available() >=  TIME_MSG_LEN ){  // time message consists of a header and ten ascii digits
    char c = Serial.read() ; 
    Serial.print(c);  
    if( c == TIME_HEADER ) {       
      time_t pctime = 0;
      for(int i=0; i < TIME_MSG_LEN -1; i++){   
        c = Serial.read();          
        if( c >= '0' && c <= '9'){   
          pctime = (10 * pctime) + (c - '0') ; // convert digits to a number    
        }
      }   
      setTime(pctime);   // Sync Arduino clock to the time received on the serial port
    }  
  }
}

time_t requestSync()
{
  Serial.write(TIME_REQUEST);  
  return 0; // the time will be sent later in response to serial mesg
}

Na opstarten komt dit in beeld : 'waiting for time from computer'.
Open dan de monitor, (stel deze in op 9600baud), en vul in : T1353408000
Dit zijn secondes en door dat getal te veranderen zet je de klok gelijk.
Er zaten een paar schoonheidsfoutjes in dit programma en die heb ik zoveel mogelijk weggewerkt maar is nog niet helemaal perfect.
Verre van perfect zelfs, bij het overgaan naar een ander uur is de klok finaal van slag }:|
Het herstel daarvan laat ik echter over aan de programmeurs onder ons.
edit 2:
na 10 minuten over het hele uur wordt de klok weer 'normaal'.

Bron

edit :
voor het aansluiten van het backlight zie het arduino-topic:
kitao in "[Discussie] Arduino-topic"

[ Voor 3% gewijzigd door kitao op 20-11-2012 12:25 . Reden: extra info ]


Acties:
  • 0 Henk 'm!

  • WeeDzi
  • Registratie: Juli 2009
  • Laatst online: 13-06 16:50
maar dit is toch een hele andere klok als dat de TS bedoelde.....

of wilde je het gewoon even delen :D

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Kijk de titel : Arduino - eigen klok maken

En ik heb geprobeerd TS net zo goed op het spoor te zetten als jij.
De volgende stap zou voor mij ook kunnen worden een led-klok maken maar ik heb geen materiaal daarvoor in huis.
Mijn vorige lijst klopte namelijk al niet, naast een arduino en de par. lcd moeten er nog 2x10K potmeters erbij en een weerstand van 220 Ohm plus een berg jumpers. ;)

ps, ik log uit.

Acties:
  • 0 Henk 'm!

  • WeeDzi
  • Registratie: Juli 2009
  • Laatst online: 13-06 16:50
kitao schreef op dinsdag 20 november 2012 @ 13:56:
Kijk de titel : Arduino - eigen klok maken

En ik heb geprobeerd TS net zo goed op het spoor te zetten als jij.
Uhm true, point taken :D

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Het gaat er niiet zozeer om om een punt te zetten hoor, maar als ishy een led-klok wil aansturen met een arduino dan kun je voor twee dingen kiezen :
1) zelf je programma direkt in de micro schrijven en zelf bedenken hoe je (+)30 leds gaat aansturen, of
2) zoeken naar een programma of een library op het net met bijbehorende schematekening

Aangezien ik zelf nauwelijks kan programmeren - en dat ook niet wil - heb ik met mijn vorige post met zomin mogelijk onderdelen Ishy alvast willen laten zien welke eerste stappen ervoor nodig zijn om sowieso iets van tijd in beeld te krijgen.
Uit ervaring heb ik namelijk gemerkt dat het downloaden en het op de juiste plaats neerzetten van zo'n library echt niet meevalt in het begin. (kan ook aan mij liggen natuurlijk :$
En als ik dan kijk naar de code die ik heb gevonden, dan ben ik niet echt tevreden.
Niet zozeer omdat o.a. deze regel aangepast moest worden : Serial.print(TIME_REQUEST,BYTE); maar omdat de schrijver geen gebruik maakt van clearscreen commando's en omdat zoals eerder vermeld dit programma rare kuren vertoont bij uurwisselingen gedurende de 1e 10 minuten.
Dusss, het wordt zoeken naar een andere code :/

Pas als dat gelukt is wil ik een klokje maken met vier 7-segments, zoals je weet zijn dat ook gewoon leds en dan zijn we weer on-topic. 8)

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Het eerste begin is er voor een 7-segment-display led-klok, zie dit. :)
Helaas, van de stuk of vijf seg.displays die ik dacht te hebben, bleken er inmiddels 3 overleden door versletenheid dus ik kom wat componentjes tekort.
Hoe vordert het bij jou ishy ?

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Hey

Bedankt voor de interesse :-) Om goed van start te gaan heb ik even eerst alle onderdelen in huis gehaald en ben begonnen met enkele simpele projecten zodat ik tenminste begrijp wat ik doe :-) Programmeren kan ik maar van elektronica heb ik weinig kaas gegeten!

Hetgeen waar ik momenteel het hardste mee "afzie" zijn de resistors, welke je wanneer moet gebruiken. Verder gebruik ik deze als leidraad: http://www.instructables....duino-WordClock/?ALLSTEPS

Alle onderdelen daarvoor ben ik dus aan het samenzoeken, het moeilijkste is de sticker ergens laten printen op het juiste formaat. Met "Step 3" en "Step 4" heb ik het nog wat moeilijk, ik begrijp niet dadelijk waar deze componenten juist voor dienen:

-2 ceramic capacitor 22pF
-quartz 16 mhz
-2 elettrolitic capacitor 100 nF
-5v regolator voltage 78L05
-1n4007 diode
-3- HCF4094 shift register
-4- ULN2003A Driver
-ATMega 328 with bootloader

Al de rest begrijp ik ongeveer... Je ziet begrijpen is key voor mij voor ik eraan begin, ik wil niet zomaar wat nadoen, de volgende stap is immers voor mij om dingen aan te passen zoals ik het wil.

Thanks!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Alvast een kort antwoord ishy,
Met een goed schema hoef je niet precies te weten welke weerstand in welke grootte waar komt, dat staat daarin dan gewoon weergegeven.
Dat geldt met alle onderdelen, je hebt een schema en die bouw je gewoon op zoals het er staat.
Als je precies wil gaan rekenen wanneer je waar wat nodig hebt dan heb je een complete studie elektronica-techniek voor nodig.

Bij condensators moet je kijken of het een 'gewone' is of een elco en bij diodes moet je letten op de polariteit, weerstandswaarden worden aangegeven met een kleurcode enz.

Zelf gebruik ik ook een schema als ik eenmaal de onderdelen heb :

Afbeeldingslocatie: http://s9.postimage.org/gi1sgdgiz/img72.jpg
klik

http://code.google.com/p/arduino-seven-segment/

[ Voor 23% gewijzigd door kitao op 22-11-2012 08:41 ]


  • Sprite_tm
  • Registratie: September 2002
  • Laatst online: 10-06 16:10

Sprite_tm

Semi-Chinees

ishy schreef op donderdag 22 november 2012 @ 07:29:
ik begrijp niet dadelijk waar deze componenten juist voor dienen:

-2 ceramic capacitor 22pF
-quartz 16 mhz
Dit geheel zorgt voor de klokfrequentie voor de AVR: je AVR heeft namelijk een stabiele klok nodig voor de bootloader zodat de serieele poort netjes binnen z'n timing-constraints kan blijven
-2 elettrolitic capacitor 100 nF
-5v regolator voltage 78L05
-1n4007 diode
(Waarschijnlijk bedoelt hij hier electrolytic. Als ik het zo zie heeft 'ie echter de waarde fout, ik denk dat 'ie 100uF bedoelt; dat staat ook in 't schema) Dit is om een random spanning (bijvoorbeeld 9V) om te zetten in een nette 5V waar je AVR van kan draaien. De diode is bedoeld is om tegen verkeerd aansluiten van de voeding te beveiligen: als je de plus en min daarvan omdraait geleid de diode niet en blaas je niets op. De 78l05 maakt van de ingangsspanning 5V en de condo's zijn voor stabilisatie bedoeld. Zoek maar eens op '7805 schematic' en je komt genoeg voorbeelden tegen, het is een heel standaard IC.
-3- HCF4094 shift register
De AVR heeft vanzichzelf niet genoeg pins om alle LEDs aan te sturen; deze chips worden als IO-uitbreiding gebruikt. Zie bijvoorbeeld hier voor uitleg.
-4- ULN2003A Driver
De shiftregisters kunnen van zichzelf niet genoeg power leveren om de LEDs aan te sturen. Dit chipje bevat een 8-tal transistoren; de uitgangen daarvan kunnen dat wel.
-ATMega 328 with bootloader
Da's je microcontroller. Vrij essentieel :) Je wil er de Arduino-bootloader inhebben zodat je 't ding met de standaard Arduino-software kan programmeren.

Als ik het zo lees heb je
-2 ceramic capacitor 22pF
-quartz 16 mhz
-2 elettrolitic capacitor 100 nF
-5v regolator voltage 78L05
-1n4007 diode
niet nodig als je er een Arduino aan gaat hangen.

Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog


  • WeeDzi
  • Registratie: Juli 2009
  • Laatst online: 13-06 16:50
Nee precies de kerel die de klok heeft gemaakt in je WOW voorbeeld maakt zijn eigen printje met de onderdelen die je opnoemt. De arduino uno heb je daarbij niet nodig. Waarschijnlijk heeft hij de Uno gebruikt om zijn setup te testen en eermaals het werkte de onderdelen over genomen om een nieuw printje te maken.

De chip heeft hij waarschijnlijk dan eerst geprogrammeerd opp de uno en daarna op zijn zelfbouw printje geplakt. Op die manier ben je namelijk niet je duurdere ontwikkelbordje kwijt waar je weer andere dingetjes op kan testen.

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Thanks voor alle geduldige uitleg! In de hoop hier iemand even tijd voor heeft... ik ben vandaag in de lokale winkel geweest voor onderdelen maar helaas hadden ze bijna niets. Daarom ben ik online gaan zoeken en heb ik de meeste onderdelen gezocht maar ik ben totaal niet zeker dat ik de juiste zaken geselecteerd heb qua voltages etc en bepaalde (makkelijke!) kan ik dan weer niet vinden. Heeft er iemand zin om dit te bekijken of slechts enkele?

Thanks!

welk type leds + resistor? Het moeten bright leds zijn

1x quartz 16 mhz
2x ceramic capacitor 22pF
2x electrolytic capacitor 100 nF
1x 5v regolator voltage 78L05
1x 1n4007 diode
3x HCF4094 shift register
-4- ULN2003A Driver
ATMega 328 with bootloader
-2 micro button to set hours and minutes
????
-a supply voltage coaxial connector
???
-a flat wire 26 wire with connector
???
-two-pole connector
???
- DCF77 radio receiver
???


Indien je een betere online store weet dan uiteraard graag, Farnell was maar een idee.

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ik zit nu ook een wagentje vol te gooien bij conrad.
Probeer het daar eens, aan de zijkant staan velden dan kun je de zoekresultaten verminderen, zoals keuze capaciteit, elektrolytisch of keramisch, etc.

De 78L05 staat hier bijvoorbeeld.

En bedenk je nog eens 2x, kun je dit aan, heb je er vertrouwen in en begrijp je de instructies voor het meeste deel ?
Als het antwoord ja is, doe dan pas die bestelling de deur uit voordat je veel geld uitgeeft.
(tenzij je daar toch geen gebrek aan hebt)
Overigens ben ik dit aan het doornemen en tegelijkertijd alvast een verlanglijst aan het opstellen.
Per 25 euro is het gratis dus als je net 1 onderdeeltje mist dan kost je dat 7 euro extra verzending voor een nabestelling.

Ps, ik zal morgen jouw instructies eens doorlezen, misschien heb ik dan wat betere tips voor je.
Zo zie ik bijvoorbeeld dat de 78L05 maar 100mA levert, dat lijkt me niet echt veel voor 30 leds.

[ Voor 54% gewijzigd door kitao op 22-11-2012 23:45 ]


Acties:
  • 0 Henk 'm!

  • Infant
  • Registratie: Januari 2008
  • Laatst online: 21:53

Infant

It's a floating Dino!

Er bestaat niks beters dan Farnell. Misschien RS...

Als je toch bij farnell aan het rond karren bent, kan ik deze aanraden.

Dit ding is eigenlijk de HCF4094 en de ULN2003A in één, met als bijkomend voordeel dat je de stroom door alle leds in één keer kunt instellen met 1 enkel weerstandje. Dat scheelt een hele berg met werk, vond ik.

Je kunt de Led's op deze manier met elke spanning onder de 20V voeden, en dit ding regelt dan de stroom erdoor heen. Dus dan heb je geen vadsige 7805 nodig die alle energie verbrand.

Acties:
  • 0 Henk 'm!

  • TNW
  • Registratie: Januari 2007
  • Laatst online: 12-06 13:45

TNW

Dat is inderdaad handiger, het schuifregister en poweraansturing in een chip. Ik ben ook bezig met Arduino een klok/display te maken, maar dan met VFD buizen ipv led segmentjes. Gelukkig zijn er op eBay chipjes te vinden die zowel 20 bits kunnen schuiven en tot 76V kunnen aansturen :)

Weblog | Straling!


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Infant schreef op vrijdag 23 november 2012 @ 08:39:
Er bestaat niks beters dan Farnell. Misschien RS...

Als je toch bij farnell aan het rond karren bent, kan ik deze aanraden.
Ik ben met je eens hoor, Farnell heeft vrijwel alles maar wel als nadeel minimaal 50 euro bestellen via een omslachtige email en volgens mij ook behoorlijke verz.kosten.
Over die chip, die is inderdaad spotgoedkoop ivm de max7221 waarover ik hiervoor al linkte.
Alleen krijg ik af en toe de indruk dat 'men' wel eens vergeet dat er nog veel beginners hier zitten waaronder ik mezelf ook reken.
Wat ik bedoel : die STC16P is misschien wel prima toepasbaar maar zit er ook nog ergens een uitgelegd ópbouwschema bij ? Dat is bij de max wel het geval : http://arduino.cc/playground/Main/MAX72XXHardware
Het is niet voor iedereen vanzelfsprekend om dit zomaar uit een datasheet af te lezen lijkt mij. :/

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
ishy schreef op donderdag 22 november 2012 @ 07:29:
Hetgeen waar ik momenteel het hardste mee "afzie" zijn de resistors, welke je wanneer moet gebruiken.
Doorgaans wordt voor een 5V led gewoon een 220Ohm weerstand gebruikt. De led kun je zien als een diode waar een bepaalde spanning over valt en die spanningsval verschilt per kleur en per type led. Een stroom van 20 mA is meestal uitgangspunt.
http://www.linetec.nl/electronics/leds/led_2.html
-a flat wire 26 wire with connector
???
Zoek eens op ribboncable
http://dx.com/s/ribbon+cable
Indien je een betere online store weet dan uiteraard graag, Farnell was maar een idee.
Zo uit mn hoofd zijn deze ook vaak in gang waarmee ik overigens niet beweer dat ze beter zijn als Farnell:
http://elektronicadirect.nl/
http://www.budgetronics.eu/
ebay
http://www.dickbest.nl/
http://www.conrad.nl/ce/
http://www.samenkopen.net/
http://dx.com/
https://iprototype.nl/
http://www.antratek.nl/
http://www.dil.nl/start.aspx
http://www.radiocentrum.com/
http://www.alibaba.com/showroom/ali-electronics.html
aliexpress
http://www.robotshop.com/eu/home.html
http://www.sparkfun.com/
http://www.parallax.com/
Die laatste 2 sites hebben lokale distributeurs

De 'kunst' is om zoveel mogelijk bij 1 winkel te bestellen, dat scheelt weer verzendkosten.
Je ziet het, keuze zat en ik zal er vast nog wel een paar vergeten zijn. :)

[ Voor 9% gewijzigd door kitao op 24-11-2012 05:40 . Reden: link toegevoegd ]


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Ik verkies momenteel even een gewone winkel in de buurt omdat ik dan wat vragen kan stellen... en ik heb er nu eentje gevonden in Dendermonde - vriendelijke kerel. Ik ga er straks even naar toe. In Gent en Aalst kon ik enkel Gotron vinden maar dat is niet echt behulpzaam of klantvriendelijk te noemen... (persoonlijke indruk).

Bedoel is dat ik met het materiaal van vandaag wat experimenteer en dan alles online bestel voor de final version! Ik hou jullie op de hoogte!

Acties:
  • 0 Henk 'm!

  • Infant
  • Registratie: Januari 2008
  • Laatst online: 21:53

Infant

It's a floating Dino!

Particulier kan ik me voorstellen dat farnell lastig is, maar ik wordt er altijd heel blij van. RS is eigenlijk hetzelfde.

Op pagina 17 staat het meest simpele voorbeeld schema wat je kunt bedenken. Wat is daar niet aan te begrijpen?

Je kunt ook kijken of mensen het onderdeel al eens in iets gebruikt hebben. Deze persoon heeft er een zooitje in een Led kubus gebruikt.

Acties:
  • 0 Henk 'm!

  • sasaa
  • Registratie: Mei 2009
  • Laatst online: 28-09-2020
Afbeeldingslocatie: http://www.hcor3.nl/clock.jpg

dit is mijn clock gemaakt met de 4 rainbowduino's + RGB matrix's (veel te duur eigelijk)
en een simpele arduino uno die ze aanstuurt over i2c

ik gebruik Nog altijd Arduino 22 (ik kan wel een copy maken als je wilt)

code:
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#include <Wire.h>
#include "RTClib.h"

RTC_DS1307 RTC;

int lr = 15;
int lg = 0;
int lb = 0;

unsigned char RainbowCMD[5];
unsigned char State = 0;  
unsigned long timeout;

void setup()
{
  Wire.begin();
  RTC.begin();
  if (! RTC.isrunning()) {
    Serial.println("RTC is NOT running!");
    RTC.adjust(DateTime(__DATE__, __TIME__));
  }
  flash(10, 50);
  pinMode(2, OUTPUT);
}

void loop(){
  DateTime now = RTC.now();
  char time1 = '0' + now.hour() / 10;   if (time1 == 0){ ShowChar(1,time1, 0, 0, 0,0); } else { ShowChar(1,time1, lr, lg, lb, 0);}
  char time2 = '0' + now.hour() % 10;   ShowChar(2,time2, lr, lg, lb,0);
  char time3 = '0' + now.minute() / 10; ShowChar(3,time3, lr, lg, lb,0);
  char time4 = '0' + now.minute() % 10; ShowChar(4,time4, lr, lg, lb,0);
  delay(1000);
  toggle(5);
}

int toggle(int pin){
  // Creator sasaa
  // toggles a led on if off.
  // and off if on.
  if (digitalRead(pin) == HIGH){
    digitalWrite(pin, LOW);
  } else {
    digitalWrite(pin, HIGH);
  }
}

int flash(int time,int times){
  // Shifts color pads around the 4 matrixes
  for (int ax=0; ax <= times; ax++){
    ShowColor(1,15,0,0); ShowColor(2,0,15,0); ShowColor(3,0,0,15); ShowColor(4,15,15,15);
    delay(time / 4);
    ShowColor(4,15,0,0); ShowColor(1,0,15,0); ShowColor(2,0,0,15); ShowColor(3,15,15,15);
    delay(time / 4);
    ShowColor(3,15,0,0); ShowColor(4,0,15,0); ShowColor(1,0,0,15); ShowColor(2,15,15,15);
    delay(time / 4);
    ShowColor(2,15,0,0); ShowColor(3,0,15,0); ShowColor(4,0,0,15); ShowColor(1,15,15,15);
    delay(time / 4);
  }
}

void ShowColor(int Adr, unsigned char R, unsigned char G, unsigned char B) {
  unsigned char shift;
  RainbowCMD[0]='R';
  RainbowCMD[1]=0x03;
  RainbowCMD[2] = B;
  RainbowCMD[3]=((G<<4)|(R));
  SentCMD(Adr);
}

void SetPixelXY(int Adr, unsigned char X, unsigned char Y, unsigned char R, unsigned char G, unsigned char B) {
  unsigned char TranslateX[8]={6,7,4,5,2,3,0,1};
  X = TranslateX[X];
  RainbowCMD[0] = 'R';
  RainbowCMD[1] = 0x04; 
  RainbowCMD[2] = R;
  RainbowCMD[3] = ((G<<4)|(B));
  RainbowCMD[4] = ((X<<4)|(Y));
  SentCMD(Adr);
}

void ShowChar(int  Address,unsigned char ASCII,unsigned char red, unsigned char green ,unsigned char blue,unsigned char shift)
{
    RainbowCMD[0]='R';
    RainbowCMD[1]=0x02;
    RainbowCMD[2]=((shift<<4)|(red));
    RainbowCMD[3]=((green<<4)|(blue));
    RainbowCMD[4]=ASCII;
    SentCMD(Address);
}

void SentCMD(int  Add)
{   unsigned char OK=0;
     unsigned char i,temp;
 
    while(!OK)
  {                          
    switch (State)
    {       

    case 0:                          
      Wire.beginTransmission(Add);
      for (i=0;i<5;i++) Wire.send(RainbowCMD[i]);
      Wire.endTransmission();    
      delay(5);   
      State=1;                      
      break;

    case 1:

      Wire.requestFrom(Add,1);   
      if (Wire.available()>0) 
        temp=Wire.receive();    
      else {
        temp =0xFF;
        timeout++;
      }

      if ((temp==1)||(temp==2)) State=2;
      else if (temp==0) State=0;

      if (timeout>5000)
      {
        timeout=0;
        State=0;
      }

      delay(5);
      break;

    case 2:
      OK=1;
      State=0;
      break;

    default:
      State=0;
      break;

    }
  }
}


ik kan hem vanaf buiten ook nog prima zien en aflezen dus :P
vanaf +/-100 meter afstand.

Edit:
Was ooit ook de bedoeling om deklok in een mdf kastje te bouwen met frosted plexieglas ervoor maar ja.
luiheid :P

[ Voor 1% gewijzigd door sasaa op 24-11-2012 22:10 . Reden: toevoeging ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Infant schreef op zaterdag 24 november 2012 @ 13:26:
Op pagina 17 staat het meest simpele voorbeeld schema wat je kunt bedenken. Wat is daar niet aan te begrijpen?
Daar kun je toch maar 16 leds op aansluiten op pin 5 t/m 20 ?
Een ander nadeel is volgens mij dat er geen DIP van te verkrijgen is ?
Je kunt ook kijken of mensen het onderdeel al eens in iets gebruikt hebben. Deze persoon heeft er een zooitje in een Led kubus gebruikt.
Mooie toepassing inderdaad, net als die van sasaa overigens :)

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Ik werd vandaag schitterend geholpen in de Electroshop in Dendermonde - klantvriendelijk, bekwaam en veel in voorraad! Fijne ervaring! Ik heb bijna alle onderdelen en ga me nu enkele dagen bezig houden met de matrix te bouwen en te testen. Ik hou jullie op de hoogte!

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Over matrix gesproken, ik wil de volgende links even hier neerzetten voor een overzicht en wellicht heeft iemand anders er ook wat aan.
Zover ik het kan zien, want ik heb ook nog niet alle onderdelen binnen, zijn deze links voldoende en voorzien van codes, om een werkende klok in elkaar te zetten volgens het matrix-principe.
Dit zijn ze en wordt wellicht nog aangevuld :

http://arduino.cc/playground/Main/MAX72XXHardware
http://www.ladyada.net/learn/breakoutplus/ds1307rtc.html
http://tronixstuff.wordpr...o-real-time-clock-shield/
http://www.arduino.cc/playground/Main/LedControl
http://www.planetarduino.org/?cat=245

Acties:
  • 0 Henk 'm!

Anoniem: 478829

En waarom ga je niet voor een arduino ethernet en sync je vervolgens met ntp? Als de juiste tijd dan toch zo belangrijk is. Desnoods ga je waanzinnig veel syncen en gebruik je een aantal ntp servers met fallback als de ene niet werkt of zo. Je kan ook met leds aangeven of je laatste sync wel doorgekomen is bijvoorbeeld.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Tja, aangenomen dat je het ook tegen mij hebt, dit 'ether-dingetje',
Afbeeldingslocatie: http://arduino.cc/en/uploads/Guide/ArduinoWithEthernetShield.jpg
kost wel 35 euro.
Afgezien daarvan, 1 stap tegelijk is groot genoeg,

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Ik zou graag een onafhankelijke klok maken en niet met een kabel naar het internet erbij :) staat niet zo lekker in de huiskamer :)

Dus even een update, ik ben intussen aan de slag gegaan en de matrix is alvast heel mooi gelukt met de HCF4094 shift register en de ULN2003A Driver. De implementatie was goed te doen mits wat opzoek werk, wat links checken die al vermeld werden en rustig blijven :-) Ik stuur momenteel 2 HCF4094s aan met 1 ULN2003A. In totaal 'slechts' 20 leds verdeeld over 12 leds bij de ene HCF4094 en 8 bij de 2de.

Wat me wel opvalt is dat de leds die per 8 staan een veel grotere helderheid geven dan die met 12 staan (zie foto):

Afbeeldingslocatie: http://yasti.be/ard.jpg

Volgende stap is om weer nieuw materiaal te bestellen en te wachten op de andere voorgestelde onderdelen: STP16CP05MTR. Maar die kan ik niet op mijn testbordje gebruiken, bestaat er ook een versie die je op een breadboard kan zetten? Daarbij bestel ik de overige ledjes en de DCF77 voor automatische tijd sync met batterij backup.

Eens ik dat ook heb kan ik de makkelijkste/beste methode kiezen en hiermee de definitieve versie uitwerken/solderen.

[ Voor 2% gewijzigd door ishy op 25-11-2012 20:26 . Reden: Edit image - thumbnail ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
ishy schreef op zondag 25 november 2012 @ 20:19:
Wat me wel opvalt is dat de leds die per 8 staan een veel grotere helderheid geven dan die met 12 staan (zie foto):
Allereerst petje af dat je dit zo snel voor elkaar hebt gekregen met weinig voorkennis (zoals je zelf aangaf) van elektronica. d:)b

Over je vraag, ik weet niet zeker of dit het juiste antwoord is, maar toevallig las ik dit gisteren in een datasheet :
Cascading Drivers
The example in Figure 3 drives 16 digits using a 3-wire
μP interface. If the number of digits is not a multiple of
8, set both drivers’ scan limits registers to the same
number so one display will not appear brighter than the
other.
For example, if 12 digits are need, use 6 digits
per display with both scan-limit registers set for 6 digits
so that both displays have a 1/6 duty cycle per digit. If
11 digits are needed, set both scan-limit registers for 6
digits and leave one digit driver unconnected. If one
display for 6 digits and the other for 5 digits, the second
display will appear brighter because its duty cycle
per digit will be 1/5 while the first display’s will be 1/6.
Refer to the No-Op Register section for additional information.
http://datasheets.maximin...en/ds/MAX7219-MAX7221.pdf
pagina 11
Dus ook al gebruik jij geen driver, maar misschien moet je ze anders, en meer verdeeld opstellen ?
Een andere optie uit de losse pols is een potmetertje ertussen plaatsen wellicht.

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Thanks Kitao! Okay lijkt me inderdaad zinnig, zal ik eens proberen. Alleen het limiteren van het scannen zal ik even moeten uitzoeken :) ik heb nu erg 'simpele' code, ik ga nog eens een paar voorbeelden bekijken om te kijken hoe de profs het doen. Zit ik dus nog met 2 vragen:
  • Een alternatief vinden voor de STP16CP05MTR voor het breadboard - via Google slaag ik er niet in een alternatief te vinden :( of moet ik dan werken met een convertor om deze aan te sluiten op een breadboard?
  • Kan ik niet werken met 2 shift registers HCF4094 en zo 64 leds aansturen ipv werken met een HCF4094 en een HCF2003A? Of moet ik dan achter ieder shift register een HCF2003A zetten om de stroom te versterken?

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Die STP16 is een SOP en heeft geen DIP uitvoering volgens de datasheet. (pag1)
Probeer dit eens te googelen : How to use SOP on breadboard.
Dan kreeg ik dit als mogelijk antwoord :
http://electronics.stacke...use-sop-ics-on-breadboard
The other option is to use a SOP to DIP adapter.
They have a small PCB on which you solder the device. The PCB will also have holes spaced like a DIP component to which you solder pins and then just insert the adapter into a breadboard. Here's an example of such adapter.
ps, vergeet niet de commentaren in die link te lezen, werkt niet altijd naar behoren schijnt.

edit : is ook in dip onder STP16CP05BIR
http://html.alldatasheet..../1949/1/STP16CP05MTR.html

[ Voor 71% gewijzigd door kitao op 25-11-2012 21:16 . Reden: link toegevoegd / ps / edit ]


Acties:
  • 0 Henk 'm!

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 14-06 19:33

SA007

Moderator Tweaking
Er is ook een 8-voudige versie van die ik in dip ken, de tpic6b595.
Die kan je ook gewoon 2 doorlussen om 16 voudig te krijgen.

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Bedankt allebei, ik heb de SA007 besteld om mee te testen. Is het correct dat hier geen ULN2003A Driver meer bij nodig heb?

Kan je door 2 van deze TPIC6B595 te gebruiken dan ook een matrix met elkaar maken?

Thanks

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ishy, de meesten hier weten best veel af van elektronica, maar er zijn duizenden en duizenden typenummers. Door die zomaar hier plompverloren neer te posten en dan gaan vragen wat je er allemaal mee kunt doen is misschien iets teveel van het goeie. :/

En hoe je een matrix zou kunnen maken, hoewel ik zelf nog niet de onderdelen heb om het te bevestigen als zijnde werkend, staat volledig beschreven in mijn post vol met links naar het arduino planeetje. 8)

kitao in "Arduino - eigen klok maken"

[ Voor 35% gewijzigd door kitao op 26-11-2012 12:05 ]


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Klopt Kitao, en de matrix is me ook al gelukt maar ik vroeg me gewoon af of het technisch mogelijk is met 2 shift registers in plaats van met x shift registers aan 1 kant en een driver aan de andere kant. Maar morgen heb ik alle onderdelen en duik ik zelf in de testen om te kijken of het al dan niet mogelijk is en laat het hier dan even weten! Verder ziet het er naar uit dat alles wel zal lukken! Thanks!

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ok, het is namelijk zo dat ik zelf ook al wat te enthousiast was met vragen stellen wat niet zo gewaardeerd werd.
Een vraag stellen op zich is wmb en voor veel anderen meestal geen enkel probleem maar een beetje duidelijker omschrijven zoals je nu net heb gedaan wordt wel verwacht.
En als je verwijst naar een onderdeel neem dan liever ook de moeite om er een link aan te koppelen zodat anderen snel mee kunnen lezen.
(ook al had je dat al gedaan in een vorige post, niet iedereen gaat een heel topic teruglezen)

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Klopt! Dus even samenvatten hier:

Momenteel heb ik een werkende matrix door een combinatie van 2 keer de HCF4094 shift register te gebruiken en aan de andere zijde van de matrix te werken met 1 ULN2003A Driver.

Nu zou ik willen werken met TPIC6B595N naar aanleiding van wat mensen eerder in de post zeiden.

Met 1x de ULN2003A Driver.en 1x de HCF4094 kon ik maximaal 56 leds aansturen (slechts 7 aansturen bij de 2003A).

Is het nu mogelijk, zonder extra chips, door 2x de TPIC6B595N te gebruiken 64 leds aan te sturen? Of mis ik iets in deze redenering?

Thanks!

[ Voor 0% gewijzigd door ishy op 26-11-2012 18:45 . Reden: Typo ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
@ishy
Heb je ook het originele schema waarin staat getekend hoe je met 1 x ULN2003A driver en 1 x HCF4094 shift-register daarmee 56 leds kan aansturen ?
Als ik kijk naar de datasheet van de 4094 dan kom ik deze applicatie-tekening tegen :

Afbeeldingslocatie: http://s9.postimage.org/6q07zj20b/img76.jpg
klik om te vergroten

Voor 56 leds zou ik dan verwachten dat je dan 56/8 = 7 van die shifts-register-ic's nodig hebt ?
Maar kan best dat het wel mogelijk is, alleen dan schiet mijn kennis daarvoor tekort. Sorry.

Ps, volgens de links uit mijn vorige post heb je aan slechts één max7219- of 7221-IC genoeg om 64 leds ieder afzonderlijk aan te sturen. Enige wat je dan nog nodig hebt is 2 condensatoren en éen stroombegrenzende weerstand en een RTC schakeling.
Ik zou best graag van iemand willen zien hoe je datzelfde kunt bereiken met één enkele 8-bits shift-register als dit sowieso al mogelijk is ?

[ Voor 41% gewijzigd door kitao op 26-11-2012 19:54 . Reden: Ps / Link toegevoegd ]


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Wel ik gebruik nu de ULN2003A volgens dit schema samen met HCF4094 :

Afbeeldingslocatie: http://www.crossroadsfencing.com/25x7_common_cathode_array.jpg

Door zo een schakeling te gaan bouwen kan je zeggen laat lampje x branden door een combinatie te maken van uitgang y van de ULN2003A en uitgang z van de HCF4094.

De TPIC6B595N zou deze 2 moeten vervangen dus lijkt het me logisch dat ik met zo 2 in totaal 64 ledjes kan controleren - ik kijk nu eens naar jouw links specifiek hiervoor.

Edit: afgaand op dit schema zou dat inderdaad lukken indien hij genoeg power kan geven voor al die ledjes maar hij is wel duur in aankoop.

[ Voor 12% gewijzigd door ishy op 26-11-2012 21:48 . Reden: Add edit part ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
ishy schreef op maandag 26 november 2012 @ 21:44:
Wel ik gebruik nu de ULN2003A volgens dit schema samen met HCF4094 :

[afbeelding]

Door zo een schakeling te gaan bouwen kan je zeggen laat lampje x branden door een combinatie te maken van uitgang y van de ULN2003A en uitgang z van de HCF4094.

De TPIC6B595N zou deze 2 moeten vervangen dus lijkt het me logisch dat ik met zo 2 in totaal 64 ledjes kan controleren - ik kijk nu eens naar jouw links specifiek hiervoor.

Edit: afgaand op dit schema zou dat inderdaad lukken indien hij genoeg power kan geven voor al die ledjes maar hij is wel duur in aankoop.
Bedankt voor die tekening :
Ik tel in totaal ((3x8) +1) x 7 ledjes = 175 stuks

Voor 64 leds heb je dan inderdaad aan 2 x 74AC299 (zie opmerking bovenop dat schema) genoeg, tesamen met 1 x uln2003A. Zo kan het dus ook, weer wat geleerd. :)

En over 'mijn' links, als je eenmaal die componenten in huis hebt wie ben ik dan om je op een ander (dwaal) spoor te zetten. Ieder bakt zn eitje naar eigen smaak toch ? ;)
De max 7221 kost bij conrad 11,80 euro, maar op ebay $5.80, 5 stuks ??!!, :? |:( ,free shipping als ik me niet vergis.
Ik heb die chip bij conrad besteld en 2x 4-digitdisplay's en wat andere prullaria om net boven de 25 euro te komen, dan vervallen namelijk de verzendkosten.
Zijn nog niet geleverd overigens :/
indien hij genoeg power kan geven voor al die ledjes
Een externe voeding wordt aangeraden ishy, bovendien gaan die 64 ledjes nooit tegelijk branden, die worden razendsnel gemultiplext.

edit: en nog wat, waarom wil je die 74AC trouwens vervangen ?

Ook weet ik niet wat hier van waar is, ik heb geen ervaring met die chinese dump-aanbiedingen :
The only catch is the MAX7219 isn’t the cheapest IC out there.
eBay seems to be full of counterfeit versions
http://www.planetarduino.org/?cat=245

[ Voor 10% gewijzigd door kitao op 26-11-2012 22:53 ]


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Hey

Eerste puntje: ik heb bovenstaande eerste even getest met een setup van 2x 74HC595N getest en dat werkte perfect.

Toen ben ik begonnen aan exact dezelfde setup volgens dit diagram zoals hierboven maar dan met die
TPIC6B595N. Dus de ULN2003A werd vervangen door een TPIC6B595N en de 74HC595N ook. Ik probeer dus dmv deze 2 64 leds aan te sturen, gestart van een basissetup van 12 leds.

Setup dus als volgt: een TPIC6B595N, daarachter weerstandjes (1 per rij ledjes) en dan de ledjes met alle + zijdes geconnecteerd. Aan de andere zijde van de matrix (de kolommen) opnieuw 1 TPIC6B595N rechtstreeks op alle - zijdes aangesloten van alle ledjes kolommen. Beetje wazig maar ik ga even op zoek naar een software pakketje voor een schema te tekenen :) Momenteel geeft het geen kik trouwens :)

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
http://fritzing.org/
Leuk programma, voor veel lijnen mss iets te beperkt, maar je hoeft ze niet allemaal te tekenen denk ik.

Verder als dit kom ik niet binnen een schappelijke tijd maar zoiets zou dan jouw opzet worden Ishy ?
Maar dan 8x8 ?
Afbeeldingslocatie: http://s7.postimage.org/4imsk9uuf/img77matrix.jpg
klik
Ik heb geen idee of het de juiste manier is om die IC's zo toe te passen maar je kunt het allicht proberen.
Pak gewoon 1 ledje, een weerstand en sluit die aan tussen die 2 IC's,, bijvoorbeeld allebei op pin 8.
Dan maak je 8A hoog en 8B laag.
Als dat brandt dan doet de rest dat ook volgens datzelfde principe lijkt mij.

[ Voor 69% gewijzigd door kitao op 28-11-2012 00:42 . Reden: afb. toegevoegd ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Mogge,
Na wat zoekwerk kwam ik dit tegen :
This item contains one TPIC6B595 chip! These chips similarly to the more well known 7HC595s but they are high power drains, able to sink 150mA per pin.
They cannot source current so they should be connected to LED cathodes.

This makes them ideal for use with LED matrices where you end up sinking 8 or more LEDs at once.
http://www.adafruit.com/products/457
Dus als het niet lukt om hier een led (of 8 tegelijk op 1 lijn) te laten branden is dat hierboven wrs de verklaring.
Je kunt dan misschien nog een combinatie maken van 1x 7HC595 en een TPIC6B595, dat werkt misschien beter.

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Enkele dagen geen tijd meer gehad maar vandaag prul ik er weer even aan. In ieder geval even voor mezelf een simpel schema getekend... zou goed moeten zitten volgens het schema.

Afbeeldingslocatie: http://yasti.be/TPIC6B595-light_bb

Ik ga nu even opnieuw code schrijven en alle aansluitingen checken en hopen dat er wat gaat branden...

Edit/Update: helaas, geen beweging in te krijgen met volgende code:

/*
Shift Register Example
for TPIC6B595 shift register by Jens C Brynildsen

This sketch turns reads serial input and uses it to set the pins
of a TPIC6B595 shift register.

Hardware:
* TPIC6B595 shift register attached to pins 7, 8, 11 and 12 of the Arduino,
as detailed below.
* LEDs attached to each of the outputs of the shift register

Based on the example created 23 Mar 2010 by Tom Igoe

*/

//Pin to clear the register
const int clearPin = 7;
//Pin connected to latch pin (ST_CP) of 74HC595
const int latchPin = 9;
//Pin connected to clock pin (SH_CP) of 74HC595
const int clockPin = 10;
////Pin connected to Data in (DS) of 74HC595
const int dataPin = 11;

int counter = 0;
int numLedsInUse = 8;

void setup() {
//set pins to output because they are addressed in the main loop
pinMode(clearPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
Serial.begin(9600);
Serial.println("*");

// delay a little and then set
delay(100);
// Always start by sentting SRCLR high
digitalWrite( clearPin, HIGH);
}

void loop() {
// Display LED's running
if( counter >= (numLedsInUse-1) ){
counter = 0;
} else {
counter++;
}

// write to the shift register with the correct bit set high:
registerWrite(counter, HIGH);
delay( 100 );
}

// This method sends bits to the shift register:

void registerWrite(int whichPin, int whichState) {
// the bits you want to send
byte bitsToSend0 = 0;
// write number as bits
bitWrite(bitsToSend0, whichPin, whichState);

// turn off the output so the pins don't light up
// while you're shifting bits:
digitalWrite(latchPin, LOW);

// shift the bits out
shiftOut(dataPin, clockPin, MSBFIRST, bitsToSend0);

// turn on the output so the LEDs can light up:
digitalWrite(latchPin, HIGH);
}

[ Voor 72% gewijzigd door ishy op 29-11-2012 21:18 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ik geloof dat ik er uit ben Ishy, jammer dat ik die chip niet zelf heb anders kon ik het ook proberen.
Dit is jouw breadboardtekening omgezet naar schema als ik me niet vergis :
Het eerste wat opvalt is dat jij stroom wil leveren met de TP68 terwijl die juist moet ontvangen.
(zie ook mijn vorige post :
They cannot source current so they should be connected to LED cathodes.
Ten tweede zijn de pins van de uno niet goed op de TP68 aangesloten.
Zie de code :
code:
1
2
3
4
5
6
7
8
9
10
*/

//Pin to clear the register
const int clearPin = 7;
//Pin connected to latch pin (ST_CP) of 74HC595
const int latchPin = 9;
//Pin connected to clock pin (SH_CP) of 74HC595
const int clockPin = 10;
//Pin connected to Data in (DS) of 74HC595
const int dataPin = 11;

In plaats daarvan heb jij pin 5,6,en 8 van de uno aangesloten.
Jouw tekening :
Afbeeldingslocatie: http://s7.postimage.org/wtbq9pi47/TPIC6_B595_light_bb.jpg
Omgezet naar schema door mij :
Afbeeldingslocatie: http://s12.postimage.org/n3wc484g9/img80.jpg

En je hebt de leds met weerstand verbonden aan GND terwijl die juist volgens een paar voorbeelden die ik heb gezien aan 5V verbonden moeten worden zoals dit :
Afbeeldingslocatie: http://s13.postimage.org/jv9j26q77/tpic6b595.jpg
http://www.appelsiini.net...-595-shift-registers#spcr
en dit :
Afbeeldingslocatie: http://s9.postimage.org/bel1hroxn/TPIC6_B595.jpg
http://flashgamer.com/ard...leds-with-shift-registers
In bovenstaande tekening staan de leds overigens verkeerd om, het gebogen pootje is de anode, die moet aan de weerstand en de kathode aan de 6B595.

Dit zou het uiteindelijke schema moeten worden (volgens mij hè ;)
Afbeeldingslocatie: http://s9.postimage.org/n69tvbhff/img81.jpg
met deze code:
code:
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*
 Shift Register Example
 for TPIC6B595 shift register by Jens C Brynildsen

 This sketch turns reads serial input and uses it to set the pins
 of a TPIC6B595 shift register.

 Hardware:
 * TPIC6B595 shift register attached to pins 7, 8, 11 and 12 of the Arduino,
 as detailed below.
 * LEDs attached to each of the outputs of the shift register

 Based on the example created 23 Mar 2010 by Tom Igoe

 */

//Pin to clear the register /SCRLR (IC-PEN 8
const int clearPin = 7;
//Pin connected to latch pin RCK  (IC-PEN 12
const int latchPin = 8;
//Pin connected to clock pin SRCK  (IC-PEN 13
const int clockPin = 12;
////Pin connected to SerIn  (IC-PEN 3
const int dataPin = 11;

int counter = 0;
int numLedsInUse = 8;

void setup() {
  //set pins to output because they are addressed in the main loop
  pinMode(clearPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
  pinMode(dataPin, OUTPUT);  
  pinMode(clockPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("*");
  
  // delay a little and then set 
  delay(100);
  // Always start by sentting SRCLR high
  digitalWrite( clearPin, HIGH);
}

void loop() {
  // Display LED's running
  if( counter >= (numLedsInUse-1) ){
    counter = 0;
  } else {
    counter++;
  }
  
  // write to the shift register with the correct bit set high:
  registerWrite(counter, HIGH);
  delay( 100 );
}

// This method sends bits to the shift register:

void registerWrite(int whichPin, int whichState) {
  // the bits you want to send
  byte bitsToSend0 = 0;
  // write number as bits
  bitWrite(bitsToSend0, whichPin, whichState);

  // turn off the output so the pins don't light up
  // while you're shifting bits:
  digitalWrite(latchPin, LOW);
  
  // shift the bits out
  shiftOut(dataPin, clockPin, MSBFIRST, bitsToSend0);

  // turn on the output so the LEDs can light up:
  digitalWrite(latchPin, HIGH);
}


Overigens kan misschien /SRCLR toch direkt aan 5V worden aangesloten zoals jij eerst had.

[ Voor 44% gewijzigd door kitao op 30-11-2012 03:01 ]


Acties:
  • 0 Henk 'm!

Anoniem: 172410

Grappig topic. Ik ben toevallig zelf bezig met een hangklok, maar zit te twijfelen er een elektronische tijdcorrectie in te bouwen aan de hand van een Arduino.

Overigens realiseerde ik me dat ik het Vellemankitje hierboven ook nog heb liggen, dat moet ook maar eens gebeuren.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ok, leuk dat iemand nog meeleest op dit tijdstip :)
Welke velleman had jij nog liggen ?
ps, ik log uit :O

Acties:
  • 0 Henk 'm!

Anoniem: 172410

kitao schreef op vrijdag 30 november 2012 @ 03:19:
Welke velleman had jij nog liggen ?
kitao schreef op zondag 18 november 2012 @ 23:40:
dan heb ik hier een mooi kitje voor je :

[afbeelding]
http://www.velleman.eu/products/view/?id=343945
Nadeel is wel dat er geen uitleg bij de schakeling zelf wordt gegeven, enkel over het opbouwen ervan.
Als ik mij niet vergis deze. Ik had dit setje gekozen omdat er veel verschillende soorten onderdelen in zitten en ik wilde oefenen met m'n soldeerstation. Helaas liggen die beiden nog nieuw in de doos, zoveel andere zut te doen :|

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
okay, even mijn schema herwerkt naar dit:

Afbeeldingslocatie: http://yasti.be/TPIC6B595-light_bb2.png

Ik snapte ook eerst je opmerking niet
They cannot source current so they should be connected to LED cathodes.
Maar denk dat ik het nu wel begrijp... ik kan maandag pas proberen of dit werkt, eerder zie ik mn prullen niet terug :)

Dus het initiele idee zal inderdaad niet werken om 2x deze te gebruiken voor een matrix maar zoals je in je vorige post zei, de combinatie moet wel lukken!

Thanks!

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Als je hem zo opbouwt heb je kans dat je pin7 op de uno opblaast.
/SRCLR op de 6B595 kan je dan beter óf op die pin7 zetten óf op 5V maar allebei zou ik niet doen want als je dan per ongeluk pin7 laag maakt in je programmacode dan heb je meteen kortsluiting.

En waarom de B95 geen stroom 'levert' is me eigenlijk nog niet helemaal duidelijk, dat ga ik eens opzoeken maar zal misschien komen omdat er mosfets inzitten ofzoiets en als ik het niet kan vinden dan vraag ik het in de kroeg.
(altijd verwarrend, stroom loopt van min naar plus, maar goed, voor de duidelijkheid (ook voor mezelf) noem ik dat maar zo)
Voor leds heb je trouwens een ezelsbruggetje, KNAP, kathode negatief, anode positief, en de Kathode heeft een Kort pootje.
Afijn, ik hoor het maandag wel, even een tipje, bouw de schakeling op blokje voor blokje, test eerst of dit werkt en breid dan uit naar die combinatie.
En jij bedankt voor het introduceren van deze IC's. 8)
O ja, nog iets, je gebruikt nu pin 5,6,7,8, van de uno, ik neem aan dat je weet dat dit dan ook in de gebruikte code aangepast moet worden toch ?
Dus het initiele idee zal inderdaad niet werken om 2x deze te gebruiken voor een matrix maar zoals je in je vorige post zei, de combinatie moet wel lukken!
Nou, ik geef geen garantie, ik heb zelf die IC's niet dus ik zit enkel een beetje theoretisch mee te lullen.
Pas als ik zoiets zelf heb opgebouwd met een werkend resultaat, dan pas ga ik andere mensen vertellen, die het horen willen, dat het in de praktijk ook toepasbaar is. ;)

[ Voor 26% gewijzigd door kitao op 30-11-2012 16:33 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Anoniem: 172410 schreef op vrijdag 30 november 2012 @ 03:03:
Grappig topic. Ik ben toevallig zelf bezig met een hangklok, maar zit te twijfelen er een elektronische tijdcorrectie in te bouwen aan de hand van een Arduino.
Je bedoelt een mechanische klok zoiets als dit ?
Afbeeldingslocatie: http://s12.postimage.org/dkdqgi555/136704843_2_hangklok.jpg
Hoe je de tijd wil verstellen met een micro kan ik me nog wel iets bij voorstellen door een servo aan de wijzer-assen te zetten (makkelijker gezegd als gedaan) maar hoe laat je de tijd die de klok geeft, inlezen door de arduino ?
Zo'n project lijkt me behoorlijk complex. :/

Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

kitao schreef op zondag 25 november 2012 @ 11:52:
Tja, aangenomen dat je het ook tegen mij hebt, dit 'ether-dingetje',
[afbeelding]
kost wel 35 euro.
Afgezien daarvan, 1 stap tegelijk is groot genoeg,
Enc28j60 breakout printje kost 4 a 5 dollar op ebay, zijn ook zat arduino libs voor, libs kunnen eigenlijk hetzelfde als die voor de w5100 chip(ethetnetschield). ;)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

Anoniem: 172410

kitao schreef op vrijdag 30 november 2012 @ 21:59:
Je bedoelt een mechanische klok zoiets als dit ?
[afbeelding]
Jups, een slingerklok :Y Dan wel eentje met een kortere slinger, 25 cm levert een slingertijd van een seconde op (dus heen en weer in een seconde).
Hoe je de tijd wil verstellen met een micro kan ik me nog wel iets bij voorstellen door een servo aan de wijzer-assen te zetten (makkelijker gezegd als gedaan) maar hoe laat je de tijd die de klok geeft, inlezen door de arduino ?
Zo'n project lijkt me behoorlijk complex. :/
De wijzers zomaar verzetten gaat lastig, aangezien je dan ook het mechanisme daarachter beïnvloed. Ik zat meer een aan magnetische impuls te denken die direct invloed heeft op de slinger. Een andere optie, iets minder elegant, is het direct aanpassen van de slingerlengte. Met wat voorzichtigheid valt dat denk ik wel te doen zonder dat het mechanisme in de soep loopt.

Ik weet alleen niet of het nodig is, wenselijk is en of een Arduino daarvoor de handigste optie is, want het spul moet ook aangedreven worden door een mechanisme binnen de klok. Ik wil geen externe krachtbronnen, inclusief batterijen. Het moet allemaal aangedreven worden door zwaartekracht. Daarvoor zijn verschillende opties, zoals bijvoorbeeld inductie door de slinger of andere elementen, maar het beperkt de hoeveelheid energie die beschikbaar is wel redelijk.

Complex wordt het sowieso, maar dat was het al toen ik besloot zelf een klok te gaan ontwerpen en bouwen :/

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ik kreeg net een idee wat de zaken wellicht wat eenvoudiger maakt, in principe hoef je maar dagelijks of wekelijks de tijd gelijk te zetten.
Als je dit dan om 12 uur doet dan is het ook niet nodig om de hele klok te laten positioneren en op te meten dacht ik zo.
Welke oplossing je ook kiest, als je dit doorzet, ik ben sowieso benieuwd ernaar. :)

Acties:
  • 0 Henk 'm!

Anoniem: 172410

Periodieke bijstelling is inderdaad een handig idee, ook met het oog op de energiehuishouding. De slinger in een uiterste positie vasthouden moet niet zo'n probleem vormen, echter wordt het lastiger als het ding te langzaam draait (en er dus ingehaald moet worden). Dan zou je de klok al structureel te snel moeten laten draaien om 'm vervolgens weer elektronisch te dempen en volgens mij begin je dan al verkeerd. Het elektronische deel moet echt een correctie zijn en niet eigenlijk de tijdmeting doen.

Maar goed, eerst maar eens zien dat ik het mechaniek aan de praat krijg.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ik dacht eigenlijk dat de tijdcorrectie enkel uit het periodiek verstellen (gelijkzetten) van de wijzers bestond, maar er zit dus meer aan vast.
O, en dat schreef je hier al :
De wijzers zomaar verzetten gaat lastig, aangezien je dan ook het mechanisme daarachter beïnvloed.
Toch weet ik van huis uit dat dit in feite de enige manier is om een slingerklok gelijk te zetten, glaasje open en heel voorzichtig de wijzers op hun plaats bewegen.

[ Voor 51% gewijzigd door kitao op 02-12-2012 02:08 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
So, de 8x8 led-segment matrix zit eindelijk in elkaar na het knopen van circa 30 jumpers en een stuk of 40 op maat geknipte en aan beide kanten gestripte montagedraden.
Alle A,B,C, ... , DP's inmiddels getest en dat zit in ieder geval goed, hier in beeld de G's.
Afbeeldingslocatie: http://s17.postimage.org/7g8s4b723/IMG_0298.jpg
klik
Ik ben echt opgelucht dat ik, omdat hier een max7221 als driver gebruikt gaat worden, die ik er nog op moet zetten, niet ook nog eens 64 weerstanden eraan vast hoef te knopen.
Het ergste zit er nu op hoop ik om hiermee een werkende led-matrix klok te kunnen maken.
Helaas heb ik de real time clock nog niet binnen maar wellicht dat ik morgen hier een teller van kan maken.
Vandaag geen zin meer. ;)
===============================
Edit 3/12
Inmiddels de Max erop gezet als tweede stap en ook dat ging goed gelukkig, met als opmerking erbij dat de IC heel stevig en gelijkmatig aangedrukt moest worden in het breadboard :
Afbeeldingslocatie: http://s11.postimage.org/52akx1xrz/IMG_0304.jpg
Laatste stap zal dan worden het aansluiten van de RTC als die is geleverd.
============================
Edit 4/12
Nog een word-clock instructable gevonden :)

[ Voor 25% gewijzigd door kitao op 04-12-2012 13:29 ]


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Mmm blijkbaar is mijn post van gisterenavond er niet door gekomen :) dus even laten weten dat mn eerste setup is gelukt met de TPIC6B595

Nu ga ik proberen om met 2x deze te gebruiken toch een matrix te bouwen... zou in principe moeten lukken las ik:
Sure, can use two TPIC6B595.

One will control current into the anodes, one will sink current from the cathodes.
Connect the anode control between the resistor and the anode.

Connect 2nd TPIC6B595 between resistor & anode.

So, drive the anodes, letting them go hi/low as needed for a column with 8 outputs of one shift register.
WIth the other, pull the cathode low for that 1 column.

Anode current is then either going into the anodes, or into the anode shift register.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Mogge Ishy,
Hou er wel rekening mee dat er ook een berg onzin op het net staat hoe iets zou kunnen of niet, maar kan geen kwaad denk ik om het zelf te proberen in een testopstelling.
Neem ook eens een kijkje in het arduino- en het kroeg-topic van de afgelopen dagen als je wil, een aantal algemene vragen over de door mij gebruikte IC en over de 6B595 heb ik daar neergezet.
Deze lijkt me wel toepasselijk op jouw post o.a.en dan vooral het antwoord erop :
kitao in "De EL-kroeg - Deel 3"
O ja, ik heb jouw bron proberen te achterhalen maar niet gevonden, heb je een linkje ?

En ik heb een heel mooi frame gevonden voor de word-clock (vind ik dan)
http://www.instructables.com/id/Sleek-word-clock/#step1
Afbeeldingslocatie: http://s11.postimage.org/70c3mu7tb/img85.jpg
klik
RIBBA Frame, black $9.99

'Mijn' klok is bijna af, ik heb er al een countdownteller op lopen, wachten is op de RTC-module.
En ik zeg erbij dat ik het bij een breadboard-prototype houd, ik heb vooralsnog geen plannen er iets moois van te maken zoals jij.
Afbeeldingslocatie: http://img.youtube.com/vi/3HeWLXY200Q/default.jpg
http://www.justblair.co.u...our-countdown-sketch.html
(en ja, dit is ook een 8x8 matrix oftewel 64 leds ;)

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Die frame had ik inderdaad al opgepikt :-) lijkt me vrij ideaal! Ik probeer het vanavond zeker maar probeer nog net te begrijpen wat de juiste opstelling dan is.

Nu is het TPIC6B595N - led negatieve zijde - led positieve zijde - weerstand - 5V

Maar in de nieuwe setup zoals hierboven zou het dan zo zijn:
TPIC6B595N - led negatieve zijde - led positieve zijde - TPIC6B595N - weerstand - 5V? Ik neem aan dat dit dan een soortgelijke setup zal zijn op de positieve zijde als gemaakt werd bij de ULN2003A Driver zoals we hier al toonden

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Daarom vroeg ik ook naar een link van de bron want eerlijk gezegd snap ik geen pepernoot van die omschrijving :
Sure, can use two TPIC6B595.
One will control current into the anodes, one will sink current from the cathodes.Connect the anode control between the resistor and the anode.Connect 2nd TPIC6B595 between resistor & anode.
So, drive the anodes, letting them go hi/low as needed for a column with 8 outputs of one shift register.
WIth the other, pull the cathode low for that 1 column. Anode current is then either going into the anodes, or into the anode shift register.
En hiervoor schreef je dit :
ik kan maandag pas proberen of dit werkt, eerder zie ik mn prullen niet terug
Ging dat beter ?
Ik krijg nu de indruk dat je 3 typen IC's hebt, een 6B595, een ULN2003A en een HCF4094 en dat je die in allerlei verschillende formaties wilt uitproberen.
Daar is op zich helemaal niks mis mee, integendeel, heel leerzaam, maar echt koersvast komt het niet op mij over.
Als het jouw doel is om zomin mogelijk chips te gaan gebruiken dan kun je netzogoed meteen over stappen naar een max7219 of 7221. Dan kun je ook meteen al die weerstanden vergeten, die heb je dan niet nodig.

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
De simpele setup is gelukt, dat stond in de post van gisterenavond maar blijkbaar is die er niet doorgekomen waardoor de verwarring, excuses!

Ik probeer inderdaad verschillende combinaties uit om met zo min mogelijk poorten zoveel mogelijk leds performant/bright aan te sturen.

Edit: Gezien de 6B595 met 4 outputs aan te sturen is hoop ik tot 8 outputs te komen om 64 leds aan te sturen of meer indien mogelijk.

Gezien de 6B595 met 4 outputs aan te sturen is en daarna door te linken is naar een 2de 6B595 lijkt me dit al erg interessant om mee te gaan werken ipv met anderen.


De 74HC595N heb ik ook al getest in matrix en dit werkte ook.

Blijkbaar is de Max7221 ook mogelijk om rechtstreeks 64 leds te bedienen met 3 outputs, klopt dat? En heb je dan geen weerstanden meer nodig zeg je?

[ Voor 12% gewijzigd door ishy op 05-12-2012 12:57 . Reden: Denkfout, zie doorschrapping ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ja dat klopt, ik heb het levende bewijs hier voor me dat er geen aparte stroombegrenzende weerstanden nodig zijn.
Ik heb één max7221, 1 weerstand van 33K, 1 condensator van 100nF, 1 electr.condensator van 10uF en dat is voldoende om 64 leds apart mee aan te sturen.
http://playground.arduino.cc/Main/MAX72XXHardware
Drie outputs vanaf de arduino zijn inderdaad voldoende, namelijk load/chipselect, data-in en clock.
8 pennen vanaf het IC geven de plus op de matrix en 8 pennen op het IC zorgen voor de min op de matrix, deze 16 pennen heten SEGdp-SEGg en Dig0 - Dig7
Het programma wat je erin zet dat (bijvoorbeeld) gebruikt maakt van de library LedControl doet dan de rest.

Toch merk ik wel dat je razendsnelle vooruitgang boekt, ook het tekenen had je erg snel door. Probeer die opstelling maar met twee x 6b595, ik ben benieuwd :)

[ Voor 3% gewijzigd door kitao op 05-12-2012 13:16 ]


Acties:
  • 0 Henk 'm!

Anoniem: 172410

kitao schreef op zondag 02 december 2012 @ 02:03:
Toch weet ik van huis uit dat dit in feite de enige manier is om een slingerklok gelijk te zetten, glaasje open en heel voorzichtig de wijzers op hun plaats bewegen.
Wel de gangbare, maar niet de enig denkbare als je het zelf doet :) Zoals gezegd kan je misschien de slinger ook beïnvloeden om zo een extra nauwkeurige beweging te creëren, maar ik moet daar nog eens goed over nadenken. Volgens mij zijn er nog wel meer opties.

Maar goed, eerst de boel maar eens gewoon aan de praat krijgen. Ik heb gisteren wat testtandwielen gesneden en dat is allemaal zoals verwacht verlopen, al kunnen de tandwielen nog een bups kleiner dan ik al dacht. Nu echt Solidworks maar eens induiken om het geheel in elkaar te frotten en vervolgens te snijden. Als de basis eenmaal werkt kan ik het complexer gaan maken.

[ Voor 45% gewijzigd door Anoniem: 172410 op 05-12-2012 15:52 ]


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Mmm momenteel heb ik 2 afzonderlijke 595's aan de praat gekregen en nu ook de gelinkte maar ik snap de code nog niet helemaal... daar even op werken, dan proberen in matrix te krijgen... morgen krijg ik normaal de max7221s dus als ik die kan linken en 1 grote matrix van kan maken zit het er op voor mij :) enfin, toch het grootste gedeelte.

Kitao, waar heb je je rtc chip besteld en welke juist? Of heb ik dat ergens gemist? Ik dacht die van adafruit te bestellen.

Thanks

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
ebay, ik ben zo terug met meer info.

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
ik heb intussen de matrix met 2x de 6B595 voor elkaar gekregen. Ik teken het even uit want het is toch wel wat speciaal :)

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ik heb sommige posts over de klok in een ander topic gezet, dat ging meer over bestellen enzo dus vandaar.
Hier kun je klikken welke rtc-module ik heb besteld, een losse DS-chip en een los kristal was namelijk via conrad of andere zaken niet makkelijk aan te komen.
http://www.ebay.com/itm/D...ny-uControl-/330778120169
Als je rondom deze post de commentaren leest dan krijg je diverse tips daarover :
kitao in "De EL-kroeg - Deel 3"
Nadeel, ik zit nu al meer dan een week te wachten op die module. }:|
Is ook te koop via Iprototype, dan heb je die morgen al in huis, helaas kon ik die toen niet vinden :
https://iprototype.nl/pro...rs/real-time-clock-module

Je zegt dat je bijna klaar bent Ishy, ga je het nog wel inbouwen ?
En als je het lastig vindt om een code te vinden dan help ik graag, twee weten meer als éen of zet het in een ander topic, er lopen hier zat ervaren programmeurs rond. ;)
Anoniem: 172410 schreef op woensdag 05 december 2012 @ 15:45:
Wel de gangbare, maar niet de enig denkbare als je het zelf doet :) Zoals gezegd kan je misschien de slinger ook beïnvloeden om zo een extra nauwkeurige beweging te creëren.
Ja, dat is natuurlijk het beste, een nauwkeurige klok hoef je helemaal niet bij te stellen, helaas zit er geen atoomchipje in een slingerklok toch ? :/
Ik vind het wel knap dat je je eigen tandwielen uitsnijdt, hoe doe je dat ?

edit @ishy
Die modules vereisen wel wat soldeerwerk, ben je daar bekend mee als ik vragen mag ?

[ Voor 30% gewijzigd door kitao op 05-12-2012 22:02 . Reden: link toegevoegd ]


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Ik hoop dat solderen niet veel problemen mag leveren, heb me toch al wat eenvoudigs aangeschaft en anders ga ik wel iemand vinden die het me kan uitleggen :)

Bedoeling is inderdaad om alles in te bouwen. Zaterdagavond zou ik alle leds willen solderen in de kader zodat ik echt de matrix kan testen, tot dan zit ik met gelimiteerde test opstellingen en daarom probeer ik nu zo veel mogelijk ICs. De max7221 zal de laatste zijn en dan een keuze maken. Op dit moment lijkt de ULN2003A Driver met enkele 74HC595N of 6B595 lijken me het stabielste, beste helderheid.

Om 2x de 6B595 te gebruiken als matrix blijkt geen goed idee te zijn. De opstelling ziet er als volgt uit maar dan met veel meer leds uiteraard:

Afbeeldingslocatie: http://yasti.be/TPIC68595.PNG

Je kan nu dus door middel van exit 0 van de 2de 6B595 led 0 mee controleren en met exit 1 kan je led 1,2 en 3 mee controleren.

Dit blijkt echter zo veel stroom te verbruiken dat het vaak maar heel even werkt. Ik heb dit duidelijk kunnen testen door een extra led toe te voegen die je enorm zag verzwakken.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Ik zal dit eens bekijken in een schema morgen, zoals eerder vermeld 'levert' de 6b595 geen stroom, dus het verbaast me niks dat de opstelling niet naar behoren werkt.
Als je de max 7221 probeert zorg dan ook voor een paar extra weerstanden tussen de 33K en de 65K.
Ik heb 33K en dit geeft een heel helder display, een 40K - 45K - 50K -55K - 60K -65K had ik eigenlijk ook wel willen proberen, dat scheelt allemaal stroom en heb je ook geen externe voeding nodig en dan kan die direkt vanaf de usb aangesloten worden. (gaf bij mij ook geen problemen maar hangt wel van het type led af)
Overigens weet ik niet de gevolgen voor de usb-poort als deze overbelast wordt dus ik neem daar ook geen verantwoording voor en ik las eerder dat je ook een LM7405 hebt aangeschaft ? Misschien kan je die dan beter toepassen.
33K wordt overigens aangeduid als een goede waarde in de diverse beschrijvingen en dat klopt ook wel, de intensiteit van het display kan je dan in de code nog een beetje bijregelen.
Bedankt voor je schema overigens en over het solderen kun je vele tientallen video's vinden, is niet echt moeilijk en zeker niet om enkel een pinheader op die module te zetten.
Bedenk wel, eenmaal vastgesoldeerd en pootjes afgeknipt van de leds maakt herstel en corrigeren behoorlijk lastig en kliederig als je dit los moet solderen met litze ofzo dus test eerst goed voordat je het definitief maakt.

[ Voor 5% gewijzigd door kitao op 05-12-2012 23:50 ]


Acties:
  • 0 Henk 'm!

Anoniem: 172410

kitao schreef op woensdag 05 december 2012 @ 21:40:
Ja, dat is natuurlijk het beste, een nauwkeurige klok hoef je helemaal niet bij te stellen, helaas zit er geen atoomchipje in een slingerklok toch ? :/
Ik vind het wel knap dat je je eigen tandwielen uitsnijdt, hoe doe je dat ?
Ik teken ze nu in Solidworks en snijd ze met een lasersnijder uit perspex, maar ik denk dat het uiteindelijk iets totaal anders moet worden (denk gietijzer of iets in die trant :p). Op deze manier kan je wel lekker vlot een prototype bouwen en ideeën testen :)

[ Voor 3% gewijzigd door Anoniem: 172410 op 06-12-2012 03:43 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
ishy schreef op woensdag 05 december 2012 @ 22:21:
Om 2x de 6B595 te gebruiken als matrix blijkt geen goed idee te zijn. De opstelling ziet er als volgt uit maar dan met veel meer leds uiteraard:
Afbeeldingslocatie: http://i.imgur.com/xoMCnl.png

Je kan nu dus door middel van exit 0 van de 2de 6B595 led 0 mee controleren en met exit 1 kan je led 1,2 en 3 mee controleren.
Dit blijkt echter zo veel stroom te verbruiken dat het vaak maar heel even werkt. Ik heb dit duidelijk kunnen testen door een extra led toe te voegen die je enorm zag verzwakken.
Ok, ik heb dit even op papier gezet en vergeleken met een soortgelijke schakeling.
De linkse TP zit goed, aangenomen dat de plus en de min horizontale lijnen bovenin het breadboard ook aangesloten zijn, die heb je niet getekend.
Maar wat je met TP rechts doet kan echt niet volgens mij, die zwarte lijnen die naar de weerstanden bij de leds lopen wat wil je daarmee doen ?
Beter is ook om de pennen bij naam te noemen, er is geen exit pen, die worden drains genoemd D0-D7.
Bouw dit eens op, dat gaat vast veel beter, jouw schakeling is daar op gebaseerd zo te zien :
Afbeeldingslocatie: http://i.imgur.com/1WKhL.png
http://www.appelsiini.net/2012/driving-595-shift-registers
Nadeel, om hiermee 64 leds te sturen heb je 8 x 6B595's nodig en 64 aparte weerstanden.

En let op de korte zwarte en rode draad in de tekening op de horizontale lijnen onderaan het breadboard, die zijn noodzakelijk omdat hier de verbinding intern is verbroken.

[ Voor 5% gewijzigd door kitao op 06-12-2012 04:09 ]


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Anoniem: 172410 schreef op donderdag 06 december 2012 @ 03:10:
Ik teken ze nu in Solidworks en snijd ze met een lasersnijder uit perspex, maar ik denk dat het uiteindelijk iets totaal anders moet worden (denk gietijzer of iets in die trant :p). Op deze manier kan je wel lekker vlot een prototype bouwen en ideeën testen :)
Net even Solidworks opgezocht, ziet er goed uit zeg en de lasersnijder kun je hier in bruikleen krijgen.
Metaal snijdt die echter niet, heeft daar de kracht niet voor staat er.

Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
hey kitao

die van jou had ik al getest en die werkt perfect, maar daarmee kan je dus geen matrix doen maar slechts een aaneenschakeling met iedere keer 8 extra leds.

Het idee van de aansluiting, en het werkt wel degelijk alleen niet optimaal, is van iemand anders (ik kan geen link geven gezien het een mail was) maar het komt hierop neer:
For each LED:
+5 to resistor, resistor to anode, cathode to TPIC6B595 output (which connects to Gnd internally).

Now connect the output of the other TPIC6B595 to the anode. When the shift register output is low, the anode, the cathode cannot turn it on.
This way you can control a matrix, or multiple 7-segment digits.

Say you had 4 digits.
Wire all the A anodes in parallel, all the B's, etc. For every digit wire the ABCDEFG cathodes to one shift register output.

Now, drive the Anodes, sink current in cathode 1. release cathode 1.
drive the Anode, sink current cathode 2. release cathode 2.
repeat for 3, 4.
Segments will be on when an anode is allowed to be pulled high by the pullup resistor, and off when anode shift register pulls the anode low.
All segments are off when the cathodes are high.
Blijkt dus te werken alleen heeft hij precies niet voldoende stroom om te doen wat ik wil... dus ga ik vandaag naar jou opstelling met de max7221 (levering om 9 uur :-)) en dan zou ik met 1 IC 64 leds moeten aansturen naar wat jij vertelde dus ideaal.

Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
For each LED:
+5 to resistor, resistor to anode, cathode to TPIC6B595 output (which connects to Gnd internally).
Now connect the output of the other TPIC6B595 to the anode. When the shift register output is low, the anode, the cathode cannot turn it on.
This way you can control a matrix, or multiple 7-segment digits.
Say you had 4 digits.
Wire all the A anodes in parallel, all the B's, etc. For every digit wire the ABCDEFG cathodes to one shift register output.
Now, drive the Anodes, sink current in cathode 1. release cathode 1.
drive the Anode, sink current cathode 2. release cathode 2.
repeat for 3, 4.
Segments will be on when an anode is allowed to be pulled high by the pullup resistor, and off when anode shift register pulls the anode low.
All segments are off when the cathodes are high.
Ok, ik heb hier zo goed mogelijk een schema van gemaakt :
Afbeeldingslocatie: http://i.imgur.com/NBBAQ.png
Ik zie niet, ook na een uur kijken niet, hoe ik van Digit-0 uitsluitend de A0 kan laten branden en tegelijkertijd van Digit-1 uitsluitend de B1 kan laten branden.
Dat wil niet zeggen dat het niet kan, maar ik zie het niet zonder verduidelijking met een tekening van de ontwerper.
Een ander schema wat ik probeerde kampt met hetzelfde probleem volgens mij :
Afbeeldingslocatie: http://i.imgur.com/d68N6.png

Maakt verder niet uit, je bent nu toch overgestapt op de max21, als je vragen hebt stel ze gerust, ik heb die schakeling hier ook staan. :)
Heb je al een RTC besteld ?

Acties:
  • 0 Henk 'm!

  • DrFlash
  • Registratie: Juli 2009
  • Laatst online: 05-03 12:59
Ik heb toevallig gisteren hetzelfde gedaan, alleen ik heb een 8x4 matrix (7 segment display + dt * 4) en maar 1 shift register. zal in fritzing ff m'n schema zetten, wou ik toch nog doen.

Wowhead profiel


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
Tof, hoe meer deelnemers hoe beter. d:)b

Acties:
  • 0 Henk 'm!

  • DrFlash
  • Registratie: Juli 2009
  • Laatst online: 05-03 12:59
Ik heb even snel wat in elkaar geknutseld met een 7x5 matrix omdat die beschikbaar was in de fritzing software. in het kort

van de 595, 7 outputs gebruikt om de rijen aan te sturen.
de 5 kolommen direct aangesloten op de arduino, eventueel zou je hier ook een shift register voor kunnen gebruiken, en dan dus de 5 lijnen op de outputs van die register aansluiten.

Om de ground aan of uit te kunnen zetten gebruik ik dus een npn transistor, waarbij je de collector op de common pin aansluit van de led matrix kolom, de emitter op ground en de basis via een 1k weerstand op een output pin die hoog en laag geschakeld kan worden.
Afbeeldingslocatie: http://www.daaw.org/data/arduino%20matrix%207x5_bb.png

*edit was +5 en gnd vergeten. even bijgewerkt.

[ Voor 3% gewijzigd door DrFlash op 06-12-2012 17:13 ]

Wowhead profiel


Acties:
  • 0 Henk 'm!

  • ishy
  • Registratie: Oktober 2009
  • Laatst online: 07-12-2024
Kitao zou je het erg vinden om je code te delen die je gebruikte voor je matrix? Omdat je spreekt over een lib en ik tot nu toe als zelf geschreven heb? Misschien dat ik op die manier een handigere manier ontdek!

DrFlash een volledig andere manier dan ik gebruikte, mogelijk omdat ik met leds werk en niet met een display?

THanks!

Acties:
  • 0 Henk 'm!

  • DrFlash
  • Registratie: Juli 2009
  • Laatst online: 05-03 12:59
ishy schreef op donderdag 06 december 2012 @ 14:55:
DrFlash een volledig andere manier dan ik gebruikte, mogelijk omdat ik met leds werk en niet met een display?
Nope maakt niet uit, zolang je een matrix maakt maak je rijen en colums waarbij je (als het goed is) je rijen op de + van de leds maakt, en je columns op de - (of nul). Dan werkt de manier zoals ik beschreven heb.

Hoe je zo'n matrix in elkaar zet:
http://www.instructables.com/id/Make-a-24X6-LED-matrix/

[ Voor 9% gewijzigd door DrFlash op 06-12-2012 15:03 ]

Wowhead profiel


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
ishy schreef op donderdag 06 december 2012 @ 14:55:
Kitao zou je het erg vinden om je code te delen die je gebruikte voor je matrix? Omdat je spreekt over een lib en ik tot nu toe alles zelf geschreven heb? Misschien dat ik op die manier een handigere manier ontdek!
Geen probleem.
Maar allereerst weet je hoe je een library kunt aanmaken in de uno ?
Zo ja, begin dan met de lib ledcontrol erin te zetten die je hier kunt vinden :
http://playground.arduino.cc/Main/LedControl#Source
En gebruik eventueel mijn vorige post voor een vrij compleet overzicht voor hardware-opstelling en de software die toegepast wordt.

Als nu eenmaal die lib ledcontrole erin staat dan kun je daarna een programma erin zetten die daarvan gebruik maakt. (al dan niet zelf geschreven)

[ Voor 8% gewijzigd door kitao op 06-12-2012 15:13 ]


Acties:
  • 0 Henk 'm!

  • DrFlash
  • Registratie: Juli 2009
  • Laatst online: 05-03 12:59
@kitao, om de leds tegelijk te laten branden moet je multiplexen. in simpele termen komt het hier op neer:

bij een display waar op de + de rijen zitten, en op 0 de kolommen in de arduino,

void loop {
pinrij1 hoog
pinrij2 laag
pinrij3 laag
pinrij4 laag

pincol1 hoog
pincol2 laag
pincol3 laag
pincol4 laag
}

dit laat ledje 1,1 branden. wil je een 2de led aan zetten (1,2) moet je de loop uitbreiden:

void loop {
pinrij1 hoog
pinrij2 laag
pinrij3 laag
pinrij4 laag

pincol1 hoog
pincol2 laag
pincol3 laag
pincol4 laag
delay (1); // Wacht 1 miliseconde.
pinrij1 laag
pinrij2 hoog
pinrij3 laag
pinrij4 laag

pincol1 hoog
pincol2 laag
pincol3 laag
pincol4 laag
delay (1); // Wacht 1 miliseconde.
}

nu branden er voor het oog 2 leds, echter branden ze in het echt na 1ms na elkaar.

Wowhead profiel


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
@DrFlash
Ik begrijp je schema wel, ook het multiplexen is me niet vreemd, de max7221 maakt daar ook gebruik van.
Toch - en ik schrijf dit met alle respect want zulke tekeningen maken is best veel werk en die van jou is ook heel overzichtelijk gemaakt - zou ik toch willen verzoeken om in Fritzing over te stappen naar het schema-view ipv het breadboard-view.
Naar mijn mening is dan veel sneller het principe van de schakeling af te lezen.

ps, je kunt zo'n matrix ook gewoon kant en klaar kopen :
https://iprototype.nl/pro.../led-matrix-8x8-red-green

[ Voor 13% gewijzigd door kitao op 06-12-2012 15:47 ]


Acties:
  • 0 Henk 'm!

  • DrFlash
  • Registratie: Juli 2009
  • Laatst online: 05-03 12:59
kitao schreef op donderdag 06 december 2012 @ 15:39:
@DrFlash
Toch zou ik toch willen verzoeken om in Fritzing over te stappen naar het schema-view ipv het breadboard-view.
Naar mijn mening is dan veel sneller het principe van de schakeling af te lezen.
naar mijn mening is het veel lastiger te zien in een schema view, als je de technische aansluitingen wil zien is het dan wel weer handiger, maar om "even snel" achter iets te komen vind ik niet. maar ieder z'n ding. Misschien handig om in de toekomst gewoon beide te posten :) fritzing laat je makkelijk schakelen.
ps, je kunt zo'n matrix ook gewoon kant en klaar kopen :
https://iprototype.nl/pro.../led-matrix-8x8-red-green
Klopt, maar het is natuurlijk veel leuker om het zelf te maken, daarnaast komt het concept van de rijen en kolommen ook beter over als je het een keer gedaan, of in ieder geval gezien hebt.

dan nog voor ishy, je hoeft natuurlijk de rijen en kollommen niet ook als zodanig naast elkaar te zetten, de leds kan je plaatsen waar je wilt, echter voor de adressering en het bouwen van een schema is het het meest efficient de matrix methode te gebruiken voor het aansturen van grote hoeveelheden leds.

Wowhead profiel


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Nu online
DrFlash schreef op donderdag 06 december 2012 @ 16:11:
[...]naar mijn mening is het veel lastiger te zien in een schema view, als je de technische aansluitingen wil zien is het dan wel weer handiger, maar om "even snel" achter iets te komen vind ik niet. maar ieder z'n ding. Misschien handig om in de toekomst gewoon beide te posten :) fritzing laat je makkelijk schakelen.
Ok, ik heb begrip daarvoor, met een beetje puzzelen en een datasheet erbij van de IC in kwestie komt men er ook wel uit.
Dat schakelen lukt mij niet zo best :
schemaview:
Afbeeldingslocatie: http://i.imgur.com/NBBAQ.png
breadboardview :
Afbeeldingslocatie: http://i.imgur.com/SyGS4.png
Klopt, maar het is natuurlijk veel leuker om het zelf te maken, daarnaast komt het concept van de rijen en kolommen ook beter over als je het een keer gedaan, of in ieder geval gezien hebt.
Natuurlijk, maar die instructie had ook veel andere componenten nodig die overbodig zijn geworden als de max7221 wordt toegepast. Dan heb je aan dat enkele matrix-blokje uit de winkel voldoende.
Ik heb het aanvankelijk ook volgens het matrix-principe opgebouwd, 8 losse 7-seg-displays waar iedere a,b,c, d, aan elkaar vastgeknoopt moest worden om binnen het kader van dit topic te blijven.
Dan doe ik geen 2e keer, dan neem ik toch echt een intern doorverbonden display of nog beter een seriele.
Ook denk ik dat het voor ishy voldoende is als hij een 4x4 matrix in een breadboard prikt, dus 16 leds.
Dat is genoeg om een duidelijk beeld te krijgen en om de schakeling te testen.
Daarna kan de word-clock in zn geheel met 64 leds worden samengesteld en getest.

Acties:
  • 0 Henk 'm!

  • DrFlash
  • Registratie: Juli 2009
  • Laatst online: 05-03 12:59
kitao, ik heb jouw schema ook nog een keer getekend, heb nu alleen de grounds verbonden via npn transistors waardoor het zou moeten werken. ik heb ook je 8 ledjes in dit geval ineen geschoven en er een 2x4 matrix van gemaakt. is uiteraard makkelijk uit te breiden tot maximaal 64x64

Afbeeldingslocatie: http://www.daaw.org/data/arduino%20matrix%202x4_bb.png

Wowhead profiel

Pagina: 1 2 Laatste

Dit topic is gesloten.