Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Das Wettringer Modellbauforum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Elektron

unregistriert

91

Montag, 1. August 2016, 09:42

Hallo Willi,

mir erschließt sich nicht, warum du denkst, ich würde schneller voran schreiten wollen als es zum derzeitigen Punkt notwendig wäre. Genau das Gegenteil ist der Fall, und die geposteten Code-Beispiele waren eher für Mac gedacht.


LG

92

Montag, 1. August 2016, 14:14

Hallo Maik,

lies Dir mal den Thread-Titel und den ersten Post durch.
Das Ziel ist die Beleuchtung.
Bascom zu erlernen hat zweite Priorität.
Micha und ich hatten uns als erstes Ziel den 8-Kanal Blinker gesetzt und auch geliefert.
Da ist der ULN2803A erste Wahl. (nebenbei: Du hast, obwohl Dich Willie dazu aufgefordert hat, wieder kein Beispielschaltbild für Einzeltransistoren beigefügt.)
Wann welcher Befehl erklärt werden sollte - darüber ließe sich vortrefflich diskutieren, wenn der Thread ein reiner Bascom-Kurs wäre.
Ist er aber nicht!
Die Befehle werden dann erklärt, wenn sie benutzt werden.
Wo lässt sich der Code zum besseren Verständnis vereinfachen? Und jetzt bitte keine unübersichtlichen Riesenzeilen mit Doppelpunkten.

Viele Grüße
Mathias & Micha

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


93

Montag, 1. August 2016, 14:34

Hallo Willie,

wir finden es prima, dass Du Deine Erfahrungen mit allen Interessierten teilst!

Gerade auf dem Steckbrett ist ein defekter Kontakt die häufigste Fehlerursache.
Unser Tipp zur Fehlersuche (Schaltung ohne angeschlossene Spannung):
  • Schaltbild ausdrucken
  • jede Verbindung mit dem Messgerät (Durchgangsprüfer oder Widerstandsmessung) überprüfen
  • korrekte Verbindungen auf dem Ausdruck farbig nachzeichnen; so fällt auch am Schluss eine evtl. vergessene Verbindung auf

Viele Grüße
Mathias & Micha

PS: aha, da ist schon der 16- bzw. 15-Kanal Blinker auf dem Steckbrett vorbereitet :ok:

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

94

Montag, 1. August 2016, 20:54

Erwähnst du auch Bitte gleich, dass der Controller zum Messen der Leiterbahnen mit einem Multimeter abgezogen werden sollte? Frag jetzt aber Bitte nicht warum... :whistling:

Code-Optimierungen? Beitrag 81. Dachte, den hättest du gelesen... :trost:

"Aufgefordert" wurde ich übrigens nicht, ein Schaltbild anzufertigen. Ich bin auch nicht der große Schaltbild-Zeichner, muss ich auch zugeben. Aber ich befriedige deine Neugier und setze mich dran. Auf Arbeit kann ich zwar Schreiben, jedoch nicht zeichnen - geht nur daheim.


MFG

95

Montag, 1. August 2016, 21:28

Hallo Maik,

doch, ich erdreiste mich zu fragen, warum? Ohne den Mikrocontroller auf dem Brett macht doch die Suche wenig Sinn.
DEN ATMEL-µC möchte ich sehen, der beim Checken der Verbindungen die Ohren anlegt.

Post 81 habe ich nicht nur gelesen, sondern bin auch darauf eingegangen. Anfängerfreundliche Optimierungen konnte ich keine finden.

Es wäre für die Anfänger nachvollziehbarer, wenn du zu Änderungsvorschlägen (z.B. Transistor am Ausgang oder Entprellkondensator) ein kleines Schaltbild einfügen würdest. Dann kann jeder Interessierte im Rahmen der Hausaufgabe bzw. seines Bastelbudgets, für sich selbst entscheiden, ob er die zusätzlichen Teile einkauft und die für ihn passende Variante ausprobiert.
Wenn das keine Aufforderung ist, dann hätte Willie besser geschrieben: "Maik, zeichne mal ein Schaltbild."
Zumal Du in Post 91 schon wieder das Transistor-Beispiel brachtest.

Text wegen Mangel am Themenbezug gelöscht. (Der Rheinenser)

(Noch) viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

96

Montag, 1. August 2016, 22:44

Dann verrate mir doch Bitte, welchen "Sinn" (oder Unsinn) der Controller auf dem Board beim messen haben sollte? Wenn man einen Widerstand messen möchte, werden alle "Messfehler" durch direkt oder indirekt beteiligte Bauteile ausgeschlossen. Nicht ohne Grund werden beispielsweise Widerstände auf einer Seite ausgelötet, um deren Widerstandswert messen zu können.
Zwar sind die Ausgänge des Controllers in der Regel hochohmig, jedoch kann es durchaus passieren, dass eine Lötbrücke an irgendeiner Stelle entstanden ist, beispielsweise zwischen einem benutzten I/O und GND. Angenommen, man nutzt den durchgehenden GND eines ATMega8 - wie willst du ausschließen, auf welcher Seite sich der Leitungsschluss befindet? Guess which...


