Lieber Besucher, herzlich willkommen bei: RCLine Forum. 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.

1

Montag, 24. Mai 2010, 17:44

selber löten und programmieren

Hallo,

ich habe mal ein wenig mit Atmel-Mikrocontrollern und BASCOM rumgespielt und dabei ist eine Lichtsteuerung für RC-Autos und eine allgemeine Lichtsteuerung über "Schalter/Drehregler" rausgekommen. Die Programme sind mit Sicherheit besser zu programmieren, aber für mich hats so gereicht :tongue:.

Die Autobeleuchtung kann man von meiner Homepage runterladen:

http://www.mstratmann.de/html/modellbau.html#RC-Light

Bauanleitung allgemeine Lichtsteuerung im Anhang.

Hinweis in allgemeiner Sache: es handelt sich bei den Beschreibungen um Experimente, keine Haftung, Nachbau auf eigene Gefahr.

Gruß
Manfred
»flieger089« hat folgende Datei angehängt:

2

Dienstag, 22. Juni 2010, 22:13

RE: selber löten und programmieren

Ab heute auch in der aktuellen Ausgabe von Elektor:

Lichtsteuerung für RC-Autos [Elektor 090834]

Gruß
Manfred

3

Donnerstag, 2. Dezember 2010, 19:01

RC-Light 1 V 3.5

Hallo,

ab jetzt gibts den Bauplan für die RC-Autolichtsteuerung in Version 3.5:

- jetzt einstellbar ab welcher Position die Blinker aktiv werden
- mit Rückfahrlicht
- Firmware komplett neu überarbeitet

Link siehe 1. Beitrag.

Gruß
Manfred

ro.heg

RCLine User

Wohnort: Quickborn

  • Nachricht senden

4

Samstag, 18. Dezember 2010, 10:16

Hallo Manfred,
mich hats mit Bascom und Atmel auch erwischt, und bin blutiger
Anfänger.
Auf einer Modelleisenbahn habe ich mit dem Atmel einiges vor.
z.B. original getreu laufende Ampelsteuerung an einer Straßenkreuzung.
Habe ein Lernpacket vom Franzis-Verlag und über ebay
das Programmierpacket "myAVR" ersteigert.
Wie ich sehe, hast Du schon ein gewisses Grundwissen, ich bin froh,
daß bei mir erst mal eine LED blinkt.

Grüße

Rolf

5

Samstag, 18. Dezember 2010, 10:35

Hallo Rolf,

Bascom macht ne menge Spass und das hat einige schöne Funktionen die man benutzen kann. Das Franzis Lernpaket habe ich auch liegen, aber bisher nur mal überflogen und mich noch nicht weiter mit beschäftigt.

Für einen ersten Erfolg kannst Du in einer Do / Loop Schleife die LED's der reihe nach ein-/ausschalten und dazwischen Pausen mit Waitms einbauen.
Wenn man das Ergebnis sieht dann ist das schon mal ein Höhepunkt. Wenn man bischen tiefer in der Materie ist kannst das dann mal mit "Timer" versuchen.
Kommt immer drauf an was man alles so vor hatt in dem Programm, wenns simple Abläufe sind dann verzichte ich auf Timer.

Das beigefügte, leider englische, Handbuch von Bascom ist auch gut, zu jedem Befehl gibts da ein Beispiel.

Schön das Du Dich einfach mal hier im Beitrag äußerst und mal ein wenig Kommunikation erfolgt :w

Gruß
Manfred

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »flieger089« (18. Dezember 2010, 10:37)


Sandy

RCLine User

Wohnort: Raum Baden bei Wien

Beruf: Techniker, Aftersales von Aufzügen

  • Nachricht senden

6

Samstag, 18. Dezember 2010, 11:41

Hallo Ihr beiden

Darf ich mich da auch gleich anschließen? So viele Beiträge zu Bascom gibt es hier ja leider nicht.

Da ich mit Assambler nicht so viel anfangen kann und es mir recht umständlich erscheint, habe ich mich für Basom entschieden. Außerdem ist es ähnlich wie Basic oder VB, ...

Das ist auch verständlicher für mich als C, denn da sind schon wieder sehr viele Kürzeln mit drinnen, die man sich auch nicht alle merken kann.

Ich habe es schon so weit geschafft, daß ich über I2C Bus diverse Temperatursensoren auslesen kann. Diese dann verarbeiten und an einem LCD ausgebe. Das ganze ist in meinem neuen Pool als Solarsteuerung integriert.

Über den Winter möchte ich das ganze verbessern und ein MENÜ mit 4 Tasten verbauen. Allerdings habe ich noch nie ein Menü programmiert oder Parameter mittels Menü verstellt oder auch Parameter dauerhaft aus einem Menü abgespeichert.

