Hallo Zusammen Ich möchte für eine kleines Projekt (ein Model Fahrzeug) eine Fernbedienung bauen, die ich selber programmieren kann. Kennt da jemand von euch ein gutes Tutoriell? Grüße Sebastian
http://www.mikrocontroller.net/articles/AVR-Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
da habe ich auch schohn geschaut aber nirgens wir erklärt wie man eine fernbidung selber baut?! und im restlichen inet wir auch nur erklärt wie man eine Fernsehfernbedingung programirt etc, aber nichts für modelbau :(
Hast du den schon etwas, was mit dieser Fernbedienung gesteuert werden soll? Gruss Gordon
Ah, ich meine existiert dieses Fahrzeug, von welchem du sprichst, bereits? Wenn ja, stell mal einen Link hier rein. Gruss Gordon
nein leider noch nicht weil ich die test über eine einfache LED steuerung getested hätte aber mann kann sich das so vorstellen das ein Atmeag8 als prozessor fungirt und 4 kleine mororen anseurt wenn über die atenne ein signal reinkammt soll einer der motoren eben schneller derhen.
Guten Morgen, ich vermute mal du möchtest so etwas steuern? http://www.news-experten.de/bilder/2011/12/drohne2.jpg Diese US-Drohnen werden ganz einfach durch eine Tonmodulation der Trägerfrequenz 27,12 MHz angesteuert. Eigentlich kein Problem für einen Atmega.
Hast du überhaupt ein bisschen Ahnung von Elektrotechnik oder µC Programmierung? Nicht böse gemeint, nur 'ne Frage. Gruss Gordon
ja perfekt das wäre genau das richtige aber zu sowas finde ich keine tutorials wo und wie erklärt wird wie man selber sowas bauen kann
ich habe grobe grundkentnisen was die programirung angeht bin aber offen und gewillt neus zu lehrnen ;)
Wie waere es mit Rechtschreibung? Dein Geschreibsel ist kaum zu lesen. Und ja, das tut was zur Sache, denn der Compiler nimmt es noch viel genauer als die Leser hier. Wenn du wirklich gewillt bist, Neues zu lernen - dann fang doch an. Denn zum selbst machen gehoert auch das selbst recherchieren und selbst nachdenken. Ein Tip zum Start: Du willst eine Fernsteuerung bauen, keine Fernbedienung. Wenn du nur eine Bauanleitung suchst, bist du hier falsch. Hier hat's nur Selbermacher, keine Nachmacher. Ganz ehrlich aber bin ich mir sicher, dass du dich voellig uebernimmst.
Ganz davon ab, dass man nicht einfach auf irgendwelchen Frequenzen mit beliebiger Leistung wild durch die Gegend funken darf.
Danni ist der LED-Test schon ein ganz guter Anfang... Aber erstmal ohne Funk sondern erstmal "nur so" also Kabel vom einen Mega zum Anderen und darüber die Daten "testen". Wenn das geht kannst du dich an Sachen Fehlerkorrektur und sowas wagen.... Oder du kaufst dir stattdessen fertige Funkmodule und nutzt die....
Sry wegen des Geschreibsels Das kann durch aus sein das ich mich selber übernehme, aber jeder hat mal kleiner angefangen :) , wie schwer das werden könnte weis ich ja nicht und deshalb habe ich auch nach einem Tutoriell gefragt und auf die Schnauze fliegen kann ich ja auch noch danach.. Mir wurde die Seite von einem guten Freund empfohlen in der Hoffnung das mir hier eine solche Seite empfohlen werden kann. Ich suche auch nicht direkt nach einer Bauanleitung für eine Model Fahrzeug sondern nur nach den Basics wie ich mit einer Fernbedienung es Schaffe, das eben der erlaubten Modell funk in meinen AVR kommt mit den ich dann Zb. Ein Motor oder eine LED Zum Blinken überreden kann Naja Danke zumindest :|
Das austauschen von Signalen habe ich bereits Geschafft. Über einen Taster ein Signal eingelesen und dann an einem anderem Port wider ausgegeben Mit einem Timer Interrupt beim 2 AVR den Eingansport gescannt und somit die LED zum Leuchten gebracht
Also wenn du exakt auf 27,12 MHz empfangen willst, dann bau dir einen Detektorempfänger mit einer 11,05429417 m langen Antenne. Den Ausgang des Detektors lötest du mit einem Schmitt-Trigger an den Reset-Pin vom Atmega. Dann kannst du mit einem Attiny auswerten, wie oft pro Sekunde der Atmega neu startet und schon hast du ein Signal das du verarbeiten kannst.
Guck da mal rein: http://www.ulrichradig.de/ >>AVR >>USB Funk Lass dich nicht davon iritieren, daß das für USB ist. Erstmal geht es um die Funkverbindung. Ob die empfangenen Daten dann über USB an einen PC geschickt oder ein Modellauto daraufhin einen Wheelie macht, ist erstmal völlig belanglos. Aber ich gehe davon aus, daß diese Anwendung funktioniert. Gerade wenn es darum geht, eine Verbindung aus Sender und Empfänger aufzubauen, musst du sicher sein im Umgang mit Controllern und in der Programmierung. Und du musst wissen, welche Seite der Verbindung funktioniert. Denn wenn es nicht funktioniert, wirst du nicht wissen ob der Sender nicht sendet oder der Sender zwar sendet, der Empfänger aber nicht empfängt. An einem Kabel kann man messen. Eine Funkverbindung natürlich auch, aber das Equipment dazu hast du nicht und wirst es wohl auch nie haben. Deswegen bau dir dir sowas auf. Und wenn es funktioniert, gehst du dabei, Sender und Empfänger Schritt für Schritt umzubauen, anzupassen und zu erweitern. Immer mit der Sicherheit, daß die eine Seite der Verbindung läuft. Sonst wird das nie was. mfg.
Wenn du gewillt bist, neues zu lernen: - Arbeite das AVRGCC Tutorial hier auf der Webseite DURCH (nicht nur kurz reinschauen). Es wird nicht ohne Grund so oft verlinkt. Zudem hast du das Glück, eines der besten deutschsprachigen Tutorials für's µC Programmieren (insbesondere AVR) für lau zu kriegen. - Beschäftige dich mich Motorenansteuerung und Treiber, baue zuerst mal ein kleines Gefährt auf, dass du per Taster steuern kannst. - Beschäftige dich mit Funk. Unterschätze diesen Punkt nicht, er wird dich eine Menge Zeit kosten. Wenn du das gemacht hast und immer noch keinen Plan hast, wie du vorgehen sollst, dann kannst du ja nochmal hier fragen. Ein komplettes Tutorial für eine "Fernsteuerung mit Modellauto für totale Anfänger" gibt es einfach nicht. Andere gehen dafür 4 Jahre in eine Ausbildung, das kannst du nicht eben mal mit einem Tutorial "lernen". Nachbauen kannst du natürlich, da wirst du bestimmt bei Google fündig. Gruss Gordon
Danke Jetzt habe ich eine Basis auf der ich meine Ideen aufbauen kann Mit dem AVR-GCC-Tutorial habe ich bereits gearbeitet und auch viel Dinge gelernt Das ich das von jetzt auf gleich nicht lehren kann ist klar aber das heist ja noch lange nicht das man es nicht Versuchern kann es überhaupt zu lernen am Experimentieren bin ich auch irgendwo muss man ja testen was man zusammen Geschieben hat Aber echt danke Ihr seit´s super Grüße und einen schönen Tag noch
Sebastian Balz schrieb: > Das ich das von jetzt auf gleich nicht lehren kann ist klar aber das > heist ja noch lange nicht das man es nicht Versuchern kann es überhaupt Ne sicher nicht, versuch macht kluch :) Habe das nur geschrieben, weil du ein bisschen am falschen Ende angefangen hast, die Funksteuerung ist mit Absicht das letzte auf der Liste ;) Viel Erfolg! Gruss Gordon
Jap das habe ich jetzt auch gemerkt, aber ich habe mir ein Projekt gesetzt und das will und werde ich jetzt zumindest ausprobieren Wenn man nämlich nach den richtigen Fachbegriffen sucht findet man auch was, nur die muss man erst wissen.
> Das kann durch aus sein das ich mich selber übernehme, aber jeder > hat mal kleiner angefangen :) Dann solltest du auch mal klein anfangen. Eine Fernsteuerung ist nicht klein. Eine Fernsteuerung ist schon etwas, was eher am Ende der Fahnenstange angesiedelt ist.
> Ich möchte für eine kleines Projekt (ein Model Fahrzeug) eine > Fernbedienung bauen, die ich selber programmieren kann Das ist ja schön, aber wozu muß man eine Fernbedienung programmieren ? Hat die nicht Tasten oder Regler drauf, und wenn man an ihnen dreht, sendet sie ein Kommando zum Modellauto wo sich auch was dreht ? Wozu muß man so was überhapt selber bauen ? Kannst du besonders gut schicke Gehäuse bauen, klein und Elektronik die wenig Strom braucht damit die Batterien lange halten ? Es gibt doch schon lange fertige Fernbedienungen, die billigen für Fernseher/Sat-Receiver mit Infrarot-Leuechtdiode und Gummitasten drauf, der chinesische Ramsch mit Knüppeln die aber nur Tasten drücken und Funk auf 40MHz ohne Kanalzuweisen wo 2 sich sofort gegenseitig stören oder die professionelleren für Modellflugzeuge mit richtigen Kreuzknüppeln und Senders die einen Kilometer weit reichen, da müsste doch in dem Angebot was drin sein, was deine Ansprüche erfüllt, ohne daß man die gleich komplett selber bauen muß. Diese hier http://www.ebay.de/itm/Spektrum-DX3-E-Funkfernbedienung-mit-Empfanger-3-Monate-alt-/140789227121?pt=RC_Modellbau&hash=item20c7b11e71 sieht zwar ein bischen martialisch aus, ist aber besonders für Fahrzeuge gedacht, und liefert Proportionalimpulse statt Tasten. Und an den Empfänger im Auto kann man dann dranhängen was man möchte, Servo zum Lenken, Motor zum fahren, Lampe zum blinken, sollte doch reichen. Ja, man kann auch ganze Ferbedienungen selber bauen, doch Sender und Empfänger kauft man lieber fertig. Bei Funk sollte man das tun, weil du Funk ohne teure Messeinrichtung nicht messen kannst und gar nicht weisst ob der sendet, ob der auf der richtigen Frequenz sendet, und ob der Empfänger optimal empfängt, bei Infrarot sind die Empfänger wie TSOP1536 sehr empfindlich und in der Qualität nicht selbstbaubar. Aber die Impulserzugung und die Impulszerlegung kann man natürlich selber aufbauen, wenn man nicht HT12A/HT12D verwenden will wie die meisten Funkbedienungen die nur taster haben. http://www.atmel.com/Images/doc1473.pdf
Es geht ja nicht darum das man sich alles mit Geld kaufen kann sondern eher darum das man es auch selber machen kann Klar auch dazu muss man was einkaufen Sender/Empfänger aber man hat es dann halt selber zusammengesetzt und kann sich so Komplet selbst was zusammen schrauben/schreiben Wenn ich wirklich vorgehabt hätte das ich jedes einzelne Bauteil selber baue, dann hätt ich mich Definitiv „leicht “ übernommen. Wobei ich mit diesem Schritt in ein neues Kapitel der Programmierung einsteigen möchte und 0 Basic habe
> das man es auch selber machen kann Du kannst aber nicht. Und nu ? http://www.ferromel.de/tronic_2805.htm http://www.ft-fanpage.de/fernsteuerung/inhalt.htm Es ist alles bis ins Detail erklärt, aber ich befürchte, der Weg ist noch weit bevor du die verstehst.
Sebastian Balz schrieb: > Hallo Zusammen > Ich möchte für eine kleines Projekt (ein Model Fahrzeug) eine > Fernbedienung bauen, die ich selber programmieren kann. Warum willst Du eine Fernbedienung bauen, wenn man die problemlos billig kaufen kann? Ich denke, Du hast schon genug Probleme, das Modell selbst und seine Steuerung aufzubauen. Falls Du übrigens mit Bascom programmierst; dort ist der Empfänger für eine FB bereits eingebaut. :-) Gruss Harald
ich Programmire in c :) es geht mir darum das ich es selber mache nicht das ich einfach mir ein „Baukasten“ nehme und den dann nur zusammen baue ^^ ich habe ja nicht vor es Komplet selber zu Bauen sondern will ja eine gekaufte Antennen etc verwenden aber ich will auch wissen wie das get und nicht nach dem Schema das ich den Empfänger anschließe nur noch sagen muss if (PINB & (PINB1)) {PORTB = 0b001100};
Sebastian, versuche nicht dich zu rechtfertigen. Es ist mal wieder typisch deutsch andere klein zu halten bzw pessimistisch zu sein. In Germany reden viele gerne von Misserfolgen, von Schwierigkeiten und Hürden, die zu überwinden sind. Ein Reinfall oder ein Konkurs egal warum bedeutet in Germany etwas ganz anderes als in Amerika. Frag doch in amerikanischen Foren nach, dort wirst du sicherlich besser eingestuft und behandelt als hier. P.S. spare dir deine zukünftigen Bemerkungen am besten, auch wenn sie gut sind. Hier achten die "Herren" besonders auf jegliche Schwächen um diese sogleich anzuprangern usw.
>Interessent
Sehe ich genauso.
Ob's an DE oder an diesem Board liegt weiß ich aber nicht.
Lars
Wenn es nur um ein Fahrzeug/Roboter im Haus geht, ist das Ganze in ein paar Minuten erledigt. Man nehme einen Arduino als Sender mit NRF24L01 Modul und einen Playstation 2 Controller. Desweiteren einen Arduino Nano oder Mini als Empfaenger mit einem NRF24L01 Modul. Servos mit extra Strom versorgen. Die passenden Libs fuer die Funkmodule, PS2 Controller und Servos gibt's bereits wie Sand am Meer. Fertig ist das Spielzeug. Wenn du was fuer Draussen haben willst, das Funktionen haben soll, wie eine professionelle Fernsteuerung, dann darfste richtig programieren. Ich baue meine Fernsteuerung fuer meinen Quadocopter auch selber. Sowas macht man nicht mal eben, wenn man die C Tutorials durch hat und zu wissen glaubt, dass man einfach loslegen kann. So ein Outdoormodel sollte verdammt sicher sein und grade die Funkstrecke liefert eine Menge Fehlerquellen, die zu Unfaellen fuehren koennen.
Hallo Sebastin, lass Dich nicht entmutigen! Meine erste T72-Fernbedienung war nur aus Holz. Heute bin ich einen Schritt weiter. Nur das Einparken vor Aldi klappt noch nicht optimal.
Hier ein 6 Kanal-Empfaenger fuer Arduino:
1 | #include <SPI.h> |
2 | #include <Mirf.h> |
3 | #include <nRF24L01.h> |
4 | #include <MirfHardwareSpiDriver.h> |
5 | #include <Servo.h> |
6 | |
7 | Servo channel0Servo; |
8 | Servo channel1Servo; |
9 | Servo channel2Servo; |
10 | Servo channel3Servo; |
11 | Servo channel4Servo; |
12 | Servo channel5Servo; |
13 | int servo0Val; |
14 | int servo1Val; |
15 | int servo2Val; |
16 | int servo3Val; |
17 | int servo4Val; |
18 | int servo5Val; |
19 | #define servo0Pin 2
|
20 | #define servo1Pin 3
|
21 | #define servo2Pin 4
|
22 | #define servo3Pin 5
|
23 | #define servo4Pin 6
|
24 | #define servo5Pin 9
|
25 | |
26 | |
27 | void setup() |
28 | {
|
29 | Mirf.spi = &MirfHardwareSpi; |
30 | Mirf.init(); |
31 | Mirf.cePin = 8; |
32 | Mirf.csnPin = 7; |
33 | Mirf.channel = 10; |
34 | Mirf.payload = 16; |
35 | Mirf.setRADDR((byte *)"clie1"); |
36 | Mirf.setTADDR((byte *)"serv1"); |
37 | Mirf.config(); |
38 | |
39 | channel0Servo.attach(servo0Pin); |
40 | channel1Servo.attach(servo1Pin); |
41 | channel2Servo.attach(servo2Pin); |
42 | channel3Servo.attach(servo3Pin); |
43 | channel4Servo.attach(servo4Pin); |
44 | channel5Servo.attach(servo5Pin); |
45 | |
46 | channel0Servo.write(0); |
47 | channel1Servo.write(0); |
48 | channel2Servo.write(0); |
49 | channel3Servo.write(0); |
50 | channel4Servo.write(0); |
51 | channel5Servo.write(0); |
52 | |
53 | }
|
54 | |
55 | void loop() |
56 | {
|
57 | byte mirfReceiveData[Mirf.payload]; |
58 | byte mirfSendData[Mirf.payload]; |
59 | |
60 | int chk; |
61 | |
62 | if( Mirf.dataReady() ) |
63 | {
|
64 | Mirf.getData(mirfReceiveData); |
65 | servo0Val=(int)mirfReceiveData[0]; |
66 | servo1Val=(int)mirfReceiveData[1]; |
67 | servo2Val=(int)mirfReceiveData[2]; |
68 | servo3Val=(int)mirfReceiveData[3]; |
69 | servo4Val=(int)mirfReceiveData[4]; |
70 | servo5Val=(int)mirfReceiveData[5]; |
71 | channel0Servo.write(servo0Val); |
72 | channel1Servo.write(servo1Val); |
73 | channel2Servo.write(servo2Val); |
74 | channel3Servo.write(servo3Val); |
75 | channel4Servo.write(servo4Val); |
76 | channel5Servo.write(servo5Val); |
77 | digitalWrite(switch0Pin,(int)mirfReceiveData[6]); |
78 | }
|
79 | }
|
Und der passende Sender:
1 | #include <SPI.h> |
2 | #include <Mirf.h> |
3 | #include <nRF24L01.h> |
4 | #include <MirfHardwareSpiDriver.h> |
5 | |
6 | int channel0Pin = 0; |
7 | int channel0Val; |
8 | int channel1Pin = 1; |
9 | int channel1Val; |
10 | int channel2Pin = 2; |
11 | int channel2Val; |
12 | int channel3Pin = 3; |
13 | int channel3Val; |
14 | int channel4Pin = 4; |
15 | int channel4Val; |
16 | int channel5Pin = 5; |
17 | int channel5Val; |
18 | |
19 | void setup() |
20 | {
|
21 | Mirf.spi = &MirfHardwareSpi; |
22 | Mirf.init(); |
23 | Mirf.cePin = 8; |
24 | Mirf.csnPin = 7; |
25 | Mirf.channel = 10; |
26 | Mirf.payload = 16; |
27 | Mirf.setRADDR((byte *)"serv1"); |
28 | Mirf.setTADDR((byte *)"clie1"); |
29 | Mirf.config(); |
30 | |
31 | }
|
32 | |
33 | void loop() |
34 | {
|
35 | byte mirfSendData[Mirf.payload]; |
36 | byte mirfReceiveData[Mirf.payload]; |
37 | int i; |
38 | |
39 | if( !Mirf.isSending() ) |
40 | {
|
41 | channel0Val = analogRead(channel0Pin); |
42 | channel1Val = analogRead(channel1Pin); |
43 | channel2Val = analogRead(channel2Pin); |
44 | channel3Val = analogRead(channel3Pin); |
45 | channel4Val = analogRead(channel4Pin); |
46 | channel5Val = analogRead(channel5Pin); |
47 | channel0Val = map(channel0Val, 0, 1023, 0, 179); |
48 | channel1Val = map(channel1Val, 0, 1023, 0, 179); |
49 | channel2Val = map(channel2Val, 0, 1023, 0, 179); |
50 | channel3Val = map(channel3Val, 0, 1023, 0, 179); |
51 | channel4Val = map(channel4Val, 0, 1023, 0, 179); |
52 | channel5Val = map(channel5Val, 0, 1023, 0, 179); |
53 | |
54 | if(digitalRead(switch0Pin)) |
55 | if(switch0State==0) |
56 | switch0State=1; |
57 | else
|
58 | switch0State=0; |
59 | |
60 | for(i=0;i<=Mirf.payload;i++) |
61 | mirfSendData[i]=0; |
62 | mirfSendData[0] = channel0Val; |
63 | mirfSendData[1] = channel1Val; |
64 | mirfSendData[2] = channel2Val; |
65 | mirfSendData[3] = channel3Val; |
66 | mirfSendData[4] = channel4Val; |
67 | mirfSendData[5] = channel5Val; |
68 | mirfSendData[6] = switch0State; |
69 | Mirf.send(mirfSendData); |
70 | }
|
71 | }
|
Wie gesagt, ein paar Minuten mit den vorgefertigten Libs :-)
> In Germany reden viele gerne von Misserfolgen, > von Schwierigkeiten und Hürden, die zu überwinden sind. Schon richtig. Es gibt allerdings auch Dinge die sind einfach nur unsinnig. Klar, wer Interesse daran hat, der baut sich auch sein Auto selbst auf. Nur sollte er, wenn er den Entschluss dazu fasst, schon ein bischen weiter sein als nur bei der Frage angelangt "Kann mir wer ein Tutorial empfehlen, wie ich aus Blech eine Autokarosserie klopfe. Am liebsten mit genauen Massangaben. Und ach ja: wie schneide ich das Blech eigentlich?"
Stephan K. schrieb: > Wie gesagt, ein paar Minuten mit den vorgefertigten Libs :-) Da hat er ja wieder nur vorgefertigte Bausteine zusammengesetzt. Genau das will er ja nicht :-) Da hätte er sich ja auch eine billige Fernsteuerung kaufen können.
Karl Heinz Buchegger schrieb: > Da hat er ja wieder nur vorgefertigte Bausteine zusammengesetzt. Genau > das will er ja nicht :-) Aber damit wuerde ich erst mal anfangen, wenn ich Neuling bin. Ausserdem ein kleiner Tip dazu: Das funktioniert, also kann er z.B. den Empfaenger erstmal mit dem Krempel machen und dann den Sender selber programieren. So hat er schon mal die Gewissheit, dass es wenn es nicht klappt an seinem Code liegt ;-) Wenn man Sender und Empfaenger gleichzeitig programiert, weiss man nie, an welchem Teil der Fehler liegt.
Okay Das ist mal was brauchbaren : ) Ich möchte mich nochmal bei euch bedanken, auch bei den vielen Kritiken etc. ^^ jetzt weiß ich zumindest wie ich richtig vorgehe C:
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.