Rest des Textes wegen Mangel an Themenbezug gelöscht. (Der Rheinenser)

Hubra

Moderator

Beiträge: 11 439

Realname: Michael

Wohnort: Niederdürenbach-Hain

  • Nachricht senden

97

Montag, 1. August 2016, 23:27

Lieber Maik. :wink:

Dein Ehrgeiz in allen Ehren, aber Du bist auf dem besten Wege diesen Beitrag kaputt zu machen. :!!

Wir haben von Anfang an geschrieben, dass dieser Beitrag als Ziel hat, Anfängern die Möglichkeit zu geben auf einfachster Art und Weise zu einer Platine zu kommen die sie für ihr Modell verwenden können.
Ich habe auch in diesem Zusammenhang meine ersten Schritte mit der Programmierung mit Mikrocontrollern gemacht.
Das ich das mit Bascom mache, schreibe ich Bewußt nicht da es mir und bestimmt auch den anderen Anfänger völlig gleichgültig ist wie die Befehle lauten.

Mein Ziel ist es und damit spreche ich bestimmt einige hier an, bestimmt auch die User die hier nur still mitlesen, erst einmal ein Ergebnis auf die Beine zu stellen.
Wenn ich dann merke was ich und die anderen damit machen können, dann kann ich mich immer noch Schritt für Schritt um die Begriffe kümmern. :)
In erster Linie bin ich Praktiker und mir fällt es nicht schwer aus einem Schaltplan, eine Funktionsfähige Platine zu Löten, egal ob es sich dabei um eine Lochraster oder Streifenplatine handelt.

Deshalb möchte ich dich bitten unseren Beitrag nicht weiter als Diskussionsplattform zu benutzen, da der Sinn des Beitrags damit völlig verloren geht und Du damit so einige User abschreckst, dieser Beitrag weiterhin zu verfolgen.

Wir haben im Vorfeld schon viel Zeit und Mühen damit verbracht um andern im Bereich der Beleuchtung weiter helfen zu wollen.
Aber dadurch wird das Ziel wohl in weiter Ferne rücken.

Sei so gut und halte dein Wissen im Moment noch für dich, damit die Anfänger genau wie ich, sich langsam an die Materie ran tasten können.

Nichts für ungut.

Gruß Micha.


Inhaltsverzeichnis aller Projekt-Posts in Post 1

Elektron

unregistriert

98

Dienstag, 2. August 2016, 05:44

Achso, na dann habe ich das wohl ein wenig falsch verstanden. Ich dachte, es geht darum, Anfänger an die sinnvolle Anwendung der Programmierung und Hardware heran zu führen, dass sie den Code auch richtig verstehen und damit eigenständig Arbeiten können.
Hätte ich gewusst, dass es nur darum geht, dass der Anwender nur das nachbauen und kopieren soll was ihr vorgebt...

Wie du bereits schriebst - nichts für ungut (bevor ich noch weitere User 'abschrecke'...)

99

Dienstag, 2. August 2016, 08:13

Oh Mann, oh Mann. Das sind also die Tipps, die ein Anfänger braucht? Zitat: "Die Transistoren sollten IMMER VOR der Last stehen. Es funktioniert auch umgekehrt, also wenn der Transistor hinter der LED angeschlossen wird, jedoch nur bei direktem Anschluss. Wird ein weiterer Transistor dahinter gesetzt, funktioniert es nicht mehr und die LED's bleiben dunkel. Darum - immer Transistoren vor die Stromlast. " Wichtiges in Großbuchstaben und im nächsten Satz gleich wieder verwerfen. Und das Grüne, schlicht und selbsterklärend, alles klar, deswegen funktionieren Multiplexansteuerungen sowieso nie, oder vielleicht doch, weil da Transistoren vorne und hinten an der Last dranhängen? Toll, echt toll, was du da zusammen schreibst. So einleuchtend, so klar, das bleibt im Hirn kleben wie Schmierfett.
Jetzt mach dich mal kundig, bevor du hier als 'allwissender' Lehrer auftritts. Was du hier machst ist kaputt machen. Alle Schaltungen, die hier in diesem thread, zum Einstieg in die Programmierung mit bascom, funktionieren, sind Stand der Technik und leicht aufzubauen. Und Programmieren kann man auf verschiedene Arten, gerade was das layout betrifft. Die beiden Ms haben sich für eine entschieden, basta, sie haben sich das auch überlegt. Und wenn man sich als Anfänger daran hält, ist das auch ganz gut so. Nicht umsonst wird es in den Büchern auch so gemacht.
Text wegen Unsachlichkeit entfernt. (Der Rheinenser)
Ein guter Einstieg sind die Artikel im mikrocontroller.net, hier mal zum Thema Transistoren: https://www.mikrocontroller.net/articles…mit_der_Last.3F

