Gute Nacht Du bist nicht angemeldet.

Achtung! Unsere Forensoftware ist NICHT für die Nutzung mit dem Smartphone ausgelegt!
Seit den letzten Updates der aktuellen Smartphones, ist die Nutzung des Forums mit dem Smartphone nur noch eingeschränkt möglich!
Wir bitten hierfür um Entschuldigung und empfehlen DRINGEND die Nutzung eines Desktop-Computers oder eines Laptops!
Nutzt KEINE "Emojis" aus den Smartphones, da dies einen SQL-Fehler auslöst bei euch!

Lieber Besucher, herzlich willkommen bei: Automatenfreunde.de - Das Forum rund um Automaten. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Riiko

Administrator

  • »Riiko« ist männlich
  • »Riiko« ist der Autor dieses Themas

Beiträge: 2 845

Mitglied seit: 3. Juni 2011

Herkunft: Nordrhein-Westfalen

  • Private Nachricht senden

1

Donnerstag, 1. April 2021, 12:08

Uhrensetzgerät für jedermann, der basteln kann!

Mein Uhrensetzgerät ist ja nun mittlerweile gut bekannt und die Nachfrage reißt einfach nicht ab.
Mir fehlt die Zeit und die Kraft weiterhin welche zu bauen. Leider werden noch immer teils hoffnungslos teuere und oft defekte Kopien meines Gerätes vertickt.

Ich habe sehr viel Zeit, Arbeit und auch Geld investiert, um mein kleines dämliches Uhrensetzgerät zu bauen.
Den Abzockern möchte ich immernoch das Wasser abgraben. Und wie macht man diesem Abschaum das Geschäft kaputt? Richtig! Man flutet den Markt!

Ich habe lange darüber nachgedacht, ob ich diesen Schritt machen soll. Allerdings habe ich nun das Projekt aus Frust und Wut komplett aufgegeben und werde es in DIESER Form nicht mehr weiter entwickeln!
Also, wer von euch in der Lage ist, 4 Komponeten zu bestellen und passend zusammen zu löten, der kann sich nun an ein eigenes Uhrensetzgerät bauen!

