Forum: Mikrocontroller und Digitale Elektronik RC Fernsteuerung


von Daniel L. (mc-daniel)


Lesenswert?

Hallo ich bin neu hier und brauche ein paar Tips ich möchte mit einem 
ATmega 1284P und einem NRF24L01 Modul eine Multifunktions RC 
Fernsteuerung bauen. Bei dem ich die Programme der Modelle auf einer SD 
Karte gespeichert sind. Ich möchte die Modelle auswählen können. Ich 
möchte auch alles auf einem Display angezeigt bekommen. So wie auf der 
Seite hier die mir zu teuer ist.

http://www.geier-modellbau.de/index.html

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Was für Modelle?
Und wie lautet deine Frage?

von Wolfgang (Gast)


Lesenswert?

Daniel L. schrieb:
> Ich möchte auch alles auf einem Display angezeigt bekommen.

Dann mach' dich ans Werk. Von selbst geht das nicht.
Strukturiere deine Aufgabe und löse nacheinander die Teilaufgaben.

Beitrag #5345882 wurde von einem Moderator gelöscht.
von Kilo K. (kilo81)


Lesenswert?

Bubert, B. schrieb im Beitrag #5345882:
> Nimmst Du ein Programm für eine IR-Fernbedienung

Der will ne RC Fernsteuerung bauen. Keine IR.

Was für Tipps brauchst du denn?

Schau dir mal die Turnigy 9x an. Von der gibt es auch Schaltpläne im 
Netz. Die ist komplett mit einem Atmega aufgebaut.

Beitrag #5346418 wurde von einem Moderator gelöscht.
von Possetitjel (Gast)


Lesenswert?

Dominik K. schrieb:

> Der will ne RC Fernsteuerung bauen.

In einem VEB-Betrieb oder als ABM-Maßnahme?
Und wird das Ding ein LCD-Display haben?

von NRF Genie (Gast)


Lesenswert?

Daniel L. schrieb:
> Ich möchte .....

Ich übersetze:

Ich möchte alles und noch viel mehr, und ihr sollt mir
sagen wie das geht damit ich nicht denken muss.

von Stefan F. (Gast)


Lesenswert?

> ihr sollt mir sagen wie das geht damit ich nicht denken muss.

Noch hat er keine Bitte oder Frage formuliert.

von MaWin (Gast)


Lesenswert?

Daniel L. schrieb:
> ich möchte mit einem ATmega 1284P und einem NRF24L01 Modul eine
> Multifunktions RC Fernsteuerung bauen

Na, bau doch.

Wenn man die Galeriebilder betrachtet, gibt es einige Handsender mit 2 
oder mehr Kreuzknüppeln, einigen Potis (Schieberegler oder Drehknopf) 
und vielen Schaltern.

Der Empfänger hätte ebensoviele Servoanschlüsse und geschaltete 
Digitalausgänge.

Das ist primitiv, bei ATmega1284 bieten sich 8 Analogkanäle und 16 
Schaltkanäle an.

Dann schreibt Frank Geier noch von Rückmeldekanälen, zumindest für 
Akkuspannung, man nimmt Analogeingänge die auf Empfängerseite sonst 
brach liegen, da bräuchte man auf dem Handsender ein Display, es bietet 
sich ein alphanumerisches HD44780 im 4 bit Modus mit 6 Anschlüssen an, 
auf dem auch die Modellauswahl und Programmierung erfolgen kann, mit den 
Knöpfen die der Handsender sowieso hat, dazu macht man zumindest 4 der 
Digitalknöpfe als Taster, dan  kann man die übliche Menübedienung vor 
(ok) zurück (cancel) nächster vorheriger umsetzen.

Das alles ist also recht simpel, es täte auch ein Arduino, aber 
zeitraubend ist die Software: Wenn er davon spricht, jeden Kanal analog 
mit Servoweg und Begrenzung und Invertierung auszustatten ist das 
einfach, aber konfigurierbare Module wie Kreuzmischer erfordern eine 
klare Struktur wie man konfiguriert und mit seiner eingebauten SPS (so 
flexibal und sinnvoll das ist) wird es endgültig komplex, denn bedienbar 
soll es ja bleiben. Ich finde seine SPS Lösung übrigens eher vergurkt, 
wüsste aber auch nicht wie ich es besser machen würde.

Die Elektronik ist also, zumindest wenn man sich bei deinem uC auf 8 
analog und 16 Digitalkanäle beschränkt, simpel, aber die Software halte 
ich für komplex wegen der so weitgehenden Konfigurierbarkeit. Es hilft 
nichts, wenn man irgendwas zusammenprogrammiert, wenn dann genau das 
Modell welches man damit steuern will, nicht vernünftig programmierbar 
ist.