100

Dienstag, 2. August 2016, 09:51

Oh, was ist denn jetzt los ?(

Können wir alle bitte wieder auf das eigentlich Thema zurückkommen?

@ Mathias: Danke für die nochmalige Erläuterung im Post 85. Ich werde mir dann mal das Equipment bestellen und mich an die Arbeit machen. Weitere Rückfrage werden sicherlich folgen :S

101

Dienstag, 2. August 2016, 11:47

Seltsam - von dir lese ich nichts Nützliches... Im Gegenteil sogar... motzen, motzen, motzen.
Das Nützliche meinerseits beschränkt sich auf das Ausbessern deiner falschen Dogmen. Beim Rest vom thread hab' ich nichts zu kritisieren, das hab' ich ja schon geschrieben.
@em.zet ich hoffe, das wird sich verbessern, nur manchmal hilft ein nur Winken mit der Latte nix, dann muss es etwas härter werden.

Beiträge: 1 183

Realname: Wilfried Hoffmann

Wohnort: Braunschweig

  • Nachricht senden

102

Dienstag, 2. August 2016, 12:08

Hallo allerseits,
da ich z.Z. leider mehrere Baustellen an der Backe habe und irgendwie die Zeit splitten muss, komme ich jetzt erst dazu, zu den letzten etwas aufwühlenden Treads,
die auf Grund meines Feedbacks entstanden sind, hier mal meine Sicht darlegen.

Wir ALLE posten hier im Forum unsere Beiträge, abgesehen von eigentlich grundlegenden Umgangsformen, ohne irgendwelche Verpflichtungen gegenüber anderen Forenteilnehmern.
Das bedeutet für mich, wenn ich irgendetwas von einem Kollegen haben möchte, hat mich meine Erziehung gelehrt, darum zu bitten.
Fordern kann ich von einem Geschäftspartner oder auf dem Kasernenhof.
Keins von beiden trifft auf uns zu.
Ich kann also nur Vorschläge machen oder eine Bitte für eine bestimmte Zuarbeit äußern.
Ob dem entsprochen wird, liegt ganz im Ermessen des jeweiligen Modellbaukollegen.

Da Maik die Schaltbeispiele nachgeliefert hat, kann ich mich an dieser Stelle nur herzlich dafür bedanken.
Das war im Kern erstmal das, was ich wissen wollte. :hand:


Es ging weiterhin in diesem Tread zunächst erst einmal darum, Anfängern zu zeigen, wie man mit einfachen Mitteln und zunächst geringen Kenntnissen der
Mikroprozessorprogrammierung eine Fahrzeugbeleuchtung realisieren kann.
Da Michas Haupinteresse als Initiator an Einsatzfahrzeugen besteht, dann natürlich auch mit allem Bling-Bling, das dafür notwendig ist.
Ich fand es ok!

Ich habe für mich die Cases der weitergehenden Schaltung dahingehend geändert, dass ich einfacher nachvollziehen kann was wann schaltet.
Dafür brauchte ich persönlich keine wilde Blinkerei, sondern nur eine klare Anzeige, welcher Case gerade ausgewählt ist.
Aber auch das ist eine persönliche Angelegenheit, was jeder für sich als angenehm empfindet und sich dementsprechend programmiert.
Ich will ja zunächst erst einmal nur die Schaltung verstehen.

Der Case-Code von Maik ist sicherlich für einen Fortgeschrittenen eleganter strukturiert.
Er ist aber auch für die Ansteuerung von Mehrfarb-LED-Bändern gedacht.
Für mich persönlich im Hinblick auf die Fahrzeugbeleuchtung war die Darstellung im Binärcode übersichtlicher, weil ich nicht umrechnen musste, sondern im gesamten Case die Schaltzustände auf einen Blick erfassen konnte.

Aber nun, wie Marcus schon geschrieben hat, bitte alle mal ein wenig durchschnaufen und beruhigen und weiter mit dem eigentlichen Thema. :dafür:


Zunächst eine Bitte an die M&Ms.
Zeigt doch bitte mal die Benutzung des Debounce-Befehls aus eurer Sicht.
Das dies im Kleinen funktioniert, aber in umfangreichen Schaltungen der Entprellkondensator eventuell die bessere Lösung ist, habe ich bisher verinnerlicht.

Desweiteren habt ihr nach Vorschlägen für den weiteren Fortgang gefragt. :D

Mit der bisherigen Schaltung kann ich an einem Fahrzeug nur die komplette Beleuchtungseinrichtung an- oder abschalten.
Ich hätte Interesse an einer Lösung, einzelne Lichtkomponenten gezielt an- oder abschalten zu können.
Hier mal eine Skizze dazu.



1 Taster je Beleuchtungskomponente, d.h. genauer: mit einem Druck auf einen Taster wird die zugehörige Komponente eingeschaltet und mit einem weiteren Druck auf denselben Taster wieder ausgeschaltet.

1-n Schalter in einer Steuereinheit in der Base und die entsprechend zu schaltenden LEDs im Modell.
Dazwischen nur soviel Leitungen wie unbedingt notwendig.
In der Skizze habe ich z.B. 6 Leitungen; +,GND und 4 Steuerleitungen.
Damit könnte ich 16 Schaltzustände sowie die Versorgungsspannung übermitteln.

Vielleicht läßt sich die Anzahl der Ltgn. durch serielle Übertragung sogar noch veringern.
Doch in dieser Hinsicht bin ich noch ziemlich unwissend. :nixweis:

Das Sahnehäubchen wäre für mich, mit einer Steuereinheit verschiedene Modelle ansteuern zu können.
Vielleicht sogar (I have a dream) mit einer Standardfernbedienung? :rolleyes:
Viele Grüße
Willie

Man ist niemals zu alt, um Neues zu lernen.
Es gibt keine dummen Fragen, nur dumme Antworten.

Fertig:

VW Bus T3 – Mein erster Tourbus

In Bearbeitung:
Chevy G20 Van in 1:25 nach realem Vorbild

Fertige Projekte im Portfolio!

Beiträge: 631

Realname: Klaus Upmann

Wohnort: Rheine, der größte Vorort von Wettringen

  • Nachricht senden

103

Dienstag, 2. August 2016, 12:10

Hallo Leute,

ich finde, so langsam ist Schluss mit persönlichen Animositäten. Dieser für Anfänger in der Materie sehr nützliche und lehrreiche Beitrag sollte nicht wegen unterschiedlicher Sichtweise der Dinge zerstört werden. Ich denke Micha und Matthias geben sich hier nicht die Mühe, Anfängern den Einstieg in elekronische und programmiertechnische Dinge zu geben, damit dieses durch verwirrende und sinnlose Diskussionen gestört wird. Wer mag kann ja zu dem Thema einen eigenen Thread eröffnen, wo nur diskutiert wird. Wenn es allerdings nur um die Befriedigung des eigenen Egos geht, schlage ich vor, trefft Euch morgens um Halb Sechs irgendwo auf einer Flussaue :!! . Ihr wisst schon - oder?

Kommt bitte zum Thema zurück und lasst den Quatsch.

Munter bleiben

Klaus
Planung ist die Kunst den Zufall durch einen Irrtum zu ersetzen

Elektron

unregistriert

104

Dienstag, 2. August 2016, 12:49

Ich hatte um die aggressiven Beiträge von Tschoetsch nicht gebeten. Vielleicht ist das aber auch sein Umgangston...

@ Willie: Bitte, gern geschehen. Und danke für das eingebrachte Verständnis. Ich meinte es wirklich nur gut...

Wie genau hattest du deine Vorstellungen denn gemeint?
Die von dir erdachte Variante nutze ich auch gelegentlich, per 4-Bit-Wahrheitstabelle. Allerdings ist noch ein 5tes Bit notwendig, als Sicherheitsbit, mit dem sich Programme auch abbrechen lassen.
Beide Mikrocontroller können Teilautark laufen. Bedeutet, dass beide eine eigene Spannungsquelle haben können - ihren eigenen Festspannungsregler. Der einzige Pin, der beide Controller zur Kommunikation immer miteinander verbinden muss, ist GND. Fernbedienunge bilden hier selbstredend eine Ausnahme ;)