Ihr braucht:
1x Arduino UNO (muss kein "original" sein, die nun deutlich günstiger erhältlichen Nachbauten gehen auch! Wichtig nur: ATMEGA328P Prozessor!
1x LCD-KeyPad-Shield (ggf muss der Widerstandswert im Programm angepasst werden)
1x RS232<>TTL Converter
1x 5Pol-Diodenstecker
index.php?page=Attachment&attachmentID=14688

Dann lötet ihr die Komponenten am KeyPad wie auf dem Bild zusammen. Verwendet nicht unnötig lange Leitungen! Je länger die Leitung, desto "matschiger" kann das Signal am Ende sein!
Ich weise hier NOCHMALS auf die Gefahr der 40V und 20V an der Auslesebuchse hin!!!
Ein durchgescheuertes Kabel im Automaten oder ein abgerissenes Kabel im Automaten am Stecker kann schnell mal die 40V dahin leiten, wo sie maximalen Schaden verursacht!

Als Batterie für das Uhrensetzgerät habe ich immer einen 9V-Block verwendet!
ACHTUNG: Ist die Spannug des 9V-Blocks unter 7V kann es schon sein, dass der Automat nur noch Matsch empfängt!

Das KeyPad steckt ihr nun passend auf den Arduino und verbindet diesen nun mit dem PC.
Startet das Arduino-Programiertool, welches kostenlos auf der Arduino-Homepage runter geladen werden kann!

Und nun die Katze aus dem Sack... mein Programm, welches ich lange geschützt hielt, da hier von mir eine Menge Arbeit und Zeit drinn steckt...
Kopiert es in den Arduino und am Ende habt ihr euer eigenes Uhrensetgerät!

ACHTUNG!!! Ich dulde es nicht, wenn ihr dieses Programm verkauft! Ihr könnt gerne zum selbstkostenpreis Uhrensetzgeräte für andere herstellen. Es ist nach wie vor mein geistiges Eigentum!
Für das Programm selbst jedoch, dürft ihr nichts verlangen!

Quellcode

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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
/*
 * Uhrensetzgerät V1.2
*  ===================
 * Copyright by: Riiko
 * Das Programm darf weder verkauft noch irgendwo ausserhalb
 * der Foren www.automatenfreunde.de oder www.geldspielfreunde.de veröffentlicht werden!
 * Nieder mit den Abzockern!!!
 */

#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

byte symA[8] = {  
  B01010,B00000,B01110,B00001,B01111,B10001,B01111,};
byte symB[8] = {  
  B00000,B00000,B00001,B00010,B10100,B01000,B00000,};
byte symC[8] = {  
  B00100,B01110,B10101,B00100,B00100,B00100,B00000,};
byte symD[8] = {  
  B00100,B00100,B00100,B10101,B01110,B00100,B00000,};
byte symE[8] = {  
  B00000,B10000,B01000,B00100,B00010,B00001,B00000,};
byte symF[8] = {  
  B01010,B00000,B01110,B00001,B01111,B10001,B01111,};
byte symG[8] = {  
  B00100,B00110,B00101,B00101,B00100,B11100,B11100,};
byte symH[8] = {  
  B00110,B00101,B00111,B00101,B11101,B11011,B00011,};

int day = 1;
int month = 2;
int year = 16;
int hour = 12;
int minute = 0;
int speedset = 0;
int curpos = 1;
int counterA = 0;
int counterB = 0;
int KeypadPin = A0;
int KeypadValue = 0;
int keystate = 0;
int lastkey =0;
int mode = 0;

void setup() {
  lcd.createChar(0, symA);
  lcd.createChar(1, symB);
  lcd.createChar(2, symC);
  lcd.createChar(3, symD);
  lcd.createChar(4, symE);
  lcd.createChar(5, symF);
  lcd.createChar(6, symG);
  lcd.createChar(7, symH);
  Serial.begin(4800, SERIAL_8N1);
  lcd.begin(16,2);
  lcd.print("<Alpha-Networks>");
  lcd.setCursor(0,1);
  lcd.print("Uhrensetzger\5t");
  delay(2500);
  lcd.setCursor(0,0);
  lcd.print("Seriennummer:   ");
  lcd.setCursor(0,1);
  lcd.print("Selbstgebaut    ");
  delay(2500);  
  lcd.setCursor(0,0);
  lcd.print("TT.MM.JJ   HH:MM");
  lcd.setCursor(0,1);
  lcd.print(" ============== ");
  delay(1500);
  lcd.setCursor(0,0);
  lcd.print("01.02.16   12:00");
  lcd.setCursor(0,1);
  lcd.print("\2\3");
  lcd.write(126);
  lcd.print("          Tag");
 }

void changeday() {
   lcd.setCursor(0,1);
   lcd.print("\2\3");
   lcd.write(126);
   lcd.print("          Tag");
   if (keystate == 3) {day = day + 1; };
   if (keystate == 4) {day = day - 1; };
   if (day > 31) {day = 1; };
   if (day < 1) {day = 31; };
   lcd.setCursor(0,0);
   if (day < 10) {lcd.print("0");};
   lcd.print(day);
  }

void changemonth() {
   lcd.setCursor(0,1);
   lcd.print("  ");
   lcd.write(127);
   lcd.print("\2\3");
   lcd.write(126);
   lcd.print("     Monat");
   if (keystate == 3) {month = month + 1; };
   if (keystate == 4) {month = month - 1; };
   if (month > 12) {month = 1; };
   if (month < 1) {month = 12; };
   lcd.setCursor(3,0);
   if (month < 10) {lcd.print("0");};
   lcd.print(month);  
  }

void changeyear() {
   lcd.setCursor(0,1);
   lcd.print("     ");
   lcd.write(127);
   lcd.print("\2\3");
   lcd.write(126);
   lcd.print("   Jahr");
   if (keystate == 3) {year = year + 1; };
   if (keystate == 4) {year = year - 1; };
   if (year > 99) {year = 0; };
   if (year < 0) {year = 99; };
   lcd.setCursor(6,0);
   if (year < 10) {lcd.print("0");};
   lcd.print(year);   

  }

void changehour() {
   lcd.setCursor(0,1);
   lcd.print("Stunde    ");
   lcd.write(127);
   lcd.print("\2\3");
   lcd.write(126);
   lcd.print("  ");
   if (keystate == 3) {hour = hour + 1; };
   if (keystate == 4) {hour = hour - 1; };
   if (hour > 23) {hour = 0; };
   if (hour < 0) {hour = 23; };
   lcd.setCursor(11,0);
   if (hour < 10) {lcd.print("0");};
   lcd.print(hour);  
  }

void changeminutes() {
   lcd.setCursor(0,1);
   lcd.print("Minute       ");
   lcd.write(127);
   lcd.print("\2\3");
   if (keystate == 3) {minute = minute + 1; };
   if (keystate == 4) {minute = minute - 1; };
   if (minute > 59) {minute = 0; };
   if (minute < 0) {minute = 59; };
   lcd.setCursor(14,0);
   if (minute < 10) {lcd.print("0");};
   lcd.print(minute);
}  

void valchange() {
    if (keystate == 5) { curpos = curpos +1; };
    if (keystate == 2) { curpos = curpos -1; };
    if (curpos <= 0) {curpos = 5;};
    if (curpos >= 6) {curpos = 1;};
    if (curpos <= 1 ) { changeday(); };
    if (curpos == 2 ) { changemonth(); };
    if (curpos == 3 ) { changeyear(); };
    if (curpos == 4 ) { changehour(); };
    if (curpos == 5 ) { changeminutes(); }; 
}

void preparesend() {
    if (keystate == 5) {
     curpos = 2;
     lcd.setCursor(0,1);
     lcd.print("  JA      [NEIN]");
    };
    if (keystate == 2) {
     curpos = 1;
     lcd.setCursor(0,1);
     lcd.print("[ JA ]     NEIN ");
    };
  }

void loop() {
KeypadValue = analogRead(KeypadPin);
//lcd.setCursor(0,0);lcd.print(KeypadValue);lcd.print(" ");
if ((KeypadValue >= 0) & (KeypadValue < 100)) { keystate = 5; };
if ((KeypadValue >= 80) & (KeypadValue < 200)) { keystate = 3; };
if ((KeypadValue >= 200) & (KeypadValue < 400)) { keystate = 4; };
if ((KeypadValue >= 400) & (KeypadValue < 600)) { keystate = 2; };
if ((KeypadValue >= 600) & (KeypadValue < 900)) { keystate = 1; };
if (KeypadValue >= 900) { keystate = 0; };
    if (mode == 2) {
       curpos = curpos +1;
       counterB = counterB + 1;
       delay(100);
       if (curpos >= 5) {curpos = 1;};
       if (curpos == 1) { lcd.setCursor(14,0); lcd.print("|"); };
       if (curpos == 2) { lcd.setCursor(14,0); lcd.print("/"); };
       if (curpos == 3) { lcd.setCursor(14,0); lcd.print("-"); };
       if (curpos == 4) { lcd.setCursor(14,0); lcd.print("\4"); };
       if (counterB == 8) {
       Serial.print("**ZEIT*:");delay(1);
       if (hour < 10)   {Serial.print("0");delay(1);}; Serial.print(hour);delay(1);
       if (minute < 10) {Serial.print("0");delay(1);}; Serial.print(minute);delay(1);
       if (day < 10)    {Serial.print("0");delay(1);}; Serial.print(day);delay(1);
       if (month < 10)  {Serial.print("0");delay(1);}; Serial.print(month);delay(1);
       if (year < 10)   {Serial.print("0");delay(1);}; Serial.print(year);delay(1); 
       Serial.print("00");delay(1);
       Serial.print("00");delay(1);
       Serial.print("\r");
         delay(50);
         lcd.setCursor(14,0); lcd.print("\1"); 
         lcd.setCursor(0,1); lcd.print("Abgeschlossen!\6\7");
         delay(2500);
         counterB = 0; keystate = 0; mode = 0; curpos = 1;
         lcd.setCursor(0,0); if (day < 10) {lcd.print("0");}; lcd.print(day); lcd.print("."); if (month < 10) {lcd.print("0");}; lcd.print(month); lcd.print("."); if (year < 10) {lcd.print("0");}; lcd.print(year); lcd.print("   "); if (hour < 10) {lcd.print("0");}; lcd.print(hour); lcd.print(":"); if (minute < 10) {lcd.print("0");}; lcd.print(minute); lcd.setCursor(0,1); lcd.print("\2\3"); lcd.write(126); lcd.print("          Tag");
         };
      };
if (keystate != lastkey) {
    lastkey = keystate;
    counterA = 0;
    speedset = 0;
    if (mode == 1) {  
     if (keystate != 1) {preparesend();};
      if ((keystate == 1)&& (curpos == 2)){ 
        keystate = 0; mode = 0; curpos = 1;
        lcd.setCursor(0,0); if (day < 10) {lcd.print("0");}; lcd.print(day); lcd.print("."); if (month < 10) {lcd.print("0");}; lcd.print(month); lcd.print("."); if (year < 10) {lcd.print("0");}; lcd.print(year); lcd.print("   "); if (hour < 10) {lcd.print("0");}; lcd.print(hour); lcd.print(":"); if (minute < 10) {lcd.print("0");}; lcd.print(minute); lcd.setCursor(0,1); lcd.print("\2\3"); lcd.write(126); lcd.print("          Tag"); };
      if ((keystate == 1)&& (curpos == 1)){ 
        keystate = 0; mode = 2; curpos = 1;
        lcd.setCursor(0,0); lcd.print("Sende Daten...| ");
        lcd.setCursor(0,1); lcd.print("                ");
        };
     };

    if (mode == 0) { 
     if (keystate != 1) {valchange();};
     if (keystate == 1) {
       mode = 1;
       curpos = 2 ;
       lcd.setCursor(0,0);
       lcd.print("Daten senden?   ");
       lcd.setCursor(0,1);
       lcd.print("  JA      [NEIN]");
       };
     };
    
   };
counterA = counterA + 1;
if (keystate != 0) {
 if (counterA > 50) { if (speedset < 1) { counterA = 0; speedset = speedset + 1; valchange(); }; };
 if (counterA > 10) { if ((speedset >= 1 ) && (speedset < 8)) { counterA = 0; speedset = speedset + 1; valchange(); }; };
 if (counterA >  5) { if ((speedset >= 8) && (speedset < 16)) { counterA = 0; speedset = speedset + 1; valchange(); }; };
 if (counterA >  1) { if (speedset >= 16){ counterA = 0; speedset = speedset + 1; valchange(); }; };
 };
delay(20);
}


Wer mir was Gutes tun möchte oder ein kleines finanzielles Danke da lassen möchte, kann mir gerne was über PayPal schicken: riiko@automatenfreunde.de
Viel Erfolg beim bauen und Leute, bleibt fair!

blitzer7630

5cent Spieler

  • »blitzer7630« ist männlich

Beiträge: 19

Mitglied seit: 4. Februar 2021

Herkunft: Sachsen

  • Private Nachricht senden

2

Freitag, 2. April 2021, 13:22

Würde das bei Bally Wulff Geräten auch gehen? Gruß Syrko

Riiko

Administrator

  • »Riiko« ist männlich
  • »Riiko« ist der Autor dieses Themas

Beiträge: 2 845

Mitglied seit: 3. Juni 2011

Herkunft: Nordrhein-Westfalen

  • Private Nachricht senden

3

Freitag, 2. April 2021, 15:34

Nein, nur die ADP-Geräte mit der "weissen CPU" lassen sich hiermit stellen.

Riiko

Administrator

  • »Riiko« ist männlich
  • »Riiko« ist der Autor dieses Themas

Beiträge: 2 845

Mitglied seit: 3. Juni 2011

Herkunft: Nordrhein-Westfalen

  • Private Nachricht senden

4

Freitag, 2. April 2021, 15:55

​Joo und an alle, die dies für einen April-Scherz hielten: Nö, das war/ist kein April-Scherz!

​Die einzelnen Komponeten bekommt man übrigens nun mittlerweile bei eBay.
​Das LCD-Keypad wird meistens bei eBay als "LCD Keypad HD44780" geführt und sollte so aussehen:
​​​index.php?page=Attachment&attachmentID=14702

​Der RS232<->TTL Wandler wird bei eBay oft mit "RS232 TTL" gefunden und sollte so aussehen:
​​index.php?page=Attachment&attachmentID=14703


Der ​5 polige Diodenstecker ist bei eBay meist unter "din stecker 5 polig" zu finden sein.
​Hier ist mal ein original Neutrik NYS322 als Symbolbild:
​​​​index.php?page=Attachment&attachmentID=14704


Sollte es beim Zusammenbau oder so noch Probleme geben, kann er/sie/es sich hier gerne melden ;hands

Derautomatenfreak

Risikospieler

  • »Derautomatenfreak« ist männlich

Beiträge: 245

Mitglied seit: 4. August 2011

Herkunft: Nordrhein-Westfalen

  • Private Nachricht senden

5

Samstag, 3. April 2021, 18:29

Danke riko super Aktion.
Leider kann ich nicht so gut löten das ich mich da ran traue.
Aktion mega für die Community Daumen Hoch

giGa977

Risikospieler

  • »giGa977« ist männlich

Beiträge: 106

Mitglied seit: 30. Mai 2014

Herkunft: Nordrhein-Westfalen

  • Private Nachricht senden

6

Dienstag, 10. Januar 2023, 19:53

Sehr löblich von dir Riko

Sehr löblich... :) Wie in der überschrift erwähnt.
Wenn ich mir das anschaue sehe ich das richtig der die LCD Shield einheit auf den Arduino gestecht wird und der RS232-TTL am shield angelötet wird ?
beste grüße nach Bochum :)

