Ich habe eine Maschine gebaut, jetzt fehlt noch eine Steuersoftware, diese soll in Purebasic geschrieben werden,
die Hardware der ganzen Mechanik wird über die serielle Schnittstelle angesteuert, (kommuniziert mit Atmel Microcontroller)
dazu kommt noch eine USB Webcam, deren Bild soll zu Steueraufgaben ausgewertet werden. Weiterhin sollen noch Daten und Parameter in Dateien geschrieben und gelesen werden.
Da ich selbst Elektroniker bin, und mich lieber um die Mechanik und die Steuerung und Mikrocontroller kümmere, brauche ich Unterstützung bei der Software.
Natürlich sollt ihr das nicht umsonst tun, es ist ein komerzielles Projekt,
von vorteil wäre natürlich wenn ihr nicht allzuweit weg wohnen würdet von Dresden,
aber auch für Unterkunft und Reisekosten kann gesorgt werden, auch könnte ich die Maschine mit zu euch bringen.
auch solltet ihr realistisch den Arbeitsaufwand vorher abschätzen können,
es werden wohl 100-200 Zeilen Programmcode werden.
Also wer hat lust mitzuarbeiten, traut sich die Sache zu, hat Zeit, und noch etwas dabei zu verdienen?
Da die Sache sich abgeschlossen Dokumentieren läßt und überschaubar ist, auch sehr gut als Abschlußarbeit bzw. Praktikum geeignet, als Firma könnte ich das Betreuen.
also wer lust hat bitte melden,
so nun zum technischen:
ich habe schon mal angefangen die Kamera auszuwerten, und auch sie serielle Kommunikation,
hier zähle ich einfach die Pixel die über bestimmten grenzwerten liegen, und bestimmten Farben:
Code: Alles auswählen
z=0
y = 10
k = 0
color = 0
#Window_0 = 0
#WM_APP = 32768
#WM_HID_EVENT = #WM_APP + 200
#NOTIFY_PLUGGED = 1
#NOTIFY_UNPLUGGED = 2
#NOTIFY_CHANGED = 3
#NOTIFY_READ = 4
#WM_CAP_START = #WM_USER
#WM_CAP_SET_CALLBACK_ERROR = #WM_CAP_START + 2
#WM_CAP_SET_CALLBACK_STATUS = #WM_CAP_START + 3
#WM_CAP_SET_CALLBACK_YIELD = #WM_CAP_START + 4
#WM_CAP_SET_CALLBACK_FRAME = #WM_CAP_START + 5
#WM_CAP_SET_CALLBACK_VIDEOSTREAM = #WM_CAP_START + 6
#WM_CAP_SET_CALLBACK_WAVESTREAM = #WM_CAP_START + 7
#WM_CAP_DRIVER_CONNECT = #WM_USER + 10
#WM_CAP_DRIVER_DISCONNECT = #WM_USER + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14
#WM_CAP_DLG_VIDEOFORMAT = #WM_CAP_START + 41
#WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
#WM_CAP_DLG_VIDEODISPLAY = #WM_CAP_START + 43
#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_GET_STATUS = #WM_CAP_START + 54
#WM_CAP_FILE_SAVEDIB = #WM_USER + 25
#WM_CAP_SET_SCALE = #WM_USER + 53
#WM_CAP_SET_CALLBACK_CAPCONTROL = #WM_CAP_START + 85
#TrackBar_Resolution = 12
Procedure Open_Window_0()
hWnd = OpenWindow(#Window_0, 310, 185, 800, 472, "Farbsortierer", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered )
If OpenLibrary(0, "AVICAP32.DLL")
hWebcam = CallFunction(0, "capCreateCaptureWindowA", "", #WS_VISIBLE + #WS_CHILD, 50, 25, 151, 151, hwnd, 0)
SendMessage_(hWebcam, #WM_CAP_DRIVER_CONNECT , 0 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_SCALE , 1 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEWRATE , 1 , 0)
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW , 1 , 0)
SendMessage_(hwebcam, #WM_CAP_FILE_SAVEDIB , 1 , 0)
;SendMessage_(hwebcam, #WM_CAP_DLG_VIDEOSOURCE , 0,0)
;SendMessage_(hwebcam, #WM_CAP_DLG_VIDEOFORMAT , 0 , 0)
;SendMessage_(hwebcam, #WM_CAP_SET_CALLBACK_CAPCONTROL , 500 , 0)
EndIf
ProcedureReturn 1
EndProcedure
;{ Mainunit
If Open_Window_0()
StartDrawing(WindowOutput(0))
;Box(399,24,303,303, RGB(255,255,255))
Repeat
EventID = WaitWindowEvent()
z=0
For y = 25 To 175
For k = 400 To 550
i = K - 350
Color = Point(i , y)
If Green(color) > 10
z = z + 1
Plot(k, y , color)
;Plot(k, y , $ED1112)
Else
Plot(k, y , $9FFF60)
EndIf
Next k
Next y
z=z/225
U$ = Str(z)
z=0
DrawText(500, 370, " " , $0066FF , $FFFF99)
DrawText(500, 370, U$ , $0066FF , $FFFF99)
Until EventID = #PB_Event_CloseWindow
SendMessage_(hWebcam, #WM_CAP_SET_PREVIEW , 0, 0)
SendMessage_(hWebcam, #WM_CAP_DRIVER_DISCONNECT, "BLUBBER", 0)
CloseWindow(0)
CloseLibrary(0)
EndIf
End
das war zum testen ob es überhaupt möglich ist, nun könnte ich mich wochenlang in Purebasic einarbeiten,
besser wäre es jemand erfahrenes hilft mir, und das ganze dauert eher par Tage,
http://www.urg.de