Eine Möglichkeit, die Anzahl der Datenleitungen noch weiter zu minimieren, wäre die übertragung per Datenbus bzw. I2C (I-Squared-C).

Meines Wissens nach wird das mit der Standard-Fernbedienung nicht so einfach funktionieren. Bascom liefert nicht die nötigen Protokolle, um das Signal einer Standard-Fernbedienung zu entschlüsseln. Genaueres weiß ich darüber aber auch nicht. Den Gedanken hatte ich vor einiger Zeit auch einmal und mich dahingehend von einem Profi beraten lassen.

Was du aber machen kannst:
Bascom hat ein älteres, heute eher nicht mehr gebräuchliches Übertragungsprotokoll, das du nutzen kannst. Ist ein einfaches und recht langsames Protokoll, ohne Sicherheitsabfragen, soll aber gut funktionieren.
Demzufolge - baue zum Empfänger eine eigene Fernbedienung mit eigenem Controller. Verdrahte ihn so, dass er nur dann Strom bekommt, wenn du eine beliebige Taste drückst. Achte darauf, dass die Empfängerdiode auch zur Infrarot-Sendediode passt. Sie müssen die gleiche Taktfrequenz und Wellenlänge haben, sonst redet quasi ein Chinese mit einem Deutschen ;).

Welches Protokoll das sein muss, muss ich aber auch erst nachschlagen - hab das Thema nict hier auf meinem tablet gespeichert.