Auf Passwortschutz würde ich übrigens verzichten, ein Schiebeschalter 
der zwischen Programmier und Bedienmodus wechselt sollte reichen 
versehentliche Umprogrammierung zu verhindern. Deine Speicherkarte 
müsste auch nicht unbedingt sein (kostet Anschlusspins, man müsste sie 
mit dem Display zusammen an dieselben Anschlusspins legen).

von Philipp_K59 (Gast)


Lesenswert?

Wenn man das vorhat sollte auch der Empfänger ein NRF24L01 sein.. 
jedenfalls soweit es sich um aufwendige Frequencyhopping Empfänger 
handelt die momentan  Standard sind.

Für Sender/Empfänger gibt es schon ein fertige Arduino Lösung als 
Funkprotokoll auf Basis der NRF24 Library (Radiohead,Bitcraze).

Da speichert man die Kanäle auf beiden Seiten in einem Struct und 
kümmert sich nur noch um den Rest.

Ich habe selbst mal die Craziefly Firmware für eigene Sender/Empfänger 
Lösungen abgeändert.


Kann man auch selbst machen.

von Daniel L. (mc-daniel)


Lesenswert?

ich habe die joystick platinen von wii nunchuk beide steuern bewegliche 
sachen und dann giebt es noch das problem mit der modell auswahl die ich 
einfach nicht verstehe wie das geht

von Daniel L. (mc-daniel)


Lesenswert?

ich bin auch noch neuling in sachen microchip wo etwas hilfe nicht 
schlecht wäre

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Nochmal:

Was für Modelle?
Und wie lautet deine Frage?

Und was hat das Ganze plötzlich mit den Nunchuks zu tun?

> ich habe die joystick platinen

Welche Platinen? Hast du Nuchucks auseinander genommen oder zusätzliche 
Platinen gekauft? Wenn ja, welche.

> microchip wo etwas hilfe nicht schlecht wäre

Welche Hilfe? Brauchst du jemanden, der Dir zeigt wo man sie einkauft, 
oder wie man sie richtig transportiert, oder was?

Hast du Ahnung von Elektronik? Wenn ja, welche?
Hast du Ahnung von Programmierung? Wenn ja, welche?

Was möchtest du tun? Offensichtlich hast du schon Bauteile ausgewählt, 
welche sind das und warum hast du sie gewählt?

Wenn man sich selbst darüber im Klaren ist, welche Fragen man hat, 
findet man antworten. Vorher geht das eher nicht.

von Michael B. (laberkopp)


Lesenswert?

Stefan U. schrieb:
> Und was hat das Ganze plötzlich mit den Nunchuks zu tun?

Er hat offenbar von einer WII die Joysticks.

Die enthalten Kreuzknüppel, Tasten und 3d Beschleunigungssensor
und lassen sich von einem Arduino so auslesen

http://forum.arduino.cc/index.php?PHPSESSID=4jcbeg9f4f8263tsvtdvnjmbc4&topic=45924.msg333160#msg333160

Stefan U. schrieb:
> Was für Modelle?

Egal, Hauptsache der Sender sendet die Modellnummer mit und der 
Empfänger in den Modellen vergleich die Nummer mit seiner eigenen Nummer 
so daß er nur für ihn bestimmte Funksignale reagiert.

Wählt man im Sender ein anderes Modell enthalten nicht nur die 
gesendeten Daten diese andere Modellnummer, sondern auch das ganze 
Setup, also die Verwurstung der Eingangssignale (Kreuzknüppel, Taster, 
Schalter, Analogeingänge auf Empfängerseits) schaltet um auf eine andere 
Konfigurations'datei' damit man jedes Modell einzeln konfigurieren kann.

Eigentlich ist so eine Fernbedienung einfach zu bauen mit all den 
vorgefertigten Teilen, aber dem Daniel fehlen alle Kenntnisse, der 
sollte erst mal 2 Jahre lernen, mit Arduino und ähnlichem und ein 
bischen deutsche Rechtschreibung dazu.

von Stefan F. (Gast)


Lesenswert?

Wir vermuten also, dass er mit dem "Modell" auswählen möchte, welchen 
Empfänger er gerade ansteuert.

Hmm, ich dachte das "Modell" sei die Bezeichnung eines Produktes. So wie 
"Reely Dart Brushed", oder "Tamiya Unimog 425".

Beitrag #5348159 wurde von einem Moderator gelöscht.
von Daniel L. (mc-daniel)


