Berlin Clock - Mengenlehreuhr replica V2
Obliczymy ostateczną cenę na podstawie wybranego pliku. Sprawdzisz ją i zaakceptujesz przed płatnością.
Zapisane na tym urządzeniu.
This is an improved version of the miniature replica of the Berlin clock. I added informations about electronics.
- Ocena
- 0 / 5
- Polubienia
- 21
- Pobrania
- 75
- Wydruki
- 0
- Wyświetlenia
- 890
- Oceny
- 0
Aktualizacja u źródła:
Informacje o modelu
- Źródło
- Printables
- Kategoria
- Other Art & Designs
- Licencja
- Creative Commons — Attribution — Share Alike
This is a miniature replica of the Berlon clock "Mengenlehreuhr" designed by Dieter Binninger.
- Working principle :
• There are 24 light signals arranged on 5 levels.
• The round box at the top shows the seconds (by flashing once every second).
• The first led raw contains 4 led and each box represent 5 Hours.
• The 4 boxes below each represent 1 hour.
• The third row contains 11 boxes which represent each 5 minutes. (note that the third, sixth and ninth led of this row are red to represent three quarters of an hour more easily).
• The 4 boxes in the last row each indicate 1 minute.
• The clock reads top to bottom.
Print Settings
Printer Brand:
Prusa
Printer:
I3 MK3S
Rafts:
Doesn't Matter
Supports:
No
Resolution:
200
Infill:
20
Filament:
[Prusament PLA ](http://www.amazon.com/s?url=search-alias&field-keywords=Prusament+PLA&tag=thingiverse09-20)
How I Designed This
- Second version optimized and with shapes closer to the original clock

- A view of the prototype, at 17:58
- [The backplate has changed]

Global structure
- I used a MAX7219 for the LED control, à DS3231 for the real-time clock and an Arduino board
- The model has been modelized in order that the front face is on the heatbed.
By printing with a Prusa i3 Mk3s+ (or earlier) with a textured PEI Powder-coated Steel Sheet, it is possible to get a "mat" effect.
Category: 3D Printing
Electronic (new)
Here are the different diagrams allowing you to reproduce this miniature :
LED schematic

Arduino, RTC and pins of the MAX7219 schematic

MAX7219 schematic

Last version code :
//Version finale
#include <Wire.h> //Pour la communication I2C
#include <RTClib.h> //librairie DS3231
#include "LedControl.h" //librairie Max7219RTC_DS3231 RTC; //modèle de la RTC (RTC DS3231)
LedControl lc=LedControl(12,11,10,1); // LedControl(DataIn, CLK, LOAD, Nb_de_Max7219)
int min_1 = 0;
int min_5 = 0;
int heu_1 = 0;
int heu_5 = 0;
void setup () {
Serial.begin(57600); //nombre de bauds: définir le même nombre sur le moniteur série (Ctrl - Maj - M)
Wire.begin();
RTC.begin();
RTC.adjust(DateTime(DATE, TIME)); //Ajuster l'heure et la date de la clock avec celles de l'ordinateur
lc.shutdown(0,false); // réveiller le MAX7219, endormi par défaut
lc.setIntensity(0,4); // Définir intensité des leds
lc.clearDisplay(0); // éteindre toutes les leds
DateTime now = RTC.now();
}
void loop () {
DateTime now = RTC.now();
min_1 = (now.minute()%5);
min_5 = (now.minute()/5);
heu_1 = (now.hour()%5);
heu_5 = (now.hour()/5);
Serial.print("heu_5 : "); //test de conformité
Serial.println(heu_5);
Serial.print("heu_1 : ");
Serial.println(heu_1);
Serial.print("min_5 : ");
Serial.println(min_5);
Serial.print("min_1 : ");
Serial.println(min_1);
Serial.println();
for (int i=0; i<heu_5; i++)// les cinq heures
{
lc.setLed(0, 0, i, true);
}
for (int i=4; i<4+heu_1; i++)// les une heures
{
lc.setLed(0, 0, i, true);
}
if (min_5 > 0) { // les huit cinq premières minutes
for (int i=0; i<min_5 ; i++) {lc.setLed(0, 1, i, true);}
}
else {
lc.setRow(0,1,B00000000);
}
if (min_5 > 8){ // les trois cinq dernières minutes
for (int i=0; i<-8+min_5 ; i++) {lc.setLed(0, 2, i, true); }
}
else {
for (int i=0; i<3 ; i++) {lc.setLed(0, 2, i, false);}
}
if (min_1 > 0) { //les une minutes
for (int i=0; i<min_1 ; i++) {lc.setLed(0, 2, 3+i, true);}
}
else {
for (int i=0; i<4 ; i++) {lc.setLed(0, 2, 3+i, false);}
}
lc.setLed(0, 2, 7, true);
delay(1000);
lc.setLed(0, 2, 7, false);
delay(1000);
}