Arduino Mp3-Wecker

Eine günstige Reflexlichtschranke als "Handsensor" wäre auch möglich, ein CNY70 käme mir da in den Sinn.

Dieser CNY70 sieht gut aus. Brauch ich da noch einen Reflektor? Wahrscheinlich funktioniert das Gerät aber nicht durch Plexiglas oder?

dlca:
Dieser CNY70 sieht gut aus. Brauch ich da noch einen Reflektor? Wahrscheinlich funktioniert das Gerät aber nicht durch Plexiglas oder?

So, habs mal getestet. 100 Ohm als Vorwiderstand für die eingebaute IR-LED gewählt, damit stellt sich ein Strom von etwa 35mA durch die Diode ein, 50mA sind maximal erlaubt. Den Emitter des CNY70 legte ich auf Masse, den Kollektor an einen digitalen Eingang des Arduino. Bei dieser Beschaltung ist es notwendig, den internen Pullup des Eingangs zu aktivieren.
Leider komme ich mit dieser Beschaltung nur auf ca. 4mm Detektionsweite, wenn ich meinen Finger davorhalte, etwa doppelt so weit wird ein weißer Papierstreifen erkannt. Als zweiten Test nahm ich eine transparente, 3mm starke Acrylglasscheibe, die reflektierte aber das ausgestrahlte Infrarotlicht gleich so gut, dass man gar nicht erst drauffassen brauchte.
Schade, ich denke der Sensor ist dann für deinen Anwendungsfall nicht nutzbar. :frowning:

[edit] Bild angefügt. Da der CNY70 nicht ohne weiteres aufs Steckbrett passt, hab ich ihn auf einen DIL8-Sockel gelötet. Also nicht über das schwarze Füßchen wundern, das gehört nicht zur Reflexlichtschranke. :wink:

Vielen Dank für den Test! Mich beschleicht das Gefühl, dass es mir mit dem Bewegungssensor nicht anders ergehen wird. Nja wenn kein Sensor durch Plexiglas durchkommt, dann werde ich das Gehäuse etwas abändern müssen und der Bewegungsmelder kommt hinten dran.

Ich bin im Moment auf der Suche nach einem günstigen Digitalpotentiometer. Am besten ein Poti, dass nur einen Pin des Arduinos belegt. Gibt es da was? Ich hab bis jetzt einen gefunden, der mit serieller Kommunikation 4 Pins belegt.

dlca:
Ich bin im Moment auf der Suche nach einem günstigen Digitalpotentiometer. Am besten ein Poti, dass nur einen Pin des Arduinos belegt. Gibt es da was? Ich hab bis jetzt einen gefunden, der mit serieller Kommunikation 4 Pins belegt.

Es gibt I2C-Digital Potentiometer.
Grüße Uwe

das hab ich auch schon gesehen, allerdings finde ich nur welche in smd-Bauweise und ich bezweifle, dass ich das gelötet bekomme :disappointed_relieved:

Hab DIL mit 256 Positionen ausgesucht.

Grüße Uwe

thx!

Hi!
heute ist mein Rtc gekommen. Was mich etwas irritiert ist, dass es gut doppelt so viele Anschlüsse wie andere Ds1307 hat. Bis jetzt hab ich kein passendes Datenblatt gesehn, aber vllt. kann mir ja jmd weiterhelfen.

Gnd, Vcc, Scl und Sda sind logischer Weise kein Problem. Bei sq vermute ich, dass es sich um squarewave handelt, kann man also erstmal ignorieren. Doch wofür sind ds und bat? Auch hat sich mir noch nicht die Unterteilung in P1 und P2 erschlossen.

http://www.ebay.de/itm/250913326552?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2648
da ist auch ein Plan drin. Die restlichen pins sind für einen Tempsensor? den man oben links in die drei lötpunkte einlöten kann wenn ich mcih nciht irre

thx, das hat schonmal sehr weitergeholfen. Nur mit dem Bat das hab ich noch nicht ganz kapiert. Also wenn man kein Backup haben will legt man den Pin auf Gnd. Und mit Backup dann auf 3,3 v?
"Backup Supply Input for Any Standard 3V Lithium Cell or Other Energy Source. Battery voltage must be held between the minimum and maximum limits for proper operation. Diodes in series between the battery and the VBAT pin may prevent proper operation. If a backup supply is not required, VBAT must be grounded. The nominal power-fail trip point (VPF) voltage at which access to the RTC and user RAM is denied is set by the internal circuitry as 1.25 x VBAT nominal. A lithium battery with 48mAh or greater will back up the DS1307 for more than 10 years in the absence of power at +25°C.
UL recognized to ensure against reverse charging current when used with a lithium battery."

Daraus werd ich nicht schlau