Riiko

Administrator

  • »Riiko« ist männlich
  • »Riiko« ist der Autor dieses Themas

Beiträge: 2 845

Mitglied seit: 3. Juni 2011

Herkunft: Nordrhein-Westfalen

  • Private Nachricht senden

7

Dienstag, 10. Januar 2023, 21:22

Ja genau, ist eigentlich ein leichter Aufbau mittlerweile.
Und noch besser ist es, dass man die Teile nun auch nicht mehr aus dem lahmarschigen China kommen lassen muss, wo gut 3/4 der Teile schon defekt ankommen. ;dance

giGa977

Risikospieler

  • »giGa977« ist männlich

Beiträge: 106

Mitglied seit: 30. Mai 2014

Herkunft: Nordrhein-Westfalen

  • Private Nachricht senden

8

Sonntag, 15. Januar 2023, 17:33

Hi Riiko,
irgendwie will mein nachbau nicht wirklich was am Display anzeigen.

oder geht des nur wenn ein GSGerät angeschlossen ist ?

hast du einen Tipp für mich was ich überprüfen kann ?

giGa977

Risikospieler

  • »giGa977« ist männlich

Beiträge: 106

Mitglied seit: 30. Mai 2014

Herkunft: Nordrhein-Westfalen

  • Private Nachricht senden

