Diversity mit Videoqualität statt RSSI (wie EagleEyes oder Oracle) - selber bauen?

Rangarid

Erfahrener Benutzer
Wusste garnicht, dass das bei Arduino geht. Unsigned ist mir klar. Aber long ist ja ein "doppeltes" int, deshalb hab ich mich gewundert...Wenn ein long int nachher ein long ist ist die schreibweise jedenfalls überflüssig ^^
 

nachbrenner

Erfahrener Pfuscher
@Nils und Rangarid: Toll dass ihr weiter daran bastelt! :)

Die unsigned long Variablen für den Sync-Zähler und die History sind noch aus der Zeit wo ich mit dem hsync-Signal getestet habe: Da gab es wesentlich mehr Impulse als jetzt mit VSync. Das sollte jetzt nicht mehr notwendig sein.

Für meinen Geschmack wäre ein byte (max. 255) aber zu knapp: Es kann ja durchaus Empfänger geben die bei Schnee nicht einfach weniger vsyncs ausgeben sondern viel mehr -> da sind wir mit int besser abgesichert. Und unsigned sowieso: Er soll ja nicht negativ werden können.
 

nils1982ks

Erfahrener Benutzer
Also

"volatile long unsigned int" werde ich mal auf "volatile unsigned int" reduzieren, das stammt noch aus Zeiten, in denen wir auch andere Impulse aufgenommen haben. Auch bei den anderen werde ich reduzieren, bzw. hab ich schon, lad das später dann hoch. Die Verwendung von Boolean mag ich nicht, weil hier eben auch ein Byte benutzt wird, wie bei z.B. bei unsigned char.

Auch hilfreich: http://www.rn-wissen.de/index.php/Speicherverbrauch_bestimmen_mit_avr-gcc

EDIT: er war schneller...
 

Rangarid

Erfahrener Benutzer
Achso stimmt das hattest du ja weiter vorne geschrieben. Hab da nur den zusammenhang nicht erkannt mit dem Boolean. Jetzt hab ichs verstanden XD.

Wofür braucht Arduino 1 byte für boolean? Normalerweise ist boolean doch 1bit...
 

nils1982ks

Erfahrener Benutzer
Gibt es eigentlich hier Nutzer, die nicht PAL nutzen und für die sich das Umschalten auf NTSC lohnen würde? Dann könnte man dafür einen der Schalter nutzen.

Das Reduzieren der Größe der einzelnen Variablen und Verwendung von kleinen zusätzlichen, um MOD Operationen zu Vermeiden, hat sich gelohnt. Der Code müsste nun deutlich schneller laufen und der verbrauchte SRAM ist lat avr-size von 370 auf 286 Byte gesunken. Trotzdem ist das schon fast ein drittel dessen, was auf dem ATMega168 zur Verfügung steht. Den Code lade ich heute Abend hoch, will es erst auf meinem Board testen.

Viele Grüße
Nils
 

Rangarid

Erfahrener Benutzer
NTSC sollte statt 50hz 60hz haben. Das sollte für unser Diversity der einzige Unterschied zu NTSC sein. Kann man ja mal reinnehmen, kann aber auch automatisch erkannt werden. Die meisten Diversitys erkennen NTSC automatisch, da anscheinend nur die Anzahl der Frames etwas mehr ist würde ich statt das über einen Schalter zu machen einfach automatisch gucken ob 50 oder 60hz ankommen.
 

Nabazul

Erfahrener Benutzer
meine Hardware ist jetzt auch eingetroffen und ich habe ein bisschen gebastelt:

11082012953.jpg

dip Schalter habe ich jetzt nicht drin. Dafür habe ich das ganze erweitert um einen pcf8574 der per i2c die Kanäle der rc5808 Module ändern kann. An A0 habe ich außerdem drei Taster mit diversen Widerständen angeschlossen.

Taster1 = +
Taster 2 = Menu
Taster3 = -

Außerdem habe ich meinen ersten arduino sketch erstellt. Dieser kann bei betätigen der + und - taster die Kanäle (16) hoch und runterschalten und bestätigt das mit einem kurzen piep des buzzers.

Anhang anzeigen Duo5800_SkyRF.rar