Lesenswert?

So wie du meintest Michael Bertrandt möchte ich das machen nur das coden 
fällt mir schwer.

Egal, Hauptsache der Sender sendet die Modellnummer mit und der
Empfänger in den Modellen vergleich die Nummer mit seiner eigenen Nummer
so daß er nur für ihn bestimmte Funksignale reagiert.

Wählt man im Sender ein anderes Modell enthalten nicht nur die
gesendeten Daten diese andere Modellnummer, sondern auch das ganze
Setup, also die Verwurstung der Eingangssignale (Kreuzknüppel, Taster,
Schalter, Analogeingänge auf Empfängerseits) schaltet um auf eine andere
Konfigurations'datei' damit man jedes Modell einzeln konfigurieren kann.

: Bearbeitet durch User
von Philipp G. (geiserp01)


Lesenswert?

Heutige Sender haben ein LCD Display für die Konfiguration.

Darüber die Taumelscheibensteuerung mit 3(oder 4) Servos für Helis, 
Mittenverstellung, Beschleunigung, neg. Beschleunigung, Gas/Pitch Kurve, 
Bremsverhalten, Reverse, Endpoint, exp. Kurven, um nun die Basics zu 
nennen.

Möchtest Du diese Funktionen selber coden?

von TomH (Gast)


Lesenswert?

Die im Startpost angesprochene "Blauzahn" Fernsteuerung für 
RC-Funktionsmodelle habe ich auch.

Auch ich "MÖCHTE" gerne was besseres, was meinen Ansprüchen besser 
genügt und noch besser konfigurierbar ist.

Ein besonderes Anliegen von mir wäre noch, daß die Empfänger-Elektronik, 
die sich im Modell befindet, dezentraler verteilen läßt, so á là CAN-Bus 
im realen Auto. Und das ohne die Kosten arg in die Höhe zu treiben.

Die Blauzahn hat bereits ein grafisches LCD-Display. Dennoch genügt die 
Bedienerfreudlichkeit und Menüstruktur nicht mehr heutigen Ansprüchen.

Die Blauzahn war zum Zeitpunkt ihres Auftauchens ein toller Wurf in die 
richtige Richtung.

Ich fühle aber, daß es insgesamt noch toller ginge.
Aber: Bestimmt nicht von mir. Und auch nicht vom TO.

Wenn sich jedoch jemand berufen fühlt, was besseres zu bauen - das 
Ergebnis nehme ich gerne!

Viele Grüße
Tom.

von Stefan F. (Gast)


Lesenswert?

Daniel,
wir haben jetzt ganz grob geklärt, was du machen wirst.

Wie lautet denn nun deine Frage dazu?

von Philipp G. (geiserp01)


Lesenswert?

Warum denken immer alle bei CAN Bus an Autos? Das ist ein Industrie 
Standard, der bedient noch viel mehr als nur Autos.

von Der Andere (Gast)


Lesenswert?

Daniel L. schrieb:
> nur das coden fällt mir schwer.

Mit Übung fällt alles leichter.

Man kann nicht bei einem Leichtatlethikwettbewerb bei den 100m 
mitsprinten, wenn man vorher nicht das Krabbeln, das Gehen und das 
Laufen (im Sinne von Rennen) gelernt hat.

Eins nach dem anderen

von Philipp G. (geiserp01)


Lesenswert?

Die RC Fernsteuerung zu meiner Jugendzeit kannten nur on/off und das auf 
drei Kanälen. So etwas zu coden dürfte mit den heutigen Mitteln nicht 
allzu schwer sein.

Wenn Du dagegen Proportionalkanäle mit allen Features einer 'echten' 
Modellbausteuerung coden willst, kannst Du das meiner Meinung nach als 
Newbie vergessen.

Darüber abgesehen, um was für Modelle geht es hier? Ich hoffe doch nicht 
um eine 4 Meter lange Chinook Turbine?

Fragen:

Um welches Modell geht es?
Wieviele Kanäle benötigst Du?
Reicht on/off der Kanäle?
Welche Reichweite benötigst Du?
Ist Ausfallsicherheit wichtig?

Als Vorschlag:

Besorg' Dir im Spielzeugladen ein Auto, welches nur vorwärts, links, 
rechts kennt und das ohne Proportional Kanäle. Also nur on/off. Dort 
baust deine eigene Steuerung ein.

Die Programmierung würde dann etwa so aussehen:

if GAS == 1
{
digitalwrite(VORWAERTS) = 1; // auto fährt
}
else
{
digitalwrite(VORWAERTS) = 0; // auto stoppt
}
alles andere ist als newbie zu kompliziert.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Hat eigentlich irgend jemand einen Plan, wie die Frage des TO lautet?