9

Sonntag, 15. Januar 2023, 19:00

hey,
vergiss mein vorherigen Post..... *dummheit* man sollte auch mal die Kontrast einstellung prüfen ;) und siehe da es lüppt.

grüße

giGa977

Risikospieler

  • »giGa977« ist männlich

Beiträge: 106

Mitglied seit: 30. Mai 2014

Herkunft: Nordrhein-Westfalen

  • Private Nachricht senden

10

Freitag, 20. Januar 2023, 20:38

Hey Riiko,
da bin ich wieder. Mal eine ganz blöde Frage die Geräte liefern doch an der Buchse +20 V und +40 V. könnte man nicht da direkt die Spannung beziehen ich meine die können bis zu 24 Volt alter native wäre ein 12 Volt Stecker netzteil am Arduino board möglich oder muss man mit dem 9 Volt Block arbeiten ?
grüße Dennis

paull337

5cent Spieler

  • »paull337« ist männlich

Beiträge: 32

Mitglied seit: 9. Januar 2020

Herkunft: Mecklenburg-Vorpommern

  • Private Nachricht senden

11

Dienstag, 28. März 2023, 15:30

Danke fürs teilen! Ich habe es auch mal nachgebaut.

Hallo Riiko,

danke dass du das Projekt mit uns geteilt hast.
Ich hab mir bei Thingiverse noch ein passendes Gehäuse gesucht.
https://www.thingiverse.com/thing:142282

