Och 1,5 graden kan ik wel mee leven, wie zegt dat die andere temperatuur sensor goed is? tenzij je een echt geijkte temperatuurvoeler naast de chip hebt hangen valt er niet veel over te zeggen. maar enige afwijking kun je natuurlijk als offset meegeven.
Ik had al zitten denken aan zoiets:
if (RTC_MODEL == "DS3231" && Seconds >=30 && Seconds <= 0){
PlaceText (temperatuur, 110);
}
else {
PlaceText (dayName[Day-1], 110);
}Geen idee of dat zou werken, maar dat was maar een idee
[Bericht gewijzigd door Zylar op (34%)]
Goede middag,
Beste Blurp,,, Ik heb nog een aantal zaken zitten proberen ik denk dat de code om te schrijven niet klopt dus knoop doorgehakt en cpld eraf gesoldeerd.
Beste Rollo Ik heb dus keurig netjes een flatcable aan het bord geknutseld en uiteindelijk je programma geladen Ziedaar een tekst met HALLO schuin schrift en lopend over het display.
PFFFF eer gered die kleine apen van tegenwoordig hebben geen geduld meer en verlangen heel wat van een knutsel-Opa.
Afijn aangezien mijn schoonmoeder onlangs is overleden en wij ook een grote klok voor haar hadden gekocht omdat ook zij de dag en tijd kwijt raakte, ben ik zeer geintresseerd geraakt door je programma van de klok.
Ook dat erin proberen te zetten maar ik miste wat librarys een avondje zitten puzzelen en ook die wilde in de Arduino Uno.
Wel beeld maar geen tijd klopt want er zat geen ds3231 op, vanmiddag eens gaan zoeken en ik had nog een paar DS32B35 liggen in smd weer verder gezocht en een verloopprintje die ik al eens gemaakt had naar dil ding erop aangesloten en alles werkt. Leuk jo.
Maar nu de inspiratie ::::
Ook mijn wijlen schoonmoeder kreeg last van de gebeurtenissen op die dagen,
Ik bedoel 12 kinderen en die zijn allemaal een keer jarig een aantal schoonzonen en dochters en een berg kleinkinderen (>60) daar heb ik al moeite mee.
Het idee een flash memmory op de sip al de bijzondere dagen erin en op het moment dat er een match is tussen de dag van vandaag en een gebeurtenis in de memory , de dag aanduiding laten scrollen gevolgd door de gebeurtenis.
En als laatste wens een pwm op de voeding van het display die er voor zorgt dat de intensiteit meeloopt met de helderheid van de omgeving.
Dan is er een zeer mooie oplossing gemaakt.
Ik ben al bezig om een opsteek printje voor de uno te tekenen zodat alles erop zit en er gemakkelijk geprogrammeerd zou kunnen worden.
Uitdaging of een waanidee.
Ik snap van de code nog niet veel maar ik ga wel zitten puzzelen-
Groeten Opa_Knutsel.
Op 1 februari 2014 15:23:35 schreef Zylar:
Och 1,5 graden kan ik wel mee leven, wie zegt dat die andere temperatuur sensor goed is? tenzij je een echt geijkte temperatuurvoeler naast de chip hebt hangen valt er niet veel over te zeggen. maar enige afwijking kun je natuurlijk als offset meegeven.Ik had al zitten denken aan zoiets:
if (RTC_MODEL == "DS3231" && Seconds >=30 && Seconds <= 0){ PlaceText (temperatuur, 110); } else { PlaceText (dayName[Day-1], 110); }Geen idee of dat zou werken, maar dat was maar een idee
Ja, iets in die sfeer kan wel. De DS3231 geeft de temperatuur in eenheden van 0,25 graden, dus x,0 x,25, x,50, x,75 en zo verder.
Ik zou dan de 0,05 eraf kunnen strippen en dan de waarde weergeven.
Dus dan krijg je x,2 x,5 x,7. Of juist afronden op hele getallen, of de decimaal negeren en niet afronden. Keuzes...
Ik heb het idee dat dit niet nodig is,,
Ik heb het door mij gebruikte IC DS32B35 gebruikt in een industrieele omgeving en daar ook de temperatuur gemeten.
Gecontroleerd met een IR temperatuur meter op de chip er zit nagenoeg geen verschil in ik zou het hier weer uit kunnen proberen. als ik hem uit kan lezen.
Wij hebben toen niet meer de moeite genomen om het te verfijnen, wij wilde wel weten wat de opslag en bedrijfstemperatuur was i.v.m garantie.
Het werkt perfect dus.
@Opa-Knutsel : Die DS32B35 is toch een 3,3 Volt device ?
Voor de andere lezers dus even opletten dat je die chip niet aan de 5 Volt hangt. De DS3231 is trouwens 3,3 tot 5 Volt.
Ja dat klopt, maar op de Uno zit ook een 3.3 volt uitgang.
Of twee 1n4148 in serie met de 5 volt lijn, kan ook.
ja, let wel op, je zegt zelf al dat je de industriële versie hebt, die wij hebben van de DS3231 is niet de N versie(industrieel). Deze heeft ook een heel ander temperatuurbereik. 0 - +70 voor de S -40 - +85 C voor de N
Dat klopt mogelijk wel, maar ik heb ook gemerkt toen ik zat te meten met een contact voeler op de chip daalde de temperatuur erg snel.
Ik bedoel te zeggen dat de meting erg moeilijk is uit te voeren vandaar dat ik toen een ir meter heb aangeschaft. en toen klopte het wel.
Overigens heb ik ook gezien dat in de software de range van de temp wordt gezet in Hich of Low.
Mogelijk kan dat ook nog een invloed hebben. ik zal wel eens informeren bij diegene die de software heeft geschreven.
Later
Versie 1.6 van de CO Klok is beschikbaar :
http://members.casema.nl/r.kamp/co_klok.zip
Nieuw in deze versie :
Temperatuur weergave toegevoegd. Werkt alleen bij een DS3231, die heeft een interne temperatuur sensor. Deze wordt door de chip zelf elke 64 seconden gelezen. Dus temp. veranderingen zie je pas na 64 seconden. Dat is in de praktijk voldoende lijkt mij.
De temp weergave is optioneel een staat standaard uit. Deze is in het SET menu aan te zetten. Heb je geen DS3231 dan is deze optie niet beschikbaar. De eerste 30 seconden wordt de dag weergegeven, de tweede helft (30 tot 59 seconden) de temperatuur, beide op de middelste regel van het display.
De temp wordt in hele getallen weergegeven, het stuk achter de komma wordt eraf gehaald, geen echte afronding dus.
Let op : font75.h is gewijzigd voor deze versie. Het graden symbool is op de plek van | gezet. Dan is het graden symbool eenvoudig in een string te zetten.
Een foto :
Ja, dat snap ik, ik las dat in China men nu moeilijk doet over het versturen van lithium batterijen per luchtpost. Hoop dat je daar geen last van hebt. Zelf heb ik de module daarom in NL gekocht. Wel duurder maar geen gezeur en snel in huis 
Ik heb hem hier gekocht (geen relatie verder met verkoper) :
http://www.hackerstore.nl/Artikel/104
Ik heb hem wel omgebouwd naar een CR2032. Heb aparte was dat ik de module kreeg zonder batterij erin en er los een CR2032 bij geleverd was. Terwijl standaard die module een oplaadbare LR2032 verwacht.Dus als ik de CR2032 zomaar zou plaatsen gaat de module die proberen te laden, en dat is niet goed. Maar goed, een diode eraf solderen en hij is ready voor een CR2032.
@ Opa-Knutsel ;
De hier veel gebruikte DS1307 en DS3231 modules hebben ook een 24c32 Eeprom op de print zitten. Dit is een 32K (4K x 8) bytes I2C eeprom.
Die is prima te gebruiken om een soort tabel in te zetten met datum gevolgd door een stukje tekst. Deze kan de klok dan weergeven als die datum gekomen is. De uitdaging is hoe vul je dan die eeprom, met drie toesten wordt dat erg omslachtig. Maar het kan ook in de source code als tabel meegenomen worden. Dan kun je de tabel niet veranderen als de klok loopt. Maar dat lijkt me goed bruikbaar toch ? Of mischien via de serieele poort...
Jij gebruikt nu een losse andere RTC chip maar ik ventileer even het idee, ook voor anderen die dit topic volgen.
Wie weet maak ik het er nog in, maar dat is wel iets meer werk dan de vorige wijzigingen.
[Bericht gewijzigd door Henry S. op (37%)]
Martin01
Domme vragen? Niet vragen dat is dom.
Rolo
Wat maak jij er een werk van zeg! Top! heb de versie nog niet in de chip zitten of er is al weer een uitbreiding.
Ik heb vandaag wat tijd besteed aan de klok software. Want de seconden op het scherm zijn (zoals verwacht) te druk. Dus die in de software verwijderd en de tijd iets opgeschoven. Nu staat de : precies in het midden.
Wat ik denk zou doen is de temperatuur aanduiding naast de tijd zetten. Dus de tijd naar rechts en de temp max op links. Dan hoeft er niets te scrollen en is het toch duidelijk. Ik ben aan het kijken naar een TMP36 sensor ipv de interne in de DS3231, maar als die redelijk nauwkeurig is en niet opgewarmd wordt door de directe electronica dan is dat natuurlijk prima. Ik zou dan wel graag 1 cijfer acter de komma zien. Dus 22,1 ipv 22 oC.
Het grootste probleem was, hoe bespaar ik mijn UNO voor andere zaken en krijg ik de software lopen op een aparte 328P. Na wat speurwerk op het net een Optiloader gevonden die van een kale 328P een Arduino chip maakt. Gelijk twee versies gemaakt (1 met de DS1307 en 1 met de DS3231) zodat ik straks na binnenkomst van mijn Chinese klokje alleen de chip en klok print hoeft te wisselen.
Wat betreft de DS3231, komt die standaard met een oplaad functie? En is het verwijderen van een diode voldoende?
----
@Opa Knutsel, wat een goed idee, verjaardag etc als speciale dag aan te merken. Lijkt een handige uitbreiding.
-----
Inmiddels een 5v 2Amp voeding gevonden die naar mijn idee voldoende moet leveren om de boel draaiende te houden. Bij weergave tijd, dag, datum zie ik een max gebruik van 1,2Amp.
Wat me nog even bezig hield, ik heb twee borden gekocht, en beide groen, alleen twee verschillende versies. De nu werkende klok display is versie 2 met de CLPD aan het einde van bord (net zoals bij Rolo) de andere is versie 3 met de CLPD ergens verder op het bord.
Is het echt noodzakelijk de CLPD te verwijderen? Kun je eventueel volstaan met het los koppelen van de voeding, en de signalen bv op de bufferchip te zetten?
Nog niet geprobeerd maar misschien doe ik dat op het tweede bord. Die wil ik ook als klok aan het werk hebben, maar dan om te "spelen" met de software en de mogelijkheden van de diverse sensoren zoals temp binnen-buiten, luchtvochtigheid, windsnelheid, windrichting, en weet ik veel wat er nog meer kan.
Kortom door Rolo ben ik enthousiast geworden voor de software en begrijp ik een beetje de werking.
Mannen nog steeds ben ik diep onder de indruk van dit forum! Jullie zijn toppers!
Martin
Ik heb de software redelijk modulair opgezet (al zeg ik het zelf). Daardoor zijn die aanvullingen snel te maken. Maar nog leuker is als mensen zelf ermee aan de slag gaan en dingen naar eigen inzicht gaan veranderen, daarom post ik het hier.
Over die CR2032, de chip zelf bepaalt dat niet, het is de bedenker van die modules die voor de LR2032 heeft gekozen. Maar er zullen ook modules zijn die anders ontworpen zijn.
Als je die module krijgt zoals op mijn foto heb je de LR variant. Daar hoef je alleen die diode te verwijderen om hem geschikt te maken voor de CR2032.
@Martin : Ik heb geen ervaring met dat board type 3. Dus daar kan ik je geen tips over geven.
Even over het "stand alone" draaien van Arduino. Zelf doe ik dat met een Pro Mini en een losse USB2Serial converter om hem te programmeren.
Die converter blijft dan niet in de schakeling achter maar kun je steeds weer gebruiken. Die converter heb ik wel origineel van Arduino gekocht. Werkt perfect en zo'n Pro Mini kost 2,15 euro per stuk (China). Daar zit ook al een bootloader in !
Mijn klok projectje draait nu op zo'n Pro Mini :
[Bericht gewijzigd door Henry S. op (41%)]
@Rolo, even tijd om in het forum te kijken (werkt verslavend geloof ik) ik heb zitten puzzelen vanmorgen maar kom erachter dat ik gerust mijn theorie op kan halen.
Ik heb ontdekt dat de eerste keer als je de temp op het display zet de waarde b.v 20 graden in werkelijkheid is 20.2 via ir gemeten , na 1 minuut wordt hij opnieuw gelezen en op het display gezet en dan zie ik exact een graad verschil, en dat blijft zo.
IK ben dus in de code gaan zoeken en dan kom ik bij een formule die de MSB | LSB en deelt door 4
en dat kan ik niet meer volgen, dus moeten de grijze cellen weer opgeschud worden en de oude studie boeken van zolder worden gehaald. ( leuk toch )
Wat betreft de huidige software,
Ik heb ook gemerkt dat als je de Temp aan zet, en de spanning eraf haalt, dit weer gedaan moet worden.
mogelijk kan dit ergens opgeslagen worden, of een hardware jumper.
Betreft de extra info, mogelijk een sd kaartje, vullen middels PC en en comma gescheiden bestand in plain text. Geen sd kaartje geen text.
En dan zijn er nog meer mogelijkheden te bedenken, buiten temp meter, wind richting en windsnelheid, aantal zonuren en de intensiteit, ( oude tuinverlichting recyclen en de zonnecel als opnemer gebruiken )
Leuk he electronica, ben ook een neefje aan het opvoeden - beter dan DD en R&R.
Opa-Knutsel
Op 2 februari 2014 13:26:15 schreef Opa-knutsel:
IK ben dus in de code gaan zoeken en dan kom ik bij een formule die de MSB | LSB en deelt door 4Ik heb ook gemerkt dat als je de Temp aan zet, en de spanning eraf haalt, dit weer gedaan moet worden.
mogelijk kan dit ergens opgeslagen worden, of een hardware jumper.Opa-Knutsel
Over die MSB | LSB, de temp waarde wordt opgehaald uit twee registers, omgezet van 2 complement naar een heel getal. Maar omdat de laatse twee bits het aantal 0,25's achter de comma aangeven wordt het hele getal gedeeld door 4, op die manier krijg je de juiste waarde in een float variablele. Voorbeeld : gelezen waarde 85 is in het echt :4 = 21,25 graden. Waarom hij dan later een graad verschil geeft snap ik zo even niet. Moet eens kijken of hij dat ook doet in mijn test opstellng.
Het opslaan van de settings is wel iets wat in een volgende versie gaat komen, tot nu toe nog niet gedaan omdat ik er nog mee aan het testen ben. Dan kun je in een loop komen als er een foutje in zit.
Inderdaad, er klopt iets niet in het lezen/weergeven van de temperatuur. Ga ik even induiken.
[Bericht gewijzigd door Henry S. op (4%)]
@Rolo, bedankt voor de uitleg, heb ik weer een concretere richting om het te proberen zelf weer te snappen, Zou het ook kunnen dat er een afrondingsfout komt omdat ik op het display alleen 20 of 21 graden zie. dus als het 20,25 zou moeten zijn wordt het dan naar boven afgerond.
Als je intresse heb kan ik nog wel een verloop printje in elkaar maken om met deze DS32B35 te prutsen hoor.
Laat maar weten.
Bedankt nogmaals voor de behulp vaardigheid.
Updated versie 1.6 :
http://members.casema.nl/r.kamp/co_klok.zip
In deze versie wordt de temperatuur weergegeven zoals hij uit de DS3231 gelezen wordt, dus met decimalen.
Cosmetisch niet zo mooi maar is even om zeker te weten dat ik de temperatuur nu goed weergeef.
@Opa-Knutsel : Klopt deze weergave beter met de gemeten temperatuur ?
Klopt niet helemaal natuurlijk, alle msb zijn 8 lsb, dus 255 waarde /4 = 63.75 De formule zou dan ook moeten zijn MSB * 255 + LSB /4 denk ik zo.
Bit 7 van de integer is het sign bit, dus die is 1 als de temp negatief is.
[Bericht gewijzigd door Henry S. op (62%)]
Ja, dat is de 2 complement notering, maar de software van Arduino kan daar standaard mee omgaan. (Heb ik ook opgezocht hoor).
Iets anders, ik ben bezig met het dimmen van de display via PWM. Daarvoor moet de display wel een 7,5 Volt geven, dan kun je verschillende dim niveaus bereiken. Nu heb ik het panel aan mijn universele voeding hangen maar zoek eigenlijk een nette geschakelde voeding van 7,5 volt en rond de 3 ampere, die kan ik dan vast aansluiten op het paneel en heeft een goed rendement.
Iemand tips waar ik zoiets kan kopen ? Had al wel gezien dat Mean Well de EPS-25-7.5 in het programma heeft, 25.5W 7.5V 3.4A, zou perfect zijn alleen is niet zo makkelijk verkrijgbaar lijkt het.
Mouser heeft hem wel op de site staan maar ik weet niet of je daar als particulier kunt kopen. En wat de verzendkosten zijn. Iemand ervaring hiermee ? Mischien een samen-koop actie als er meer geintereseerden zijn in zo'n voeding ?
[Bericht gewijzigd door Henry S. op (81%)]
Zo de klok loopt en kan wellicht nog wel wat verbeterd worden, maar ik heb nog een FTD-132 bordje staan... en ik wilde er iets anders mee doen... Dus ik heb eens rondgekeken of ik er een VU meter van kon maken (misschien later nog wel een Audio Spectrum Analyser).
En dit is het resultaat van de eerste poging:
http://youtu.be/P7KPvvNcVxk
Op het filmpje ziet het minder goed uit dan live...
Nog veel ruimte voor verbetering...
Hier is de code.
Hier het schema.
Updates volgen!
@Rolo-- Helaas ik heb de nieuwe software in de Arduino-Uno gezet en uiteraard de Temp aan,
Het display zegt 21.01 en de temperatuur die ik meet is 22.01 dit een aantal malen nadat de minuten verstreken zijn natuurlijk.
Ook geprobeerd of er wel geteld wordt, vinger op de chip leggen en de temperatuur klimt snel omhoog
, daarna zakt hij eveneens snel weer naar de bovenvermelde situatie.
Betreft voeding, zal morgen proberen iemand te bellen die heeft mogelijk ook zoiets liggen uit de recycling.
@Rolo- Betreft de voeding, is het een vreemde gedachte om te denken dat de 5 volt voor de logic wel standaard 5 volt moet blijven houden, die mag geen PWM power hebben.
Vandaar mijn gedachten de gemeenschappelijke voeding voor de displays los te maken en daar een pwm op met een frequentie van 300 hz of hoger.