Sollen wir ihm C beibringen, oder Arduino Grundlagen, oder ein Diagramm 
malen, oder ein Konzept erstellen?

Wo ist die Fraaaaageeee?

von Philipp K. (philipp_k59)


Lesenswert?

Das Problem ist das die Fragestellung sehr Breitgefächert ist, also 
quasi wie "ist das ein Baum" für "ist das ein Auto" zu Fragen damit man 
die antwort bekommt "Ja, Autos fahren gegen Bäume".

Hier vermischen sich die Theorien zwischen Angenommen:

Ich kaufe mir zwei RC Modelle mit Funkzulassungen und möchte einen 
eigenen Sender mit allem Krimmskrams umsetzen.

Oder ich möchte/habe eigene Sender/Empfänger in eigener Hardware und 
Software  umgesetzt und möchte das nun wie das Bluetooth Projekt haben.

Nach vielem langen Mitlesen der Nasezieherei weiß ich 3/4 um was es 
geht.

Ich hatte ja schon geschrieben das es das Ganze mit nem Googler ob 
Hardware oder Software fertig und Super umgesetzt gibt.

Wer nicht schon länger programmiert sollte sich die fertigen Sachen 
anschauen auch wenn er sie noch nicht versteht. Z.B. bei Flugmodellen 
ist mit Tralilalaaa nicht zu spaßen.

: Bearbeitet durch User
von Philipp G. (geiserp01)


Lesenswert?

Alles was fliegt kann er eh vergessen. Daher mein Vorschlag mit einem 
Spielzeug anzufangen.

von Philipp K. (philipp_k59)


Lesenswert?


von Programmiersprachentheaterintendant (Gast)


Lesenswert?

> Die Programmierung würde dann etwa so aussehen:
>
> if GAS == 1
> {
> digitalwrite(VORWAERTS) = 1; // auto fährt
> }
> else
> {
> digitalwrite(VORWAERTS) = 0; // auto stoppt
> }
> alles andere ist als newbie zu kompliziert.

Wenn Newbies so in die Irre geführt werden: ja.

Warum muss bei einfachem Wertemapping immer Flusskontrolle ins Spiel 
gebracht werden?
1
digitalwrite(VORWAERTS, (GAS == 1) ? 1 : 0);

Selbst bei Wertebereiche passt eine Abbildungsfunktion y=f(x) besser.

Beitrag #5350651 wurde von einem Moderator gelöscht.
von noreply@noreply.com (Gast)


Lesenswert?

Programmiersprachentheaterintendant schrieb:
> digitalwrite(VORWAERTS, (GAS == 1) ? 1 : 0);

Ist der Unterschied ernst gemeint? Mir fällt da immer Syntax und 
Semantik ein.

von GrobiG (Gast)


Lesenswert?

...k.A. was mit disem diy rc transmitter für Modelle gesteuert werden 
sollen, evtl. hab ichs auch einfach nur übersehen, als Lernprojekt finde 
ich es auch ne gute Idee ABER eine Taranis Q X7 kostet by GearBest um 
die 80 Ocken und das ist DER RC-Transmitter schlecht hin für Quadcopter 
und sonstiges RC Zeug der von fast JEDEM genutzt wird der/die ein wenig 
aufs Geld achten will aber trotzdem was Gutes haben möchte... nur so als 
Tipp.

von Viktor B. (coldlogic)


Lesenswert?

Hi Daniel,

Auch wenn es nicht auf den ersten Blick zu erkennen ist, hast du da 
gerade etwas zu viel abgebissen. Schau dir folgendes an, um eine klare 
Vorstellung von deinem Projekt zu bekommen:

1) Tutorials zum neu programmieren der Turnigy 9x. Es ist keine Werbung, 
es ist nur die Fernsteuerung, die am besten dokumentiert ist. Da hat 
sich die Idee einer alternativen Firmware als erstes festgesetzt.

2) Zum Thema alternative Firmware: https://github.com/opentx/opentx
Viel lesen. Später ggf. als Vorlage nehmen.

Wenn du das obere durch hast, kannst du hoffentlich eine klare 
Fragestellung formulieren. Bis dann kann ich dir nur raten, eine fertige 
zu kaufen und damit zu tüfteln. Eine recht hackerfreundliche 
Fernsteuerung wäre z.B. FlySky I6 (die ist allerdings mit einem 
32-Bit-Controller bestückt).

MfG, Viktor

von Programmiersprachentheaterintendant (Gast)