Ich habe einen Remix davon genommen ohne Resetschalter. Die Batterie passt auch mit rein, nur einen Schalter muss man sich noch einbauen.
»paull337« hat folgende Dateien angehängt:

Loki969

Forenunterstützer

  • »Loki969« ist männlich

Beiträge: 33

Mitglied seit: 26. August 2021

Herkunft: Bayern

  • Private Nachricht senden

12

Dienstag, 28. März 2023, 18:29

index.php?page=Attachment&attachmentID=19040
Ich hab da auch was mit Gehäuse gebastelt.

Wer eines fertig will, und nicht selbst basteln will, kann auf Anfrage eins von mir bekommen.
Einfach PN schicken und anfragen.

Ich würde für das ganze fertig 55,55€ nehmen, davon gehen 5,-€ an Riiko als Dankeschön und Unterstützung für's Forum.
Als kleinen Bonus hab ich noch eine Schaltung in die Signalleitung gebaut die verhindert das bei fehlerhafter Buchse, (sprich wenn die 40V auf einen anderen Pin kommen) das ganze Gerät zerstört wird.

Gerriet

5cent Spieler

  • »Gerriet« ist männlich

Beiträge: 13

Mitglied seit: 20. Oktober 2012

Herkunft: Niedersachsen

  • Private Nachricht senden