MFG

105

Dienstag, 2. August 2016, 15:30

Hallo Willie,

ein schöner Vorschlag! Wie Maik (auch von mir ein Dankeschön für den Schaltplan!) schon sagte, ist I2C kabelgebunden das Mittel der Wahl.

Bascom unterstützt auch sehr komfortabel das RC5-Protokoll, das die meisten IR-Fernbedienungen nutzen. Schau' Dir mal den Befehl GetRC5 in der Bascom-Hilfe an.
IR- Betrieb habe ich aber noch nicht probiert.

Viele Grüße
Mathias

P.S. Ich habe Tschoeatsch als extrem hilfsbereiten, geduldigen und freundlichen Menschen kennengelernt.

P.P.S. Schade, meine aktuelle Pollin-Bestellung konnte ich nicht mehr erweitern :(

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

106

Dienstag, 2. August 2016, 17:53

Stimmt. Das RC5-Protokol geht. Haben einige Fernbedienungen, einige aber auch nicht. Klappt nicht mit jeder und Ausprobieren ist angesagt.

Mit Fernbedienungen der Marken Sony, Pioneer, Humax, Technisat , Nec , JVC und etlichen weiteren sollte es nicht funktionieren. Als Quelle dienen diverse Berichte im WWW.

@ Mac: Ich leider nicht. Ist aber auch nicht schlimm - gibt Solche und Solche... ;)

Was ich ja immernoch suche, ist eine Möglichkeit der drahtlosen, IR-freien Kommunikation mit BASCOM und nem ATMega. Allerdings ist da auch die Hardware seeehr rar und sicher auch nicht so günstig wie eine IR-Verbindung. Aber da hat sicher keiner eine Idee, oder?


MFG

107

Dienstag, 2. August 2016, 18:05

Hallo Maik,

RC6 habe ich auch schon in Bascom gesehen.
IR-frei: Gib mal bei Pollin in die Suche "Funkmodul" ein. :ok:
Sehr günstig - finde ich.

@Willie: Funk?

Viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Beiträge: 1 183

Realname: Wilfried Hoffmann

Wohnort: Braunschweig

  • Nachricht senden

108

Dienstag, 2. August 2016, 19:34

Hallo Leute,
Mannomann, legt bloß nicht so ein Tempo vor. :cracy:

Der Vorschlag war für die nächste Zukunft gedacht, doch nicht für die komplette sofortige Umsetzung.
Ich hatte eher an einen Zeitrahmen von etwa 3 Monaten gedacht.
Dann erst kehrt in Einige meiner aktuellen Baustellen wieder etwas mehr Ruhe ein.

Bis dahin haben wir doch sicher auch noch Zeit, die verschiedenen Verbindungsmöglichkeiten zunächst mal in Ruhe durchzuspielen.
Welche Variante dann später umgesetzt wird, hängt doch eh von der jeweiligen Anforderung ab.
Vielleicht gibt es auch noch andere Vorschläge, die einfacher umzusetzen sind.

Trotzdem Danke, dass der Vorschlag so wohlwollend angenommen wird. :five:

Jetzt muss ich mich aber erst einmal wieder um meine Musikbaustelle kümmern.
Der nächste Termin drückt schon wieder und es ist noch einen Menge dafür zu tun. :pc:
Viele Grüße
Willie

Man ist niemals zu alt, um Neues zu lernen.
Es gibt keine dummen Fragen, nur dumme Antworten.

Fertig:

VW Bus T3 – Mein erster Tourbus

In Bearbeitung:
Chevy G20 Van in 1:25 nach realem Vorbild

Fertige Projekte im Portfolio!

109

Dienstag, 2. August 2016, 19:45

Der Debounce-Befehl

Hallo Willie,

der Debounce-Befehl ist einfach und doch komplex.
Einfach zu verwenden; komplex im resultierenden (kompilierten) Code.

Eigentlich ist er eine Kombination dessen, was wir im letzten Programm "zu Fuß" programmiert haben:
Eine Software-Entprellung.