Lesenswert?

noreply@noreply.com schrieb:
> Programmiersprachentheaterintendant schrieb:
>> digitalwrite(VORWAERTS, (GAS == 1) ? 1 : 0);
>
> Ist der Unterschied ernst gemeint? Mir fällt da immer Syntax und
> Semantik ein.

'türlich, aus 2.71 Gründen:
- die Umrechnung von einem Wertebereich (GAS, Eingabe) in den Anderen 
(VORWÄRTS, Ausgabe) will ich als Funktion sehen, mit 1 einzigem Aufruf 
der in diesem Ablauf unbedingt und in jedem Fall erfolgen muss. Deswegen 
keine Verzweigung in Programmfluss.
Bei späterer Anpassung der Umrechnung (bessere Erkenntnisse, andere 
Koeffizienten) oder Einführung von Channel reverse oder der hier auch 
genannten Kreuzmischung von Kanälen kann schlicht Funktionskomposition 
zum Zuge kommen: an genau 1 einziger Stelle (nicht im "then"-Zweig und 
im "else"-Zweig).
- C/C++ Jubelperser verweigern Pascal/Modula-2/Oberon/Ada u.A. "weil das 
soviel BEGIN/END zu schreiben sei", genau hier sollen aber 8 Zeilen 
besser als 1 Zeile sein?

Verzweigung passt wenn "then" von "else" sich im Ablauf unterscheiden, 
nicht nur so wie hier banalst in einem Parameterwert.
Die hier nicht verratene Definition von GAS entpuppt sich 
möglicherweise gar so dass
1
digitalwrite(VORWAERTS, GAS);  // Vorw. wird IMMER auf Gas abgebildet
reichen könnte.

Auch ist die Rede von Modellspeicher.
Also wird es wohl hinauslaufen auf:
1
for(int kan = 0; kan < MAX_KANAL; kan++) { // alle Kanäle abarbeiten
2
    kanal_t kanal = g_modellkonfig[modell][kan];
3
    digitalwrite(kanal.geber, proprate(rev(kanal.knüppel, kanal.reverseschalter), kanal.empfindlichkeit));
4
}

Anm:
- die Vorlage war unvollständig bezüglich des Einlesens der Geber, so 
auch meine Elaboration...
- digitalwrite() habe ich "sinngemäss" ebenso stehen gelassen...

von ohne LCDisplay (Gast)


Lesenswert?


von noreply@noreply.com (Gast)


Lesenswert?

@Programmiersprachentheaterintendant

wir sind hier voll in der Programmiersprachenphilosphie, Abteilung ich 
kenne nur prozedurale Sprachen.

und bei

if (GAS == 1)
{
digitalwrite(BREMSE) = 0;
digitalwrite(VORWAERTS) = 1; // auto fährt
}
else
{
digitalwrite(VORWAERTS) = 0; // auto stoppt
digitalwrite(BREMSE) = 1;
}

von Rolf M. (rmagnus)


Lesenswert?

Stefan U. schrieb:
> Hat eigentlich irgend jemand einen Plan, wie die Frage des TO lautet?

Lauten tut die bisher gar nicht. Ich befürchte aber, dass er nicht mal 
weiß, welche Frage er überhaupt stellen soll.

> Sollen wir ihm C beibringen, oder Arduino Grundlagen, oder ein Diagramm
> malen, oder ein Konzept erstellen?
>
> Wo ist die Fraaaaageeee?

Ich denke, das geht wieder so nach dem Schema: "Ich will eine Mondrakete 
bauen, weiß aber nicht, welchen µC ich dafür brauche". Es fehlen die 
Grundlagen, und zwar in dem Umfang, dass er nicht einmal weiß, was er 
alles nicht weiß. Auch wenn so ein Fernsteuerungs-Projekt für jemanden 
mit Erfahrung kein Hexenwerk ist, ist es für den Anfang, wenn man noch 
gar keinen Plan hat, definitiv zu groß.

Michael B. schrieb:
> Stefan U. schrieb:
>> Was für Modelle?
>
> Egal, Hauptsache der Sender sendet die Modellnummer mit und der
> Empfänger in den Modellen vergleich die Nummer mit seiner eigenen Nummer
> so daß er nur für ihn bestimmte Funksignale reagiert.

Ist eher nicht das übliche Vorgehen. Normalerweise bereitet der Sender 
schon komplett alle Signale so auf, dass sie für das Modell passen.
Allerdings fand ich diesen Weg eigentlich nie wirklich ideal. Besser 
wäre es, die ganzen Funktionalitäten wie diese:

> das ganze Setup, also die Verwurstung der Eingangssignale (Kreuzknüppel,
> Taster, Schalter, Analogeingänge auf Empfängerseits) schaltet um auf eine
> andere Konfigurations'datei' damit man jedes Modell einzeln konfigurieren
> kann.

komplett auf der Empfängerseite zu machen. Der Sender schickt also 
einfach nur stur seine Knüppel- und Schalterpositionen, und der 
Empfänger macht daraus die passende Steuerung für das Modell. Vorteil: 
Die Wahl des Modells am Sender fällt komplett weg, da jedes Modell sich 
ja selber kennt und seine Daten bei sich hat. Die Informationen über das 
Modell sind also dort, wo sie hingehören - beim Modell. Außerdem ist man 
nicht limitiert im Bezug auf die Anzahl der Modelle (was vermutlich beim 
Ursprungsposting der Grund war, eine SD-Karte für die Speicherung im 
Sender vorzusehen - die meisten käuflichen Sender haben nur eine 
bestimmte Anzahl von Modellen, die gespeichert werden können).

> Eigentlich ist so eine Fernbedienung einfach zu bauen mit all den
> vorgefertigten Teilen, aber dem Daniel fehlen alle Kenntnisse, der
> sollte erst mal 2 Jahre lernen, mit Arduino und ähnlichem und ein
> bischen deutsche Rechtschreibung dazu.

Ja. Wenn man sich damit überhaupt nicht auskennt, wird man sehr lange 
brauchen, um sich erstmal das für so ein Projekt nötige Wissen 
anzueignen. Danach kann man dann mit dem Projekt beginnen.

: Bearbeitet durch User
von Programmiersprachentheaterintendant (Gast)


Lesenswert?

noreply@noreply.com schrieb:
> @Programmiersprachentheaterintendant
>
> wir sind hier voll in der Programmiersprachenphilosphie, Abteilung ich
> kenne nur prozedurale Sprachen.

Wir sind hier Dada, JeKaMi. Ein Stichwort wurde auf die Bühne geworfen 
und das Publikum bringt Antworten auf eine Frage welche der 
Hauptdarsteller erst stellen wird wenn der Saal leer sein wird,
bis dahin bleibt er im Budoir. Der Hauptdarsteller kann nicht lesen. 
Stefan Us schiebt 'ne Krise weil kein Fragezeichen im Popcorn ist. Die 
Polizei schreitet nicht ein weil sie plant das Gebäude in ein anderes 
Quartier zu verschieben. Sie sucht noch die Fernsteuerung zur Maus.

von Programmiersprachentheaterintendant (Gast)


Lesenswert?

Stefan U. schrieb:
> Hat eigentlich irgend jemand einen Plan, wie die Frage des TO lautet?

Möchtest Du nicht lieber die Rolle des TE einnehmen?

von Philipp G. (geiserp01)


Lesenswert?

Programmiersprachentheaterintendant schrieb:
> Wenn Newbies so in die Irre geführt werden: ja.
>
> Warum muss bei einfachem Wertemapping immer Flusskontrolle ins Spiel
> gebracht werden?digitalwrite(VORWAERTS, (GAS == 1) ? 1 : 0);
>
> Selbst bei Wertebereiche passt eine Abbildungsfunktion y=f(x) besser.

echt jetzt? Wollen wir jetzt über OO diskutieren?

Philipp K. schrieb:
> Wäre zum Beispiel sowas ein guter Anfang..
>
> 
https://www.allaboutcircuits.com/projects/create-a-2-channel-remote-control-with-the-nrf24l01/

Bester Beitrag hier so far. Vielleicht meldet sich der TE ja doch noch. 
Wobei ich denke unser Programmiersprachenkasper hat ihn ganz schön 
verschreckt. Das war ja wieder nötig.

Einige hier sind nicht viel besser als die Newbies, welche die 
Mondrakete bauen wollen und dann hier fragen welchen uC sie brauchen. 
Newbie stellt eine Frage, anstatt dem anhand einfachen Beispielen helfen 
zu wollen, müssen dann einige eine philosophische Abhandlung über C++ 
Klassendesign abhandeln.

: Bearbeitet durch User
Beitrag #5351143 wurde von einem Moderator gelöscht.
Beitrag #5351154 wurde von einem Moderator gelöscht.
von Programmiersprachentheaterintendant (Gast)


Lesenswert?

> echt jetzt? Wollen wir jetzt über OO diskutieren?

Das ist in der Tat hier überflüssig: (prozedurale) Algorithmen und 
Datenstrukturen reichen für was im Eröffnungspost gewunschLISPelt wurde.