13

Montag, 27. November 2023, 11:50

Hallo Riiko

Saß find ich mal eine Siper Sache das du dich entschieden hast den Geldgeiern den Gar auszumachen .

Lieben Dank das du das veröffentlicht hast , schade nur um den Hintergrund .

LG
Gerriet

ManuelAdler84

5cent Spieler

  • »ManuelAdler84« ist männlich

Beiträge: 13

Mitglied seit: 15. Januar 2023

Herkunft: Sachsen

  • Private Nachricht senden

14

Freitag, 12. April 2024, 08:05

Uhrensetzgerät

Hallo zusammen ;hüpf

Ich knüpfe mal an das Thema an, da es für einige wichtig sein kann:

Erst mal recht herzlichen Dank für diese Bauanleitung.
Zum Thema:
Es gibt Automaten mit der weißen CPU, die besitzen keine Dinbuchse mehr, sondern nur noch eine VDAI-Buchse, hier ist es ja möglich sich den passenden Stecker zu basteln... Aber jetzt die große Frage: wie sieht es denn mit den Weißen CPU's aus, die ein SUS-MODUL haben? - da scheint das Setzen nicht zu funktionieren - hier zeigt die Weiße Tastatur nur irgendwelche Codes an, aber keine Zeit und Datum.
ich hab da schon rumprobiert und langsam ;tölf ???

Gruß Manu

Verwendete Tags

Uhrensetzgerät Selbstbau

Legende:

Forum enthält keine neuen Beiträge
Forum enthält neue Beiträge
Forum ist geschlossen
Forum ist ein externer Link