Der Debounce- Befehl hat folgende Syntax:
DEBOUNCE Eingabepin , Status , Sprungmarke [ , SUB]

Er fragt einen als Eingabe definierten Portpin ab und wartet dafür in der Grundeinstellung 25 ms lang.
Je nach Status (0 oder 1) springt das Programm zu einer definierten Sprungmarke, die so
Sprungmarke :
aussieht. Beachte den Doppelpunkt.
Der Sprung enspricht im Normalfall dem (hier bisher nicht verwendeten) Befehl:
Goto Sprungmarke
Falls im Debounce-Befehl zusätzlich ", SUB" angehängt wird, so entspricht der Sprung einem Sprung in ein Unterprogramm:
Gosub Sprungmarke

Ich habe mal "quick & dirty" das letzte Programm verändert:

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
'*****************************************
'
'
' Blinker (8-Kanal) mit Modusumschaltung
'
'
'*****************************************
' Verwendung des ULN2803A
' PortB.x -- ULN In --- ULN Out -- Kathode LED -- Anode LED --- 1k -- +12 oder +5 V.
' Taster an Pin 11 --- GND
'
' ***** Genutzter Microcontroller, Takt in Hz, Stacks & Framesize
$regfile = "attiny4313.dat"
$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32

'***** Variable
Dim I As Byte                            	' Standard-Zählvariable
Dim Modus_nummer As Byte                 	' selbsterklärend
Dim Led_sequenz(8) As Word               	' 8 LED-Sequenzen à 16 Schaltzustände
Dim Impuls As Byte                       	' legt die Impulsdauer fest
Dim Sequenz As Byte                      	' Länge der Sequenz Werte 0 - 15 entsprechen 1 - 16 Sequenzbits
'*******************************
'*
'* Spielwiese 1
'*
'*******************************
Impuls = 150                             	' Impulsdauer in Millisekunden
Sequenz = 15                             	' s. o.
'*******************************
'*
'* Ende Spielwiese 1
'*
'*******************************
'
'***** Configs & Interrupts
' Portpin-Configs & Alias
Config Portb = Output
Led1 Alias Portb.0
Led2 Alias Portb.1
Led3 Alias Portb.2
Led4 Alias Portb.3
Led5 Alias Portb.4
Led6 Alias Portb.5
Led7 Alias Portb.6
Led8 Alias Portb.7

Config Portd.6 = Input                   	' Eingabeportpin bestimmen
Modus_plus Alias Pind.6                  	' Aufpassen:Nicht PORTD.6 sondern PIND.6 - wir fragen ja einen INput ab
Portd.6 = 1                              	' Pullupwiderstand einschalten


Do
   For I = 0 To Sequenz
  	Led1 = Led_sequenz(1).i
  	Led2 = Led_sequenz(2).i
  	Led3 = Led_sequenz(3).i
  	Led4 = Led_sequenz(4).i
  	Led5 = Led_sequenz(5).i
  	Led6 = Led_sequenz(6).i
  	Led7 = Led_sequenz(7).i
  	Led8 = Led_sequenz(8).i
  	Waitms Impuls
  	Debounce Modus_plus , 0 , Modusumschaltung , Sub
   Next I
Loop
End


'*******************************
'*
'* Unterprogramm & Spielwiese 2
'*
'*******************************

