-
hallo, habe heute morgen ein gameboycam-bildanzeigeprogramm in visualbasic erstellt. bild ist in "album,persönliche galerie,pebisoft". noch ohne "bps-wahl".
die zahlen werden auch im labelfenster angezeigt, braucht nicht sein, man kann das ende vom einlesen auch anders darstellen. danach kann man das bild per button in der picturebox zeichnen lassen. ist schneller als wenn die einzelnen pixel eingelesen werden und gleich wieder ausgegeben werden. man könnte auch das datenfeld abspeichern als "text". ich bearbeite das bild im ram speicher. habe dort eine weitere kopie zur hinderniserkennungsabfrage abgelegt. kann genauso abgefragt werden wie die picturebox, eine tolle sache.
man kann auch so proggen das das bild automatisch dargestellt wird, wenn die daten alle in der variable sind.
die geschwindigkeit ist die gleiche wie beim prog von tobi. hängt also von der "bps" ab. bei 115000bps ist es ca in 1,5sec angezeigt, wenn der interne adc vom avr mitspielt.
mfg pebisoft
-
HI!
Der ASM-Code ist bis auf weiteres dann geheim, weil es sich dabei dann wirklich um die JuFo-Arbeit handelt.
Aber ich habe vor, nach JuFo das gesamte Projekt auf die Homepage zu stellen.
Aber jetzt geht das leider noch nicht, habt bitte Verständniss!
@pebisoft:
Sieht gut aus!
Wieviele Zeilen sind das?
VLG
Tobi
-
@tobimc: Das ist selbstverständlich O:)
-
hallo tobi, das ist der code von visualbasic 5.0.
den kannst du mit deinem nicht vergleichen. weil du deine routinen selbst zusammenstellt und kontrollieren musst. zum beispiel ist die "ocx" noch zusätzlich bei mir gefordert. ist aber auf jeden computer vorhanden.
man soll das rad bei windows nicht mehr neu erfinden. windows ist dafür geschaffen mit "ocx" und "dll" zu arbeiten, bei dir heissen sie dann halt "macros" und sind im programm mit als inhalt. dein programm ist aber trotzdem gut. da ich mit der zusätzlichen toolprogrammierung für den robby sehr flexibel sein muss, ist es von vorteil das wenn man diese sachen schnell ändern möchte so ein programm braucht. visualbasic ist dafür hervorragend, wenn man auch sieht, wie schnell man die "ocx" von der win-tv-karte ohne diese benutzen kann und nur mit ein paar declare-zugriffen auf dies "ocx" das gleiche machen kann als wär es das origprogramm von der wintv-karte, das schätze ich so.
mein programm kann ich jetzt in kürzester zeit umstellen "bps
auswahl", "pixel dehnen", "auswerten der daten im ram und nicht im picturefenster", "und... und...alles was die gameboy-cam für die visuelle sache braucht".
mfg pebisoft
ps: eine aufnahme von der gameboycam mit der visualbasicoberfläche
aufgenommen über rs232 und im picturefenster dargestellt befindet sich
im "album, persönliche galerie, pebisoft".
die daten von der gameboy-cam liest ein avr16-8mhz mit dem internen
adc aus und sendet diese zum pc. geproggt mit winavr-c.
Code:
VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form Form1
Caption = "Gameboycambild"
ClientHeight = 3630
ClientLeft = 945
ClientTop = 780
ClientWidth = 4935
DrawMode = 11 'Stift Xor invers
LinkTopic = "Gameboycambild"
ScaleHeight = 3630
ScaleWidth = 4935
Begin VB.CommandButton Command2
Caption = "Bild zeichnen"
Height = 465
Left = 600
TabIndex = 4
Top = 2700
Width = 1215
End
Begin VB.PictureBox Picture1
Height = 1890
Left = 2400
ScaleHeight = 122
ScaleMode = 3 'Pixel
ScaleWidth = 127
TabIndex = 2
Top = 300
Width = 1965
End
Begin VB.OptionButton close
Caption = "Close-RS232"
Height = 495
Left = 480
TabIndex = 1
Top = 1200
Width = 1335
End
Begin VB.OptionButton open
Caption = "Open-RS232"
Height = 495
Left = 480
TabIndex = 0
Top = 480
Value = -1 'True
Width = 1455
End
Begin MSCommLib.MSComm MSComm1
Left = 2025
Top = 1125
_ExtentX = 1005
_ExtentY = 1005
_Version = 327680
CommPort = 3
DTREnable = -1 'True
BaudRate = 19200
EOFEnable = -1 'True
End
Begin VB.Label Label2
Caption = "19200bps"
Height = 240
Left = 825
TabIndex = 5
Top = 225
Width = 765
End
Begin VB.Label Label1
BackColor = &H80000009&
Caption = "Label1"
BeginProperty Font
Name = "Arial"
Size = 12
Charset = 0
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 390
Left = 675
TabIndex = 3
Top = 1950
Width = 1065
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim zahl(16400) As Integer
Dim zaehler As Integer
Dim x As Integer
Dim y As Integer
Dim i As Integer
Dim grau As Integer 'für den Pixelwert
Private Sub close_Click()
MSComm1.PortOpen = False
End Sub
Private Sub Command2_Click()
For i = 0 To 16385
grau = zahl(i)
Picture1.PSet (x, y), RGB(grau, grau, grau) 'malt den Pixel ins Bild
x = x + 1 'ein Bildpunkt weiter nach rechts
If x > 127 Then x = 0: y = y + 1 'wenn am Ende einer Spalte ,dann nächste Zeile
Next i
Me.Refresh
x = 0
y = 0
zaehler = 0
End Sub
Private Sub Form_Load()
zaehler = 0
x = 0
y = 0
MSComm1.CommPort = 1
MSComm1.Settings = "19200,N,8,1"
MSComm1.PortOpen = True
MSComm1.RThreshold = 1
MSComm1.SThreshold = 1
MSComm1.InputLen = 1
End Sub
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive: zahl(zaehler) = Asc(MSComm1.Input)
Label1 = zahl(zaehler)
zaehler = zaehler + 1
End Select
End Sub
Private Sub open_Click()
MSComm1.PortOpen = True
End Sub
-
Hat eigentlich schonmal einer versucht mit der GB-Cam eine Lienie oder sowas zu verfolgen? Es gibt doch extra diesen Modus zum Kanten erkennen, habt ihr damit schonmal Erfahrung gemacht?
-
http://www.destroy-yourself.de/julia...s/m64282fp.pdf
wenn einer mal dieses datenblatt übersetzen würde, dann wäre es kein problem dieses auszuführen mit der gameboycam.
mfg pebisoft
-
Hi Roboter!
Funktioniert deine CAM jetzt eigentlich?
Musst mal schauen, wie das geht...
@pebisoft:
Huiuiui... das ist mal ein Progrämmchen... :D
Warum Datenblatt übersetzen? Das ist doch gut lesbar?!
VLG Tobi
-
hallo tobi kannst du mir einmal die deutsche übersetzung kurz rübermailen.
kann kein englisch. danke!!!
mfg pebisoft
ps: habe ein neues bild bei mir in der galerie. schönes klares bild.
schade das man die belichtung dauern ändern muss. ich muss erst ein probebild machen, danach stelle ich über funk den wert ein und muss dann wieder ein bild machen.
-
HI pebisoft!
Ich habe leider auch keine Übersetzung! Sorry!!
Hm. Schon mal gegoogelt? Nach "M64282FP"?
VLG Tobi
-
hallo tobi, hast du schon den schalter gefunden, womit man die aufzeichnung während des auslesen stoppen kann.
mfg pebisoft