> Newbie stellt eine Frage,

Zeig diese Frage dem Stefan Us, der bekommt sonst sein Mittagessen nicht 
runter.


> anstatt dem anhand einfachen Beispielen helfen

Eine for-Schlaufe ist schon nicht mehr einfach?
Ja, die Definitionen der angedeuteten Datenstrukturen fehlen. Dafür sind 
die selbstsprechenden Bezeichner vom Codeschnipsel im Absichtstext des 
TE zuordinierbar...

Wie heißt es hier so oft: nur den Schuhlöffel zur Aufgabe, nicht deren 
Lösung.

von Philipp G. (geiserp01)


Lesenswert?

Programmiersprachentheaterintendant schrieb:
>> Newbie stellt eine Frage,
>
> Zeig diese Frage dem Stefan Us, der bekommt sonst sein Mittagessen nicht
> runter.

Immerhin versucht dieser zu helfen.

von Yoschka (Gast)


Lesenswert?

Programmiersprachentheaterintendant schrieb:
> Wir sind hier Dada, JeKaMi. Ein Stichwort wurde auf die Bühne geworfen
> und das Publikum bringt Antworten auf eine Frage welche der
> Hauptdarsteller erst stellen wird wenn der Saal leer sein wird,
> bis dahin bleibt er im Budoir. Der Hauptdarsteller kann nicht lesen.
> Stefan Us schiebt 'ne Krise weil kein Fragezeichen im Popcorn ist. Die
> Polizei schreitet nicht ein weil sie plant das Gebäude in ein anderes
> Quartier zu verschieben. Sie sucht noch die Fernsteuerung zur Maus.

Das kann man gar nicht oft genug wiederholen.
ROFL
YMMD

Beitrag #5351356 wurde von einem Moderator gelöscht.
von Stefan F. (Gast)


Lesenswert?

Die Politik ist Schuld.

von M.A. S. (mse2)


Lesenswert?

Programmiersprachentheaterintendant schrieb:
> Möchtest Du nicht lieber die Rolle des TE einnehmen?

Ist das hier 'ne Besetzungscouch?   :)

von Daniel L. (mc-daniel)


Lesenswert?

Tut mir leid wenn ich Streit mit meiner Frage ausgelöst habe, aber ich 
verstehe das mit dem Programmieren noch nicht so.

von Daniel L. (mc-daniel)


Lesenswert?

Es ist auch so das Die Blauzahn sich auf Bluetooth und andere Dinge 
beschränkt. Ich möchte das Programmieren besser verstehen damit ich eine 
Opensorce Lösung habe, bei dem man auch andere Teile und Transmitter 
Verwenden kann aber mit den meisten Funktionen der Blauzahn. Ich werde 
auch alles veröffentlichen wenn es fertig ist so das es auch andere 
benutzen können. So will ich es einrichten das auch andere Transmitter 
ausgewählt werden und verwendet werden können.

von Stefan F. (Gast)


Lesenswert?

Daniel, du überschätzt deine Fähigkeiten gewaltig. Anscheinend möchtest 
du eine hoch universelle Fernsteuerung bauen. Aber Dir fehlt das 
technische Know-How, Dir fehlt die nötige Erfahrung in der 
Programmierung. Du kannst die Anforderungen nicht erfassen und du kannst 
sie nicht in ein Lösungskonzept umsetzen.

Aber: Wo ein Wille ist, da ist ein Weg.

Nur braucht das Lernen viel Zeit (ich rede hier von Jahren). Bis dabei 
etwas heraus kommt, dass eine Veröffentlichung Wert ist, werden 
mindestens 5 Jahre vergehen. Eher 10 bis 20 Jahre, insbesondere vor dem 
Hintergrund, dass du hier als einsamer Einzelkämpfer auftrittst.

Sicher bist du nicht völlig alleine, du hast uns ja. Aber das ist nicht 
zu vergleichen mit der Arbeit in einem Firma, wo bereits Leute sitzen, 
die viele Jahre Erfahrung in diesem Fachbereich haben.

Ich schlage folgenden Weg vor: Behalte diese Fernsteuerung einfach mal 
als langfristiges Ziel im Auge. Damit ist dann schon klar, mit welcher 
Art von Bauteilen du dich bevorzugt beschäftigen wirst (Funkmodule, 
Servos, Taster, analoge Eingabe-Elemente und natürlich Mikrocontroller). 
Lerne diese anhand von Tutorials. Normalerweise beginnt man damit, eine 
LED blinken zu lassen.