Modusumschaltung:                        	' Name des Unterprogramms. Doppelpunkt nicht vergessen!
   If Modus_plus = 0 Then
  	Incr Modus_nummer                  	' addiert 1 auf Modus_nummer. Wir könnten auch schreiben: Modus_nummer = Modus_nummer + 1
  	Bitwait Modus_plus , Set
   End If                                	' Taster nicht mehr gedrückt?
   'If Modus_nummer = 255 Then Modus_nummer = 0   	' Hausaufgabe ;-)
   If Modus_nummer > 3 Then Modus_nummer = 0 ' Wir haben nur drei Modi
   I = 0                                 	' Sequenzbitzähler zurücksetzen

   Select Case Modus_nummer

  	Case 0:
     	Led_sequenz(1) = &B0000000000000000 ' Alle Sequenzen aus; Led_sequenz(x) = 0 geht auch.
     	Led_sequenz(2) = &B0000000000000000
     	Led_sequenz(3) = &B0000000000000000
     	Led_sequenz(4) = &B0000000000000000
     	Led_sequenz(5) = &B0000000000000000
     	Led_sequenz(6) = &B0000000000000000
     	Led_sequenz(7) = &B0000000000000000
     	Led_sequenz(8) = &B0000000000000000

  	Case 1:
     	Led_sequenz(1) = &B0000000000000000 ' Sequenzen für Led7 und 8
     	Led_sequenz(2) = &B0000000000000000
     	Led_sequenz(3) = &B0000000000000000
     	Led_sequenz(4) = &B0000000000000000
     	Led_sequenz(5) = &B0000000000000000
     	Led_sequenz(6) = &B0000000000000000
     	Led_sequenz(7) = &B1100110011001100
     	Led_sequenz(8) = &B0011001100110011

  	Case 2:
     	Led_sequenz(1) = &B0000000000000000 ' Sequenzen für Led4 - 6
     	Led_sequenz(2) = &B0000000000000000
     	Led_sequenz(3) = &B0000000000000000
     	Led_sequenz(4) = &B1111000011110000
     	Led_sequenz(5) = &B0101000001010000
     	Led_sequenz(6) = &B0001010100010101
     	Led_sequenz(7) = &B0000000000000000
     	Led_sequenz(8) = &B0000000000000000

  	Case 3:
     	Led_sequenz(1) = &B0000010100000101 ' Alle Sequenzen an
     	Led_sequenz(2) = &B0001010000101000
     	Led_sequenz(3) = &B0000111100001111
     	Led_sequenz(4) = &B1111000011110000
     	Led_sequenz(5) = &B0101000001010000
     	Led_sequenz(6) = &B0001010100010101
     	Led_sequenz(7) = &B1100110011001100
     	Led_sequenz(8) = &B0011001100110011

   End Select

Return


Also nichts, was man nicht "zu Fuß" programmieren könnte. Eventuelle Unterschiede im genutzten Flash-Speicher habe ich nicht untersucht.

LG
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

110

Dienstag, 2. August 2016, 21:00

Na da sag ich doch gleich mal DANKE. :ok:
Bislang hab ich immer nur bei Reichelt gesucht, und da gibbet nix Vergleichbares.
Aber die Pollin-Übertragungsmodule unterstützen ja sogar das SPI-Interface. SUPER...
Braucht noch jemand Infrarot-Equipement? :lol:

Ist ja schon mal auch komfortabler und wesentlich "cooler", wenn man seinen Heim-Stereoverstärker in Eigenbau mit einem Funkmodul statt Infrarot ausstattet ^^.


MFG

111

Dienstag, 2. August 2016, 21:28

Hallo Maik,

das freut mich *wirklich*! :tanz:
Die Pollin-Module werden oft verwendet; Codeschnipsel findest Du massig.

Viele Grüße & :hand:
Mathias

P.S. IR: :verrückt: :D :D :D
P.P.S. Denk' an den 5€-Gutschein!

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Beiträge: 174

Realname: Stefan

Wohnort: Raum Hildesheim

  • Nachricht senden

112

Mittwoch, 3. August 2016, 00:02

Weiss jetzt nicht genau was du mit IR-freier Kommunikation meinst. Habe selber in einem Projekt mal ein WLAN-Modul verbaut, dass sich ganz simpel an den UART eines ATMega anbinden liess (nannte sich "WIZ610WI", ein "Serial to Wifi Interface"). Also eine einfache, serielle Kommunikation, die übers WLAN läuft . Damit wird deine Schaltung sogar im Heimnetz sichtbar und steuerbar, z.B. per Computer oder mit dem Smartphone. War allerdings recht stromhungrig und etwas warm das Ding. Günstiger: Ähnliches gibt es auch auf Bluetooth-Basis, z.B. sowas hier. Wäre auch eine Idee für Willies Traum einer Fernbedienung, vielleicht sogar Universalfernbedienung (ein Master, mehrere Slaves...)

113

Mittwoch, 3. August 2016, 01:46

Au weia,

das nimmt hier aber Fahrt auf :idee: :idee: :idee:

Viele Grüße
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

114

Mittwoch, 3. August 2016, 09:50

BT wäre natürlich eine Alternative, Wlan ebenfalls. Nenneswerte Programmänderungen plane ich jedoch selten ein. Stromhungrig darf es keinesfalls werden, da die Fernbedienung ja nur mit einfachen Batterien läuft.
Wie verhält es sich mit den Pollin-Funkmodulen? Sind die sofort und ohne Verbindungsaufbauzeit einsatzbereit oder muss man das Modul ständig in Bereitschaft halten? Das wäre ja der Vorteil von IR, die Übertragung geht sofort mit dem Tastendruck los...
Braucht das Funkmodul eine Gedenksekunde oder länger zum Verbindungsaufbau, ist es leider für eine Fernbedienung ungeeignet... Also für meine Anforderungen, meine ich.

Was mich sonst noch brennend interessieren würde, wäre ein digital-Radio-Tuner mit SPI oder I2C-Schnittstelle.
Meine Harman/Kardon-Heimkinoanlage braucht leider (dank des DVD-Laufwerks) doch ein wenig zu lange zum Hochfahren,, auch wenn der Klang traumhaft ist.


