Werbung
lol, ja hoi ich hab da schon erfahrungen und das schwerste ist die synchronisierung der Cam mit dem µc. (ich hab die cmucam2)
Außerdem solltest du der Cam als erstes das "RM 1" senden, das ist der Raw Mode und der bewirkt, das die Cam noch Strings annimmt ABER sie gibt zahlen aus (Bytes)! Es gibt im Manual eine genaue Beschreibng wie so ein Datenpaket dann aussieht!
Weiterhin sollte man noch "DM 60" setzen, d.h. das die Cam zwischen jedem übertragenen zeichen (beim RM byte) ne pause macht die ca. so lang ist, wie wenn er 60 weitere zeichen übertragen würde. das hilft auch bei der synchronisation!
so dann mal zur allgemeinen arbeit mit der cmucam:
als erstes solltest du immer den noise filter hochsetzen ("NF 15" - "NF 30"), dadurch kannst du beim tracking größere ergebnisse erzielen! der noise filter guckt bei tracking, wie weit jeweils zwei "tracked" pixel auseinander liegen und der noisefilter ist die schwelle ab der er den pixel aus dem "tracked" bereich wieder rausnimmt!
dann solltest du mal ausprobieren (das ganze erstmal am java gui) "CR 18 32" das setzt die farbeinstellungen auf YCrCb, das ist nen toller farbmodus aber du musst mal am besten nen bild OHNE deine hand und eins MIT der hand drauf machen lassen und du wirst sehen was das bewirkt...
so jetzt müsstest du mir sagen ob du mit basic (Bascom) proggst, dann kann ich dir auch noch beispiele geben, wenn nicht, dann kann ich dir trotzdem das senden und empfangen erklären!
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Hi X-Ryder, ich progg mit Bascom und hätte auch Interesse an Beispielen![]()
Gruss Stefan
senden:
empfangen:Code:Sub Senden(was As String * 21) While Z1 <> "A" 'warteschleife bis A (ACK) kommt Print Was ; Chr(13): 'solange das ganze bis dei schleife geschlossen ist Waitms 10 Z1 = Inkey() Wend 'ende der schleife Z1 = Inkey() 'das C verschlucken Z1 = Inkey() 'das K verschlucken Z1 = Inkey() 'das {013} verschlucken Z1 = "" End Sub
initialisierung:Code:Sub Empfangen() While Isit <> 255 'warten bis synchronbyte kam Isit = Waitkey() Wend 'ende des wartens For I = 1 To 9 '9 Bytes einlesen (auf TC abgestimmt, bei bedarf ändern) Isit = Waitkey() Ar(i) = Isit Next 'ende der schleife End Sub
und das hauptprogramm:Code:Print Chr(13): Call Senden( "NF 30") Call Senden( "RM 1" ) While Z1 <> "A" Was = "CR 18 32 19 32" Print Was ; Chr(13): Waitms 10 Z1 = Inkey() Wend Z1 = "" Call Senden( "DM 60") While Z1 <> "A" Was = "TW" '"TC 90 140 220 240 0 30" Print Was ; Chr(13): Waitms 10 Z1 = Inkey() Wend Z1 = ""
dann musste noch nen ausgabebefehl einfügen der AR(2-9) ausgibtCode:Do Call Empfangen() Waitms 50 Loop
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Hi,
ich Progge mit Proton+ für PIC´s aber ist Bascom ähnlich!
Ich hab bis jetzt mal mit der GUI probiert um die Werte etwas zu verstehen![]()
Aber dein Code hilft auch mir weiter, DANKE
Als was setzt du sie auf deinen BOT ein?
By.. Ulli
1. mach dich mal online bei icq,
2. ich setze sie für verschiedene dinge ein, kantenerkennung, damit dann auch eine karte und distanzmessung, später soll sie konturen wiedererkennen und farben verfolgen, bilder an meinen µc senden, der widerrum sendet sie zu meiner "tastatur" und dort wird das bild dann angezeigt
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Kann mir jemand helfen?? Ich wollte das Icq runter laden wo man auch mit cams chatten kann aber ich finde das einfach nicht kann mir bitte einer schnellstmöglich eine antwort geben
by Steffi
www.icq.com und dann meine ICQ-Nummer: 196004120
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
x-ryder du meintes jetzt nicht mich oder??
Lesezeichen