je ne sais pas vous, mais j'ais un kiff pour la robotic
Périfs métrisé!! port série
Périfs métrisé!! port série
Salut
, est il possible de commander une webcam par exemple (manip des images, les rotations, etc...)via le port série de PureBasic?
je ne sais pas vous, mais j'ais un kiff pour la robotic
, et c'est un térrain inexploré pour moi, si vous pouvez alors m'aidez à faire mes débuts sa serais vraiment simpas
, en tous cas merci 
je ne sais pas vous, mais j'ais un kiff pour la robotic
Bonjour.
Moi aussi je trouve la robotique sympa
,mais ça vient de plus en plus difficile avec les PC d' aujourd'hui, que de l' USB et de l'Ethernet.
Je suis juste tomber sur çà: http://www.hexwax.com/Products/expandIO-USB
Est ce que c'est jouable avec PB sans trop de difficultés
Moi aussi je trouve la robotique sympa
Je suis juste tomber sur çà: http://www.hexwax.com/Products/expandIO-USB
Est ce que c'est jouable avec PB sans trop de difficultés
e tout cas ,pour capturer ta camera en live, il y a ce petit code 
tu peux analyser l'image capturé pour faire interagir ta main avec un sprite eventuellement , ça doit pas etre bien compliquer a ajouter
le plus gros du boulot est fait
tu peux analyser l'image capturé pour faire interagir ta main avec un sprite eventuellement , ça doit pas etre bien compliquer a ajouter
le plus gros du boulot est fait
Code : Tout sélectionner
UseJPEGImageEncoder()
UseJPEGImageDecoder()
Enumeration
#Window_0
#Button_capture
#Button_quit
#Button_affiche
#Button_4
#viewer1
#gadget1
#counter
#counter1
#name
#takebut
#viewbut
#quitbut
EndEnumeration
Dim snapshot.l(50)
Global saver$
i=1
If OpenWindow(#Window_0, 100, 100, 408, 338, "Little Camera", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget )
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Button_capture, 150, 280, 50, 25, "Capture")
ButtonGadget(#Button_quit, 250, 280, 50, 25, "Quit")
ButtonGadget(#Button_affiche, 200, 280, 50, 25, "Show")
EndIf
EndIf
Global hWndC.l
Global snapshot.l
Procedure.b initcam()
pcvs.b = 0
CreateImage(0,400,400)
#WM_CAP_START = #WM_USER
#WM_CAP_DRIVER_CONNECT = #WM_CAP_START + 10
#WM_CAP_DRIVER_DISCONNECT = #WM_CAP_START + 11
#WM_CAP_DRIVER_GET_CAPS = #WM_CAP_START + 14
#WM_CAP_EDIT_COPY = #WM_CAP_START + 30
#WM_CAP_SET_PREVIEW = #WM_CAP_START + 50
#WM_CAP_SET_PREVIEWRATE = #WM_CAP_START + 52
#WM_CAP_STOP = #WM_CAP_START + 68
#WM_CAP_SET_SCALE = #WM_CAP_START + 53
If OpenLibrary(0, "avicap32.dll")
*capAddress = GetFunction(0, "capCreateCaptureWindowA")
hWndC = CallFunctionFast(*capAddress, "My Capture Window", #WS_CHILD | #WS_VISIBLE, 50,38, 310, 230, WindowID(0),0)
SendMessage_(hWndC, #WM_CAP_DRIVER_CONNECT, 0, 0)
SendMessage_(hWndC, #WM_CAP_SET_PREVIEW, #True, 0)
SendMessage_(hWndC, #WM_CAP_SET_PREVIEWRATE, 1, 0)
SendMessage_(hWndC, #WM_CAP_SET_SCALE, #True, 0)
pcvs = 1
; ;............................................(pour afficher l'option)
; #WM_CAP_START = #WM_USER
; #WM_CAP_DLG_VIDEOSOURCE = #WM_CAP_START + 42
; ;............................................
; SendMessage_(hWndC, #WM_CAP_DLG_VIDEOSOURCE, 0, 0)
EndIf
ProcedureReturn pcvs
EndProcedure
Procedure.b capcam()
pcvs.b = 0
SendMessage_(hWndC, #WM_CAP_EDIT_COPY, 0, 0)
snapshot = GetClipboardImage(#PB_Any)
If snapshot
saver$= "snapshot.jpg"
SaveImage(snapshot,saver$,#PB_ImagePlugin_JPEG,10)
;FreeImage(snapshot)
pcvs = 1
EndIf
ProcedureReturn pcvs
EndProcedure
Procedure destroycam()
SendMessage_(hWndC, #WM_CAP_STOP, 0, 0)
SendMessage_(hWndC, #WM_CAP_DRIVER_DISCONNECT, 0, 0)
DestroyWindow_(hWndC)
CloseLibrary(0)
EndProcedure
initcam()
;HideWindow(0,1)
Repeat
Event=WaitWindowEvent(10)
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case #Button_capture
capcam()
Case #Button_quit
SendMessage_(hWndC, #WM_CAP_STOP, 0, 0)
SendMessage_(hWndC, #WM_CAP_DRIVER_DISCONNECT, 0, 0)
DestroyWindow_(hWndC)
CloseLibrary(0)
End
Case #Button_affiche
If OpenWindow(#viewer1, 10, 10, 340, 270, "ImageGadget", #PB_Window_ScreenCentered|#PB_Window_BorderLess )
StickyWindow(#viewer1, 1)
If CreateGadgetList((WindowID(#viewer1)))
existimage= LoadImage(0, saver$) ;Path/filename of the image
If existimage
ImageGadget(#gadget1, 10, 10, 310, 230, ImageID(0),#PB_Image_Border) ; imagegadget standard
Else
ResizeWindow(#viewer1,#PB_Ignore ,#PB_Ignore ,10,10)
MessageRequester("No Image", "image doesn,t exist",#PB_MessageRequester_Ok)
CloseWindow(#viewer1)
Quit=1
EndIf
EndIf
Repeat
Event2=WaitWindowEvent()
bugger=EventType()
Select bugger
Case #PB_EventType_RightClick
CloseWindow(#viewer1)
Quit=1
EndSelect
Until Quit=1
EndIf
Quit=0
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
destroycam()
End
Bonjour, avant tout je voudrais vous remercier pour vos réponses,
;
et d'après le lien de Mister @cirederff (que je salut), il faut un convertisseur sécurisé pour éviter d'endomager l'interface; enfin bon le plus important c'est que l'on puisse commander via l'USB car avant vos réponses j'étais encore sous le doute;
merci @Dobro
pour ton code, en parcourant les topics passés tu avais éffectivement déjà fais un tout petit code éfficace à ce sujet mais qui ne faisait pas appel au port série (ou peu être que je me trompe!!
)
et je ne connais pas votre avis mais pour moi la finalitée de la programmation c'est la robotic (automatisme matérialisé sa vous dits quelques chose
?)
et d'après le lien de Mister @cirederff (que je salut), il faut un convertisseur sécurisé pour éviter d'endomager l'interface; enfin bon le plus important c'est que l'on puisse commander via l'USB car avant vos réponses j'étais encore sous le doute;
merci @Dobro
et je ne connais pas votre avis mais pour moi la finalitée de la programmation c'est la robotic (automatisme matérialisé sa vous dits quelques chose
pour moi c'est pas une finalité , mais une orientation possibleFortix a écrit : et je ne connais pas votre avis mais pour moi la finalitée de la programmation c'est la robotic (automatisme matérialisé sa vous dits quelques chose?)
d'ailleur mon 'PureGolo' va dans ce sens puisque c'est un interpreteur type LOGO
donner des ordres a une tortue et la voir evoluer
oui sauf qu'avec la robotic, c'est matérialisé
un programme matérialisé dans un monde matérialisé/visible
non non, je ne suis pas fou
ce que jveux dire c'est que c'est éffectivement une orientation, mais une orientation qui plus de mérite par son éffet qui procure
car si on se met à la place des gens, ils vont voir un objet matériel autonome et instinctivement ils vont comparer cet objet à une bête ou à un insect, et automatiquement ils vont se poser la question- qui a donc créé les insects?, et paradoxallement ils comprendrons que ces insects servent à quelques chose notament pour l'eco-system de notre mère la Terre, ils comprendrons car quant ils vous demanderons a quoi sert votre robot, vous lui expliquerez bêtement que votre création permet d'éffectuer automatiquement des tâches pénible voir même impossible pour un homme!!, et en leurs répondant ainsi vous aurez compris à votre tour que votre création est une version primitive d'un insect , donc votre robot paurait être l'encêtre des insectes que nous connaissons actuellement!!
après avoir lu, vous vous direz que @Fortix est timbré
;
un programme matérialisé dans un monde matérialisé/visible
non non, je ne suis pas fou
ce que jveux dire c'est que c'est éffectivement une orientation, mais une orientation qui plus de mérite par son éffet qui procure
car si on se met à la place des gens, ils vont voir un objet matériel autonome et instinctivement ils vont comparer cet objet à une bête ou à un insect, et automatiquement ils vont se poser la question- qui a donc créé les insects?, et paradoxallement ils comprendrons que ces insects servent à quelques chose notament pour l'eco-system de notre mère la Terre, ils comprendrons car quant ils vous demanderons a quoi sert votre robot, vous lui expliquerez bêtement que votre création permet d'éffectuer automatiquement des tâches pénible voir même impossible pour un homme!!, et en leurs répondant ainsi vous aurez compris à votre tour que votre création est une version primitive d'un insect , donc votre robot paurait être l'encêtre des insectes que nous connaissons actuellement!!
après avoir lu, vous vous direz que @Fortix est timbré
-
jbernard13
- Messages : 1501
- Inscription : dim. 18/avr./2004 15:04
- Localisation : sud de la france
Salut tout le monde;
je vois que ma marmelade n'a accroché personne
, en fait c'était calculé!!;
éffectivement le code de Dobro.exe fonctionne bien pour la fonction principale en tous cas;
mais après examen du code je me suis aperçus que le port série n'est à aucun moment évoqué car il n'y a tout simplement pas besion!!
une simple DLL "avicap32.dll" suffit, que je ne savait pas avant que Dobro.exe post le code, conclusion le port série sert uniquement pour les périfs motorisé; ou je me trompes,
je vois que ma marmelade n'a accroché personne
éffectivement le code de Dobro.exe fonctionne bien pour la fonction principale en tous cas;
mais après examen du code je me suis aperçus que le port série n'est à aucun moment évoqué car il n'y a tout simplement pas besion!!
une simple DLL "avicap32.dll" suffit, que je ne savait pas avant que Dobro.exe post le code, conclusion le port série sert uniquement pour les périfs motorisé; ou je me trompes,
oui !Fortix a écrit :conclusion le port série sert uniquement pour les périfs motorisé;
ps il existe une lib pour gerer le port serie 'IO quelque chose, je sais plus
voir ici : http://www.purearea.net/pb/download/use ... RAPPER.ZIP
ps : il existe une librairie aussi pour les brique LEGO !
"BrickLib_v1"
http://forums.purebasic.com/english/vie ... t=bricklib
SalutFortix a écrit :Salut tout le monde;
je vois que ma marmelade n'a accroché personne, en fait c'était calculé!!;
Si si
partie "microcontrolée" pour avoir des I/O plus souples,
vu que le moyen le plus simple ou le plus democratisé est le port com et il y a beaucoup de boulot en perspective,
quand je vois des gas du forum qui pondent des lignes de codes en un claquement de doigt
J'ai choisi PB pour le coté win et linux, pas interpreté et acces au dll et le toutiquouanti.....donque ça dvrait le faire, mais je suis pas souvent dessu
Merci pour vos réponses
d'après les links de @Dobro, les allemands ont bien entamé la question sur la robotic!, je pense que pour le forum PBasic il faut ajouter une section spécialiser pour le port série car de touts évidence c'est totalement une autre façon de programmer, une section au même titre que l'ASM,3D, etc....
du coup on observera nettement l'évolution du l'angage fétish, bon, c'est juste mon avis
je suis quasiment certain que la robotic est l'avenir, je ne le dirais jamais assé, car on est dans un monde en constante évolution et une évolution implique une optimisation soit pour un rendement soit pour la vitesse!
je sais que celà ne date pas d'hier
, mais n'empêche que plus le temps passe et plus le besion se fera sentir pour les industriels en touts cas
;
l'originalitée dans la robotic sera très recherché dans les prochaines années, parole de sociologue de formation, de théoricien de vocation et de philosophe dans l'âme
(quant je suis lancé, on ne peut plus m'arrêter
)
d'après les links de @Dobro, les allemands ont bien entamé la question sur la robotic!, je pense que pour le forum PBasic il faut ajouter une section spécialiser pour le port série car de touts évidence c'est totalement une autre façon de programmer, une section au même titre que l'ASM,3D, etc....
du coup on observera nettement l'évolution du l'angage fétish, bon, c'est juste mon avis
je suis quasiment certain que la robotic est l'avenir, je ne le dirais jamais assé, car on est dans un monde en constante évolution et une évolution implique une optimisation soit pour un rendement soit pour la vitesse!
je sais que celà ne date pas d'hier
l'originalitée dans la robotic sera très recherché dans les prochaines années, parole de sociologue de formation, de théoricien de vocation et de philosophe dans l'âme
(quant je suis lancé, on ne peut plus m'arrêter