Aufgrund deiner bisherigen Vorgehensweise schlage ich vor, dass du mit 
AVR Mikrocontrollern (Arduino Module aber ohne Arduino Software!). Diese 
Module erleichtern den Einstieg sehr, weil sie bereits funktionstüchtig 
sind. man muss nur ein Netzteil anstecken. Und sie sind sehr gut 
dokumentiert. Du findest massenweise Anleitungen im Internet. Dennoch 
solltest du auch das Datenblatt des Mikrocontrollers auch lesen.

Parallel dazu scheint es nötig zu sein, etwas über Projektmanagement zu 
lernen. Zu dem Thema findest du Ratgeber in jeder normalen Bibliothek. 
Falls möglich könnte auch ein Praktikum bei einem erfahrenen 
Projektleiter helfen. Schau ihm ein paar Wochen bei der Arbeit zu und 
lass Dir seine Arbeitsweise erklären.

Du könntest hiermit anfangen: 
http://stefanfrings.de/mikrocontroller_buch/index.html

Und dann besorgst Du Dir einen NiboBee Roboter Bausatz 
(https://www.reichelt.de/Robotik/NIBO-BEE/3/index.html?ACTION=3&LA=446&ARTICLE=91023&GROUPID=7837&artnr=NIBO+BEE&SEARCH=nibobee&trstct=pos_1) 
und programmierst diesen. Zuerst mit Hilfe der Libraries, die Nicai 
bereit stellt, und dann nochmal von Vorne ganz ohne Libraries. Dabei 
wirst du eine Menge über die Grundlagen der µC Programmierung lernen und 
über Regelungstechnik. Danach baust den Roboter aus - zum Beispiel zu 
einem autonomen Panzer, der Feinde erkennt und mit Paintball Kugeln 
beschießt.

Es gibt auch billigere Roboter Bausätze aus China, bei denen fehlt die 
Anleitung. Der Nibobee ist nicht einfach nur eine Tüte voll Bauteile. 
Mit dem Geld bezahlst du hauptsächlich die dazugehörige Dokumentation.

Ich denke, dass dieser Weg preisgünstig und lehrreich ist, ohne dass 
dabei der Spaßfaktor vergessen wird.

von Daniel L. (mc-daniel)


Lesenswert?

Stefan U. schrieb:

>Normalerweise beginnt man damit, eine
>LED blinken zu lassen. Aber Dir fehlt das
>technische Know-How, Dir fehlt die nötige Erfahrung in der
>Programmierung. Du kannst die Anforderungen nicht erfassen und du kannst
>sie nicht in ein Lösungskonzept umsetzen.


Hab ich schon, auch andere Blinkersachenund so wie Servo mit Nunchuck zu 
steuern. Ich mache mir auch meine eigenen Platienen und repariere 
sachen. Ich kann auch mit Eagle arbeiten und eigene Layouts machen. Ich 
bastele schon seit ich ganz klein war

von Kilo K. (kilo81)


Lesenswert?

Hier kannst du mal reingucken:

https://github.com/opentx/opentx/tree/2.2/radio/src

Das ist einer der Sourcecodes für die OpenTX Firmware.
Zum Beispiel die mixer.cpp
Also sowas als Anfänger ohne fundiertes Grundwissen zu programmieren 
halte ich für unmöglich!
Es sei denn man kopiert sich alles an Codebeispielen zusammen.

von Philipp G. (geiserp01)


Lesenswert?

Daniel L. schrieb:
> Es ist auch so das Die Blauzahn sich auf Bluetooth und andere Dinge
> beschränkt

Du möchtest über Bluetooth RC Modelle steuern?

von Stefan F. (Gast)


Lesenswert?

Daniel, entschuldige bitte dass ich Dich falsch eingeschätzt habe. Es 
war nicht böse gemeint. Leide sehe ich mich trotzdem nicht imstande, die 
hier bei dieser Sache weiter zu helfen. Betrachte es als meinen Fehler.

von Daniel L. (mc-daniel)


Lesenswert?

naja ich bin auch nicht böse deswegen

von Cyblord -. (cyblord)


Lesenswert?

Daniel L. schrieb:
> Hab ich schon, auch andere Blinkersachenund so wie Servo mit Nunchuck zu
> steuern.

Hast du da den Code für die Nunchuck Auswertung und die Servoansteuerung 
selbst geschrieben oder per Copy&Paste "ausgeliehen".

Und wenn selbstgeschrieben, warum konntest du dieses Problem dann selbst 
lösen, aber die aktuelle Aufgabenstellung nicht mal selbständig starten, 
sondern musst hier quasi mit Nichts aufschlagen?

Sorry das passt nicht zusammen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.