Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

USB : 8 ENTREES / 16 SORTIES AVEC UN PIC18F4550 (HID).


Information sur la source

Catégorie :Périphériques Classé sous : usb, pic, hid, led, port Niveau : Initié Date de création : 11/12/2006 Date de mise à jour : 11/12/2006 23:22:56 Vu / téléchargé: 29 942 / 11 131

Note :
9,6 / 10 - par 5 personnes
9,60 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Permet depuis un microcontrôleur de piloter 8 entrées et 16 sorties via le port USB.
Il y a une petite partie d'électronique à réaliser!
(Click sur le bouton (INFOS) de l'application pour voir le schéma)...
Il faut aussi 'charger' le fichier "PIC.HEX" dans le PIC18F4550.

Coté soft:
Je mets a disposition 2 versions : (Possible aussi d'utiliser une DLL spécifique...)

- La version1 utilise les APIs windows.

- La version2 utilise le composant "TJvHidController" téléchargeable ici:
http://www.delphi-gems.com/HID.php

Pour d'autres infos sur l'USB et les microcontrôleurs ici:
http://www.lvr.com/usb.htm

Il existe aussi un très très bon outil "EasyHID" qui fournit une DLL "MCHID.DLL",
un générateur de descripteur USB, ainsi qu'un générateur de début de code compatible VB,DELPHI,C,
plus un générateur de microcode compatible Proton++ et PicBasicPro... complet koi !!
http://www.mecanique.co.uk/products/usb/easyhid.html


Coté hard(PIC18F4550):
Le source du PIC est un assemblage du générateur de descripteur USB de "EasyHID" (légèrement modifié),
et d'un code écrit sous PicBasicPro très basique... mais pb il n'est pas gratuit !
http://melabs.com/products/pbp.htm
Prochainement MAJ source PIC pour MPLAB/C18 de "MICROCHIP" qui lui est gratuit...


Coté programmation du PIC18F4550 :
Si vous possédez un port parallèle sur votre PC il existe un moyen "a pas cher" pour le programmer...
Voir "PROGRAMP.pdf" dans le répertoire "SourcePIC"!
Réalisez le schéma du programmateur et utilisez le soft "WinPic800":
http://www.winpic800.com/

Pour acheter un PIC18F4550 :
http://www.microchipdirect.com/ProductDetails.aspx?Category=PIC18F4550(BuyMicrochip)&Sort=PackageType&mid=10&FilterValue=PDIP



J’espère quya tout pour s'y lancer !?!...

Bonne réalisation
Bonne prog et bon pilotage...

A+
ryl...
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

11 décembre 2006 23:22:56 :
Erreur zip.

Commentaires et avis

signaler à un administrateur
Commentaire de rylryl le 12/12/2006 16:06:45

Merci beaucoup... timide ?
A+
ryl...

signaler à un administrateur
Commentaire de Kenavo le 14/12/2006 20:06:18

Après le port parallèle, après le port série, le port USB ..... mais tu ne programmes pourtant pas comme un cochon !
J'ai jeté un coup d'oeil, je vais approfondir, ça me parait intéressant !

Ken@vo    

signaler à un administrateur
Commentaire de rylryl le 14/12/2006 21:53:40

Bonjour Kenavo,

Les connecteurs sont mes amis ... c'est fou tout ce qu'il est possible de faire avec ...
Inépuisable koi ... bon, bien sûr pas encore de la téléportation ou alors j'veux voir SVP !!!
Merci beaucoup de ton intérêt ... mais ne regarde pas trop mon code avec ton oeil de gauche STP ! (il doit être beaucoup plus perçant que celui de droite!!)... Ayouyouyayailllll !

Au plaisir...
ryl...

signaler à un administrateur
Commentaire de rylryl le 15/12/2006 03:26:39

Port... cochon... ça y est j'ai compris, oulala chui fatigué moi ! HihiHiHi...
ryl...

signaler à un administrateur
Commentaire de ksirob le 11/05/2007 16:48:44

Salut,

J'ai testé ton .hex avec un logiciel sous Builder C++. Il marche même si quelques broches du port A ne sont pas accessibles.

"Prochainement MAJ source PIC pour MPLAB/C18 de "MICROCHIP" qui lui est gratuit..."

Bé, écoute, je suis en train de le faire et c assez compliqué....
Le problème est de passer le buffer du pic vers le pc même si l'accès aux LED est possible.

Alors, si tu as commencé, je suis curieux de savoir comment tu t'y es pris ????
Merci.

signaler à un administrateur
Commentaire de thebuggman7631 le 24/05/2007 22:42:57

bonjour,
je suis a la recherche d'une aide commenté sur l'assemblage des fichier pour être compiler sous PicBasic Pro, j'ai lu le fichier usb18.txt, utiliser easyhid, mais, il me reste des erreurs de macro sur les commandes usbinit, usbin, usbdevices, usbout. Savez-vous qu'elle sont les fichiers a mettre dans mon répertoire de projet sous picbasic pro 2.46 pour pouvoir compiler les sources modifier pour le pic. J'ai lu la doc de PBP 2.46, mais aucune information !!!

au plaisir
thebuggman :-(

signaler à un administrateur
Commentaire de neil le 13/07/2007 18:46:53

Bonjour, je viens d'essayer votre programme mais je n'arrive pas à utiliser les entrées aux niveaux du pic 18F4550 : le programme sous delphi beep lors de la demande d'etat des entrées et les led pour visualiser s'allume dans un ordre aléatoire (parfois une qui s'allume ou les huites par exemple).
Auriez-vous une solution ?
Un peu d'aide serai le bienvenu :)
Merci d'avance.

signaler à un administrateur
Commentaire de mystercoco le 25/11/2007 15:15:34

Bonjour,
serait-il possible d'utiliser le port usb host d'un pocket PC avec le driver ?
Merci

signaler à un administrateur
Commentaire de yvemoreau le 23/09/2008 17:38:19

Bonjour , j'ai reçu mes 18f4550 , pas facile l'usb !!! Donc j'ai fais un petit programme asm pour faire clignotter une simple led sur le port D , sur un 'protoBoard' le tout fonctionne sous 4MHZ...

Le but était de pouvoir visualiser si le pic fonctionne  ...
Alors voici le code que vous devriez pouvoir compiler sans trop
de problème ...

        list p=18f4550
#include p18f4550.inc

CONFIG WDT=OFF; disable watchdog timer
CONFIG MCLRE = ON; MCLEAR Pin on
CONFIG DEBUG = OFF; Enable Debug Mode ?
CONFIG LVP = ON; Low-Voltage programming disabled   ;OFF(necessary for debugging)
CONFIG FOSC = XTPLL_XT; XT oscillator, PLL enabled,  ;XT used by USB
CONFIG PLLDIV = 1 ; INPUT 4MHZ
CONFIG CPUDIV = OSC3_PLL4   ;[96 MHz PLL Src: /4]

;/// Fréquence d'Horloge Interne = 24 MHZ


Del0 res 1 ;variable 1 byte chacun
Del1 res 1 ;
Del2 res 1 ;

org 0000h ; RESET VECTOR 1er commande
goto Start;
org 0004h ; RESET VECTOR 2er commande
        goto Start; pas utilisé...
org 0008h ;INTERRUPTION HAUTE PRIORITÉ 1er commande
goto Start;pas utilisé...
org 000Ch ;INTERRUPTION HAUTE PRIORITÉ 2er commande
call _Delay; pas utilisé...
org 0010h ;INTERRUPTION HAUTE PRIORITÉ 3er commande
        goto Start; pas utilisé...
org 0018h  ;INTERRUPTION BASSE PRIORITÉ 1er commande
        goto Start ; pas utilisé...

; Délais 6000000 cycles == 1 seconde sur 24 MHZ
_Delay: movlw     .91
        movwf     Del0
_Loop0: movlw     .95
        movwf     Del1
_Loop1: movlw     .138
        movwf     Del2
_Loop2: clrwdt
        clrwdt
        decfsz    Del2, 1
        goto      _Loop2
        decfsz    Del1, 1
        goto      _Loop1
        decfsz    Del0, 1
        goto      _Loop0
        clrwdt
        return

;////////////////////////////////////////////////////////////
Start:
CLRF PORTD
CLRF TRISD

MainLoop:

;Byte OPERATION sur le Port D

COMF PORTD,1 ;allume ou éteint la\les led    

;Bit OPERATION sur le Port D

;BTG PORTD,RD0 ;si a 1 met a 0 ,mais si a 0 met a 1

call _Delay ;delais 1 seconde

GOTO MainLoop

end

signaler à un administrateur
Commentaire de yvemoreau le 26/09/2008 06:59:36

Bonjour Neil, J'en déduis que vous utilisez la version APIs windows et...

Le beep n'est relié à aucun problème ...

# procedure TForm1.Btn_LectureClick(Sender: TObject);//...

# if WriteFile(HID18F4550Device...) then beep;
# // ... Si echec signal sonore
# if ReadFile(HID18F4550Device...)then beep;

Puisque l'on souhaite bien ici informer l'utilisateur dans les cas d'erreur or ici il n'y en a pas . Enfin il aurait fallu lire if not (WriteFile(HID18F4550Device...) then beep;

...J'ai évidemment pris le fichier hex ,que j'ai désassembler ,j'ai ensuite modifier la config pour mon 4Mhz , puis j'ai recompiler le tout...bref une ou deux ligne du fichier hex sont modifier pour un cristal de 4Mhz , ensuite avec un OntimerEvent je vais lire les entrées ...

Ces fameuses entrées aléatoires sont probablement dû au fait qu'elles doivent impérativement soit être relié à la masse où au vdd5,et non flottante...

Car le tout fonctionne Nickel comme vous dites...


signaler à un administrateur
Commentaire de yvemoreau le 26/09/2008 07:05:55 10/10

Braaaaaaaaaavo rylryl! j'ai noté 10 sans trop de gêne...

signaler à un administrateur
Commentaire de DeltaFX le 13/10/2008 21:30:47

Salut,

euh petite question, comme ca en passant, est ce que la lecture de hid-devices ca marche sous win 98se ?

signaler à un administrateur
Commentaire de jihelb le 17/03/2009 11:32:26 10/10

bonjour,
Excellent travail !!!
Mais pour tester la version 2 , je n'arrive pas à me procurer le TJvHidController ???
L'adresse de chargemnt indiquée "http://www.delphi-gems.com/HID.php" me renvoie une erreur ???
Pourriez-vous me faire parvenir ce composant à jlb.jihelb@wanadoo.fr
Merci d'avance
jihelb

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Emission USB [ par Hardouz ] Salut a tous :)je me demande si quelqu'un  peut m'aider a envoyer un signale sur le port USB !j'explique je veut allumer une diode LED relier a le por Accès direct au port USB [ par BCL16C84 ] Bonjour à tous.Quelqu'un de vous à-t'il une idée sur le point suivant :comment puis-je accéder à l'électronique qui pilote un port USB, de la même man Port // Serie USB [ par michelroc ] BonjourAujourd'hui il y a de plus en plus d' imprimantes avec un port USB. cela pose un probleme avec les PC dit 'ancien' avec des applis qui fon Port usb fréquence servos ! [ par TouTSpeed ] BonjourAprès quelque mois d'arrêt de programmation ! je m'y remet !Et je voudrais donc savoir comment envoyer un signal tout ou rien sur un port usb d USB / HID sondage [ par rylryl ] Bonjour a tous,   J'ai pour projet de dev une interface "universelle" USB/HID a base de PIC18F4550Que je déposerai ici.Parce que quelqu port usb [ par marskimo ] comment peut on lire et ecrire sur un port usb on utilisant le microcontrolleur MC68HC908JBJP de motorola lire ou ecrire sur un port USB [ par adok89 ] Salut   j'aimerais programmer (lire ou ecrire)sur les ports USB et donc j'ai besoin de connaitre les differents registre du port USB merci pour votre controler port usb [ par yvemoreau ] Bonjour ,             1- j'utilise un port parallele pour contrôler une interface électronique.             2- j'ai un portable récent qui ne dispose terminal port usb [ par pic16f ] Bonjour Je n'ai toujours pas trouvé le moyen de passer la protection ou de trouverLe mot de passe du fichier zipper que le  programme crée et sauveg


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,998 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.