Habt ihr da vieleicht ein paar Tipps oder Beispiele für Bascom.

@Manfred: hast du die Beleuchtungsdaten auch auf ZIP, denn RAR kann ich nicht öffnen

danke
lg
Andi
[SIZE=0]Wasser: Happy Hunter, Neptun, Hovercraft
Luft: Sky Surfer, Bell 47G Micro, Piccolo, Eco 8 Brushless, Eco 8 Volltuning, T-Rex 500 ESP, Segler, EXTRemA 330S
Standmodell: Titanic
Sim: Realflight G3.5
[/SIZE]

7

Samstag, 18. Dezember 2010, 12:07

@Andi: Du hast Email mit dem Handbuch als PDF

Dauerhaft speichern geht mit dem enthaltenen EEProm, das geht ähnlich wie mit
Variablen, werden einfach mit einem Zusatz deklariert:

DIM WertImEEProm As Eram Integer

Um Testen abzufragen kannst Du am besten den Befehl DeBounce benutzen, einfach mal das Beispiel in dem Bascom-Handbuch anschauen. Wenn das nicht klar wird kann ich mal ein Beispiel posten, aber eigentlich ist das an dem Beispiel gut zu erkennen.

Ein Menü ist auch nicht so tragisch wenn man nicht noch etliches gleichzeitig erledigen will, im Grunde läuft das in einer Endlosschleife:

' Hauptprogramm
Do
Debounce Pind.0 , 0 , funk1 , Sub ' Taste 1
Debounce Pind.1 , 0 , funk2, Sub ' Taste 2
....
Loop

funk1:
' tu was
return

funk2:
' tu was anderes
return

Man darf natürlich in den Funktionen (funk1 usw.) nichts drin haben wo man in eine endlosschleife kommt, also immer möglichst zügig wieder raus.
Hoffe das war in einer groben Richtung verständlich.

Und JA ICH WEIß es gibt viele Wege nach Rom.... (für alle Leser die es anders machen würden)

Gruß
Manfred

ro.heg

RCLine User

Wohnort: Quickborn

  • Nachricht senden

8

Samstag, 18. Dezember 2010, 12:33

Hallo Ihr beiden,
Ihr geht ja schon richtig ins Eingemachte!
Mein Schwerpunkt wird mehr Steuerungsabläufe sein.
Einen Märklin-Schwenkkran und Laufkran habe ich mit Pic-Controllern
zum laufen gebracht. Und jetzt reizt mich noch die Ampelsteuerung.
Mich wundert es, daß der große Thread "ATMEL" programm. so in
die Ruhephase gekommen ist. Hab als Neuling paar Anstöße gegeben..
keine Resonanz.
Dabei sind da sehr anregende Sachen drin. Viele aus dem Jahr 2006,
aber das macht ja nichts.
Suche noch ein Buch über Bascom in Deutsch, auch bei Franzis-Verlag
nichts zu finden. Meine Oberfläche ist natürlich eine Demo-Version in Deutsch,
reicht aber für mich.

Grüße

Rolf

9

Samstag, 18. Dezember 2010, 12:42

Lach, da brauchst nur gucken wann ich meinen ersten Beitrag geschrieben habe, null Reaktion, mehr brauche ich wohl nicht zu sagen. Hatte auch auf Resonaz gehofft und das mal einige Ideen mit einbringen und mitmachen.

Ein Buch gibts von Claus Kühnel "Programmieren der AVR RISC Microcontroller mit BASCOM-AVR", glaube das ganz gut.
Andere alternative ist www.rowalt.de, das Buch ist auch gut, reitet mir persönlich aber etwas viel auf den Registern rum und nutzt nicht die vorhandenen Bascom Befehle dafür.

Gruß
Manfred

Sandy

RCLine User

Wohnort: Raum Baden bei Wien

Beruf: Techniker, Aftersales von Aufzügen

  • Nachricht senden

10

Samstag, 18. Dezember 2010, 14:58

Hi Manfred

Danke für dein mail.

Im übrigen benutze ich den ATmeg8. Der könnte für meine Ultra Top Poolsteuerung doch etwas überfordert sein. :tongue:

Wegen der daraus folgenden Programmgröße werde ich wohl auf einen größeren Chip umsteigen müssen.

Das Menü wird umfangreicher aber "flach" gehalten. 4 Tasten ESC-AUF-AB-RET

Monitorbereich
Programmierbereich mit Parametergruppen
Parameter