LG - Maik

115

Mittwoch, 3. August 2016, 19:49

Hallo Modellbaufreunde,

"Wie geht's weiter?"

Der 8- (oder 16-) Kanal Blinker ist realisiert. :D

Zwischenzeitliche Wogen sind geglättet. :trost:

Die Zugriffszahlen auf den Thread sind hoch - Feedback kam leider nur von Wenigen.
Auch haben wir viele nichtregistrierte Nutzer gesehen, an die wir uns auch wenden wollen.

Schreibt im Thread oder per Email (Button unter dem Avatar), wie Ihr bisher mit dem Projekt zurechtkamt und/oder
was Ihr Euch als nächste Projekte wünscht! Neue Effekte, Servos, Sensoren oder auch eine für Euch passende Veränderung des abgeschlossenen Projekts.


Willie hat schon mal den Anfang gemacht: Er möchte die Licheffekte an seinem Modell einzeln schalten können. Entweder kabelgebunden oder kabellos. :ok:

Wir werden Eure Vorschläge sammeln und - je nach Anzahl - gegebenenfalls zur Abstimmung aufrufen. Natürlich auch für Nicht-Fories.


Schalten Sie auch nächstes Mal wieder ein, wenn sie die M&Ms sagen hören: "Resultate!"

Viele Grüße
Mathias & Micha

Inhaltsverzeichnis aller Projekt-Posts in Post 1

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

116

Mittwoch, 3. August 2016, 21:07

Servo's...

Mit dem Thema hatte ich mich wochenlang auseinander gesetzt, trat aber irgendwie auf der Stelle.
Vielleicht kannst du mir da ein wenig unter die Arme greifen, damit die Servo-Steuerung nicht den halben Controller lahm legt... ^^


LG

117

Mittwoch, 3. August 2016, 21:34

Hallo Maik,

notiert. Wir werden wahrscheinlich auf Deinen Favoriten wechseln: den ATMega8

LG
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

118

Samstag, 6. August 2016, 16:06

Derzeit arbeite ich ja gerade an meiner Fahrrad-Beleuchtung für den Fahrradanhänger, mit kombinierten Rück-/Bremsleuchten, Blinkern und Akku-Warner (eventuell sogar mit 10-Segment-Balkendisplay).
Wenn Bedarf oder Interesse besteht, könnte ich ja entsprechende Platinen-Layouts, Detail-Fotos und das dazu passende BASCOM-Programm einstellen.

Mit den passenden Schaltplänen tue ich mich noch ein wenig schwer. Normalerweise erstelle ich die Pläne im Kopf und fertige dann nur noch die passenden Platinen-Layout's digital.


LG

119

Samstag, 6. August 2016, 19:20

Klar, Maik!

Ich bin schon mächtig gespannt. Ist ja quasi Maßstab 1:1 :abhau:

Mittlerweile habe ich ein wenig mit Eagle gespielt und könnte wahscheinlich einen Schaltplan zeichnen. Aber "anfengerhaft" :motz:

LG
Mathias

Zu Hülf' - meine Kugel ist umgefallen!

Heisenberg bei einer Radarkontrolle:
Polizist: "Wissen Sie, wie schnell Sie waren?"
Heisenberg: "Nein. Aber ich weiß genau, wo ich jetzt bin!"


Elektron

unregistriert

120

Sonntag, 7. August 2016, 11:27

Dann geb ich mir Mühe ^^.

War das Beispiel mit dem Anschluss des Festspannungsreglers auf Seite 1 dieses THD nicht von dir gezeichnet? Ich fand das sehr gut, durchsichtig und praktisch umsetzbar. Was will man mehr ^^.

Eagle hab ich mir nun auch noch einmal herunter geladen und werde mich, sobald Zeit dafür ist, auch damit eingehend beschäftigen. Schwerer als BB wird es auch nicht sein ;).
Mit meinen ersten Schaltplänen habe ich gelernt, dass "anfängerhaft" nur bedeutet, alle Stromlinien direkt miteinander zu verknüpfen und so für undurchsichtiges Wirrwarr zu sorgen. "Professionell" wäre hingegen, einzelne Teile direkt abzukoppeln und gesondert aufzuzeichnen, beispielsweise bei einem Schaltplan für einen Heimverstärker den Teil abzukoppeln, welcher für die Aufladung der Ringkerntrafos zuständig ist.
Oder (in der einfachen Lichttechnik) die Beschaltung des Festspannungsreglers und Hardware-Entprellung von Eingabemodulen vom restlichen µC-Schaltkreis abzukoppeln.


LG - Maik

Werbung