Da ich jedoch ein kompletter arduino Anfänger bin weiß ich nicht so recht wie ich meinen sketch mit dem op_diversity sketch verbinden soll so das dann auch noch alles funktioniert. Vlt kann da ja mal jemand drüberschauen.

Der nächste schritt wäre es dann die zwei leds raus zuschmeißen und ein 3x16 Zeilen dogm lcd anzuschließen wo dann Kanal, rssi, ausgewählter Empfänger etc angezeigt werden. Mit dieser menu library

http://www.coagula.org/content/pages/tutorial-manage-menu-and-lcd-display-arduino

würde ich dann ein Menu basteln mit dem man Einstellungen vornehmen kann.
 
Zuletzt bearbeitet:

Nabazul

Erfahrener Benutzer
So habe es jetzt hinbekommen und mich durch den code gefrickelt. Wenn erwünscht würde ich das ganze auch bei google code hochladen als eigene revision.
 

nils1982ks

Erfahrener Benutzer
Hallo,

ich habe mich die ganze Zeit mit Abstürzen des Diversity rumgeärgert, aber ich glaube es ist einfach die serielle Kommunikation, so wie sie jetzt läuft, Schuld. Vielleicht kann das jemand mit seiner Version testen. Lasse ich die Seriellen Nachrichten ausgeschaltet habe ich noch kein Problem beobachtet. Kann das jemand bestätigen oder widerlegen?

Wenns nur die serielle Kommunikation ist, kann ich auch die vereinfachte Version commiten und gleich dieses Problem aufheben.

Viele Grüße
Nils
 

Nabazul

Erfahrener Benutzer
neues update von mir! Hab das Kind mal open diversity receiver getauft.

http://www.youtube.com/watch?v=Tfck8hR19mA

Software technisch basiert das ganze jetzt allerdings auf der Version r13 von rangarid weil ich bei der aktuellen version leider nicht mehr so ganz durchblicke was ihr da gemacht habt und warum :( Außerdem war es mir zu kompliziert den Dipschalter wieder aus dem code zu entfernen.

Als nächstes werde ich wohl mal versuchen ein Platinenlayout zu erstellen. Da ich auch das noch nie vorher gemacht habe bin ich für jede Hilfe offen.
 

QuadMax

Erfahrener Benutzer
Juhu heute sind die Platinen angekommen. Sehen sehr gut aus, sehr gute Qualität für den Preis.

Frage:
Wie ist das den mit dem Audio. Für mich (noch Laien Niveau) sieht es so aus als würde es in den einen IC reingehen aber nicht rauskommen und an der 3,5 mm klinke ist ja nur video (das bei mir auf das rote Audio kabel liegt (nachgemessen)).
Soll man sich einfach audio mit einem kabel auf die 3,5 mm Buchse "ziehen" ?
 

nils1982ks

Erfahrener Benutzer
Jetzt schon da? Das ging aber fix. Also so ganz verstehe ich dich nicht. Beim aktuellen Design wird der Klinke-Anschluss nicht benutzt, sondern nur die Cinch-Anschlüsse. Mach doch mal ein Bild.
 

Nabazul

Erfahrener Benutzer
Ich verstehe es auch nicht so ganz. Hab zwar die aktuelle platine nicht aber im schaltplan sind Klinkenbuchsen für die RSSI Eingänge vorgesehen verwechselst du da vielleicht was ?
 

QuadMax

Erfahrener Benutzer
Verwirrung3

So hier mal das Bild. Also eigentlich dachte ich die cinch Buchsen wären Eingänge und die 3,5 mm Buchsen wären die Ausgänge.
oben links die Ausgänge und unten links und unten "unten" die Eingänge.
Bin leider noch nicht dazu gekommen die hardware genau zu studieren da ich momenten viel mit der Schule beschäftigt bin.


QuadMax
 

Anhänge

QuadMax

Erfahrener Benutzer
also wenn ich den mir den Warenkorb von jjk bestellt habe fehlen mir noch die cinch Einbaubuchsen und zwei IC´s ?
Wie heißen den die IC´s?

QuadMax
 
FPV1

Banggood

Oben Unten