Ich habe mir in VISIO einen Programmablaufplan erstellt. Da bin ich bis zum Parameter vorgedrungen. Jetzt fehlt mir nur noch eine Idee, wie ich den angezeigten Wert eines Parameters aktivieren kann um ihn mit den AUF und AB Tasten zu verändern.

Leider funktioniert mein Bascom Programm nicht mehr. Ich habe auf Win7 mit 64bit umgestellt. Jetzt kann ich mit Bascom arbeiten (habe auch die neuen Treiber bekommen) doch das Flashprogramm kann nicht mehr aufs Board zugreifen. Obwohl laut Gerätemanager die Verbindung zum Board über USB funktionert.

lg
Andi
[SIZE=0]Wasser: Happy Hunter, Neptun, Hovercraft
Luft: Sky Surfer, Bell 47G Micro, Piccolo, Eco 8 Brushless, Eco 8 Volltuning, T-Rex 500 ESP, Segler, EXTRemA 330S
Standmodell: Titanic
Sim: Realflight G3.5
[/SIZE]

ro.heg

RCLine User

Wohnort: Quickborn

  • Nachricht senden

11

Samstag, 18. Dezember 2010, 19:28

mh...andi,
das Problem hatte ich auch, aber heute Abend hab ich kein Pock mehr,
um Dir eine Lösung vorzuschlagen!

Grüße

Rolf

Sandy

RCLine User

Wohnort: Raum Baden bei Wien

Beruf: Techniker, Aftersales von Aufzügen

  • Nachricht senden

12

Samstag, 18. Dezember 2010, 22:05

Hi Rolf

Nachdem ich bis zum Frühling sowieso nicht mehr in meinen Pool rein komme (dicke Eisdecke) werde ich so viel Geduld wohl noch aufbringen. :tongue:

Außerdem tüfftle ich noch an der Tatsache, daß die Temperaturwerte von den Sensoren ja umgerechnet werden müssen. Das bedeutet, daß ich aus dem Hexwert die Temperatur schon errechnet habe. Aber Bascom kann keine Kommazahlen behandeln.

Ich möchte aber auf zehntel Grad anzeigen und einstellen können. Somit muß ich mit den ganzen Zahlen Arbeiten aber für das Display in String umwandeln und ein Komma einfügen.

Weiters kann Bascom auch keine negativen Zahlen behandeln. Was bedeutet, daß der komplette Temperaturbereich unter 0 Grad zuerst in das positive geschoben werden muß. Also 0 Grad sind dann ca 55 Grad. Also um 55 anheben.

Damit kann ich dann rechnen. Die Parametereingabe muß ich aber mit Kommadarstellung erledigen und dies dann zur Berechnung wieder über den 0 Punkt verschieben.

Kennt dafür vielleicht auch jemand eine Lösung ???

lg
Andi
[SIZE=0]Wasser: Happy Hunter, Neptun, Hovercraft
Luft: Sky Surfer, Bell 47G Micro, Piccolo, Eco 8 Brushless, Eco 8 Volltuning, T-Rex 500 ESP, Segler, EXTRemA 330S
Standmodell: Titanic
Sim: Realflight G3.5
[/SIZE]

13

Sonntag, 19. Dezember 2010, 10:33

Hallo Andi,

das Bascom keine negativen Werte und keine Kommazahlen verwerten kann ist nicht korrekt, allerdings kann es dabei schon zu bösen überraschungen kommen.
Aber z.B. der Datentyp INTEGER kann von -32768 bis +32767 und ein WORD von 0 bis 65535.
Kommazahlen kann Bascom mit dem Datentyp SINGLE behandeln, aber da kommen dann teilweise böse Rundungsergebnisse bei raus. Auch darf man in Bascom nie versuchen 2 Befehle auf einmal in eine Programmzeile abzuarbeiten, immer schön eine Operation nach der anderen.

Ich habe mal einen 1Wire Temperatursensor verwendet, DS18B20 und die Temperatur auf einem Display angezeigt, hier ein Ausschnitt:

For I = 1 To 9 ' Datenbytes (HEX) auslesen
Daten(i) = 1wread()
Next I
1wreset

If Daten(2) >= 248 Then
Vz = "-" ' negative temperatur?
Daten(1) = &HFF - Daten(1)
Daten(2) = &HFF - Daten(2)
Else
Vz = "+"
End If
Grad = Daten(2) ' zwei Hexwerte zu einem WORD zusammenfügen (High/Low Byte)
Shift Grad , Left , 8
Grad = Grad + Daten(1)