Die Batterie ist dazu da, daß der DS1307 ohne Versorgungspannung die Zeit weiterzählt.
Dies wird erreicht indem eine Batterie mit 2.0V bis 3,5V am Pin VBAT anschließt. Falls man diese Funktion nicht haben will, muß VBAT auf Masse geschaltet werden.

Die minimale Versorgungspannung für den DS1307 bei dem er gelesen und geschrieben werden kann ist 1,25* VBAT also bei 3V Li-Batterie bei 3,75V. Unterhalb dieser Spannung schaltet der RTC ab und geht auf Batteriebetrieb.

http://datasheets.maximintegrated.com/en/ds/DS1307.pdf
Grüße Uwe

ok. Soll man noch eine Diode zwischen 3.3v und den Bat pin hängen? Oder wie sieht eine Sicherung gegen "reverse charging" aus?

E: Ich hab das rtc mal angeschlossen. Wenn man 3.3v an Bat anschließt geht das arduino einfach aus :astonished:
Ich habe den testsketch auf das Gerät geladen, Datum stimmt, allerdings ist die Uhrzeit 7 min hinter der vom Pc -.-"

E2: Also bat schließt man einfach nicht an, glück gehabt, dass es mir mit den 3.3v nix zerschossen hat^^
Abschließende Frage: Wie stellt man das Rtc am besten ein?

Ich habe Dir nichts zu den 3,3V geschrieben weil Du sie nicht brauchst. Wieso willst Du die 3,3V anschließen??? Eine Li-Batterie hält 10 Jahre.
Also nur die Batterie an VBAT und Masse anschließen und nichts anderes, keine Diode und keine Spannung.

Abschließende Frage: Wie stellt man das Rtc am besten ein?

Entweder manuell über Tasten, mit einem Sketch oder über eine andere Zeitquelle wie DCF77, RDS, Internet, GPS ecc.

  #include <RTClib.h>
  RTC_DS1307 RTC;
void setup() {
    RTC.adjust(DateTime(__DATE__, __TIME__));
 }
void loop() {
  ...
 }

mit DATE, TIME bekommt man das Datum und die Zeit des PCs.

Grüße Uwe

in der Beschreibung des Artikels steht, dass es sich um einen akku handelt, daher war mir die (blöde) Idee gekommen, dass das Ding ne Versorgung zum laden braucht, aber das hatte ich ja schon selbst geklärt.

Im Testsketch sollte sich das Rtc ja mit dem Pc synchronisieren, die 7min Differenz bleiben aber, ich werd die Pc-Zeit einfach mal verstellen und gucken was passiert. Wenn die Uhrzeit 7min vorgeht müsste es ja wieder passen.

E: Also die Uhrzeit ändert sich nicht. Die (falsche) Uhrzeit wird aber im Serial-monitor angezeigt, die Verbindung steht also.

E2: Hingucken hilft^^, die Zeile mit dem Einstellen stand in einer if-Abfrage und wurde nicht durchlaufen. Jetzt geht das rtc nurnoch 10sec nach, was zu verschmerzen ist.

dlca:
in der Beschreibung des Artikels steht, dass es sich um einen akku handelt, daher war mir die (blöde) Idee gekommen, dass das Ding ne Versorgung zum laden braucht, aber das hatte ich ja schon selbst geklärt.

Welcher Artikel. Hab mich verirrt.

dlca:
Im Testsketch sollte sich das Rtc ja mit dem Pc synchronisieren, die 7min Differenz bleiben aber, ich werd die Pc-Zeit einfach mal verstellen und gucken was passiert. Wenn die Uhrzeit 7min vorgeht müsste es ja wieder passen.

E: Also die Uhrzeit ändert sich nicht. Die (falsche) Uhrzeit wird aber im Serial-monitor angezeigt, die Verbindung steht also.

E2: Hingucken hilft^^, die Zeile mit dem Einstellen stand in einer if-Abfrage und wurde nicht durchlaufen. Jetzt geht das rtc nurnoch 10sec nach, was zu verschmerzen ist.

Die RTC hat ein Bit das anzeigt ob die Zeit gültig ist oder nicht. Man kann dieses Bit Verwenden um die Uhrzeit zu laden.
Entferne mal die Batterie auf der RTC-Platine für 30 Sekunden und schau mal was das Programm danach macht.

Grüße Uwe

http://www.ebay.de/itm/251159427676?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1423.l2649
"Build in rechargeable lithium Battery"

Mit dem Rtc werd ich erst am Wochenende wieder experimentieren können.

update: Der Bewegungsmelder ist gekommen. Leider funktioniert der Sensor mit einer Plexiglasplatte von 3mm drüber nur sehr unregelmäßig.