Temp = Grad * 0.0625 ' Temperaturwert als Dezimalzahl umrechnen
Locate 2 , 1
Lcd "Temperatur: "
Locate 3 , 1
Lcd Vz ; Fusing(temp , "###.#") ; " Grad" ' Temperatur Formatiert anzeigen mit einer N achkommastelle


Mal die Befehle im Bascom-Handbuch nachschlagen.

EDIT:
Ich hab auch schon eine LCD/Parametersteuerung mit 4 Tasten gemacht, das ist garnicht so furchtbar schwer, aber ich hatte irgendwo noch eine bessere Lösung gesehen, muss mal gucken in welcher Zeitschrift das war. Ich werde berichten....

Gruß
Manfred

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »flieger089« (19. Dezember 2010, 10:39)


Sandy

RCLine User

Wohnort: Raum Baden bei Wien

Beruf: Techniker, Aftersales von Aufzügen

  • Nachricht senden

14

Sonntag, 19. Dezember 2010, 11:02

Hallo Manfred

Würde deine Infos liebend gerne sofort umsetzen, doch mein Programm läuft noch immer nicht.

Dein Programm sieht schon recht übersichtlich aus.

Wenn ich das richtig gesehen habe, ist deine Dezimalzahl auch eine Zahl ohne Kommer. Also bei einer Kommastelle mit dem Faktor 10 multipliziert. Somit hast du den Wert 100 bei 10.0 Grad. Liege ich da richtig.

Ich hatte einen kleinen Gedankenfehler bei meiner vorigen Beschreibung. Ich hatte die Temperatur auf einem 4 stelligen 7Seg. ausgegeben. Da kannst du mit dieser Formatierung nichts anfangen.

Ich werde deine Infos weiter sammeln und hoffentlich bald testen können.

Wenn du die Geschichte mit dem 4 Tasten Menü noch findest ... WOW :nuts:

Ich schicke dir mal einen Auszug meines Ablaufschemas für das Menü. Mal sehen, was du davon hältst.

lg
Andi
[SIZE=0]Wasser: Happy Hunter, Neptun, Hovercraft
Luft: Sky Surfer, Bell 47G Micro, Piccolo, Eco 8 Brushless, Eco 8 Volltuning, T-Rex 500 ESP, Segler, EXTRemA 330S
Standmodell: Titanic
Sim: Realflight G3.5
[/SIZE]

15

Sonntag, 19. Dezember 2010, 11:32

Ich find das ein wenig ungerecht, von ein paar Leuten, die sagen hier würde einem nicht geholfen.

Ich bin oft in der Position hier Antworten zu geben, was aber manchmal gar nicht so einfach ist.

Was natürlich niemand leisten kann, ist komplette Lösungen für eine spezifische Anwendung zu liefern.
Nach dem Motto, ich brauch ne Lichtsteuerung mit diesen und diesen Features, wer liefert mit den kompletten Code inklusive Platine.

Das kann natürlich niemand leisten und auf solche Fragen wird man auch nur schwer Antworten bekommen.

Bei speziellen Problemen in einzelnen Bereichen wird hier, meiner Meinung nach, schnell und kompetent geholfen.

Zu BASCOM kann ich leider nicht viel sagen, ich hab mir das mal kurz angeschaut und nicht damit zurecht gekommen.

Egal mit welcher Programmiersprache man proggt, es macht irren Spaß mit diesen Controllern was Eigenes zu entwickeln.
Ich bin dann ins "C"- Lager übergewechselt, das mir irgendwie übersichlicher erschien.
Gut - Ich komm auch aus der Assembler Ecke und da ist die Umstellung auf C nicht gar so groß.
Man muss sich aber bei "C" mehr mit dem Innenleben so eines Controllers auseinadersetzen als bei BASCOM, aber dieses Vorwissen hatte ich ja aus meiner Assembler Zeit..

16

Sonntag, 19. Dezember 2010, 11:35

Hallo Andi,

deine Annahme ist nicht ganz korrekt, was Bascom intern macht weiß ich nicht.
Aber z.B. Temp = Grad * 0.0625 = 100 * 0.0625 = 6.25 Grad Celsius.
Also in diesem Beispiel zwei Nachkommastellen.
Das Fusing formatiert die LCD anzeige entsprechend dem angegebenen Format ###.#.

Im übrigen hat Bascom auch einen Simulationsmodus mit dem man einfache Sachen am PC testen kann. Frag mich aber nicht was der alles kann und wie man den benutzt. Variablenwerte anzeigen geht jedenfalls noch ganz einfach.

Gruß
Manfred

17

Sonntag, 19. Dezember 2010, 11:53

Hallo Wilhelm,

es its leider immer das gleiche, egal welches Forum. Es gibt immer das selbe Schema.
1. Es wird einem geholfen ohne viel bla bla
2. Einer stellt ne Frage oder hat eine Antwort und plötzlich kommen tausend Beiträge "ja das hab ich auch..." (damit ist keinem geholfen, nur das der erste weiß er ist nicht allein) oder das Thema wird in der Luft zerrissen mit Kommentaren die nichts mehr mit dem Thema bzw. der eigentlichen Frage zu tun haben.
3. Es interessiert keinen.

Zu 2.: leider kommen wir hier auch etwas vom Thema ab, geht ja hier eigentlich um Licht und nicht um einen Programmiergrundkurs ;-).

Und von wegen es kann keiner alles komplett liefern: Da hast Du recht, aber ich bin bei meiner Lichtsteuerung nicht ohne Grund von Version 2 auf Version 3.5 gekommen. Ich habe Anregungen und Ergänzungswünsche per Email (aus Frankreich) erhalten und das gemeinsam ausgearbeitet und ergänzt. Genau sowas hätte ich mir hier gewünscht, einfach mal eine Diskussion bzw. Anregungen wie man das besser macht. Aber genau das ist hier nicht geschehen.
Ich bin jedenfalls froh über das Endergebnis welches ich durch die Anregungen aus Frankreich erreicht habe. Für mich persönlich bedeutete das viel Arbeit Abends nach dem Job und eigentlich mache ich garnichts mit Modellautos sondern nur Modellflug.
Es hat einfach viel Spass gemacht Ideen umzusetzen und zu sehen das es irgendwann funktioniert hat.

Aber trotz alledem ein schönes Forum und ich weiß das hier sehr viel Zeit und Mühe drin steckt. Um hier nicht weiter dem Punkt 2 zu verfallen, alle die mir nun Ihre gegenteiligen Meinungen mitteilen wollen sollten das per PN machen. :ok:

Gruß
Manfred

ro.heg

RCLine User

Wohnort: Quickborn

  • Nachricht senden

18

Sonntag, 19. Dezember 2010, 13:09

Hallo Leute,
dann mach ich mal einen anderen Vorschlag!

Im Infopacket "Atmel-Programmierung für Einsteiger"
(Moderatoren elektroniktommi und Thomas Radetzki)
etwas Leben hinein bringen.
Beobachte diese interessanten Threads schon lange, aber absolut SENDEPAUSE!
Man könnte auswählen "Diskussion rund um die Hardware"
oder z.B. "Fragen zur Bascom-Programmierung"

Und jetzt zu Andis Problem Win7
Alles funktioniert, wenn man eine Kleinigkeit beachtet: Vista undW7 sind
ganz auf Sicherheit getrimmt und verweigern deshalb ohne jede Meldung
den Zugriff auf eine serielle Schnittstelle. Mit rechter Maustaste auf das
Button "Bascom"... es erscheint ein Auswahlfenster. Hier aktiviert man
/"als Administrator öffnen/". Danach funzt der serielle Zugriff wie unter den älteren
Systemen.

Grüße

Rolf

Muß mich beeilen, will in einer Halle noch T-Rex450 einfliegen.

19

Sonntag, 19. Dezember 2010, 13:25

Hallo Rolf,

danke für den Tipp, hätte nicht gedacht das es so geht :ok: .
Den Forumbereich zu wechseln hatte ich auch im Kopf, bei Fragen zu Bascom wäre es ja richtig aufgehoben.

Gruß
Manfred

Sandy

RCLine User

Wohnort: Raum Baden bei Wien

Beruf: Techniker, Aftersales von Aufzügen

  • Nachricht senden

20

Sonntag, 19. Dezember 2010, 16:46

Hi Rolf

Um bei Bascom zu bleiben, ...

Das mit dem Administrator ... kenne ich, bin aber noch nicht auf die Idee gekommen. Werde ich baldigst ausprobieren.

Kurzes Zwischenthema zu Win7. Ich habe mir Virtual XP installiert, weil viele Programme gar nicht laufen. Leider laufen diese dort prima, aber ich kann zB für eine SPS keinen USB-RS232 Adapter installieren. Das System erkennt auch keine angeschlossenen USB Geräte.
Hast du dafür auch einen Tipp??

Hoffe, daß ich heute noch die Zeit finde, das Bascom zu testen.

lg
Andi
[SIZE=0]Wasser: Happy Hunter, Neptun, Hovercraft
Luft: Sky Surfer, Bell 47G Micro, Piccolo, Eco 8 Brushless, Eco 8 Volltuning, T-Rex 500 ESP, Segler, EXTRemA 330S
Standmodell: Titanic
Sim: Realflight G3.5
[/SIZE]