Log in

View Full Version : USB to send ASCII characters to PC



Ioannis
- 20th January 2021, 10:33
Regarding USB my level is at almost zero.

I would like to make an RFiD reader and send the card serial number to a PC through USB port. Preferably not as RS232 too USB, so that the user on the PC side will not have to install anything.

I have a barcode reader that is connected to a USB port. No drivers installed. When a barcode is read, if there is a program open (say word, excel, Notepad whatever) the code is displayed just as if one was hitting the keyboard.

Very neat and simple. Can this be done with a PIC?

Thanks,
Ioannis

HenrikOlsson
- 20th January 2021, 15:52
It can. What you're looking to do is basically implementing a USB keyboard using USB HID. When connected it will, to the PC, look like any old USB keyboard. I've managed to do it using examples on the forum, the tricky parts are to get the descriptor correct and the various scan codes. I can't get to the code right now but I can probably dig it out later - if you haven't already found examples to work from by then.

/Henrik.

aerostar
- 20th January 2021, 16:00
Do a search for USB keyboard emulator, there are a couple of threads - here is one http://www.picbasic.co.uk/forum/showthread.php?t=8291, once you get the keyboard working you can the take the data from RFID and put it into a modified keyboard routine.

Ioannis
- 20th January 2021, 21:29
Thank you both. Those info are enough to get me started.

Ioannis

towlerg
- 21st January 2021, 09:22
Perhaps you could use one of the three 1 bit outputs NumLock, CapsLock and ScrollLock to implement flow control for your hardware.

Ioannis
- 23rd January 2021, 19:21
George,
I do not understand where flow control is needed.

Ioannis

towlerg
- 24th January 2021, 08:41
As you will be creating another keyboard, any output will be sent to what ever window has focus.

Ioannis
- 24th January 2021, 23:18
Yes, the focus is a thing that bothers me and I wish I knew a way to deal with it.

If for any reason (and windows has a lot, I am sure) the focus is lost, data entry is lost too...

towlerg
- 25th January 2021, 10:07
Are you writing a windows app? If so you can use those control lines to allow your hardware to tx. BTW hope I'm not teaching you to suck eggs but although you might assume that pressing CapsLock etc. turn on the LED on the keyboard, in fact all it does is set a modifier bit and the keyboard driver sends a signal to operate the LED.

Ioannis
- 25th January 2021, 13:05
Unfortunately I am not qualified to write PC apps... Too pity that once I started to do things in C (command line environment) and a little Visual Basic 6 but did not evolve on that.

Thanks anyway,
Ioannis

mpgmike
- 26th January 2021, 03:53
I started working with PC apps about 5 years ago. I bought Visual Studio 2015 Professional and 5 books on the subject. Although VS 2019 is out, the books probably update with the versioning. One I recommend to get you functional (at a cheap price) is:

Visual Basic in easy steps
www.ineasysteps.com
My 4th (2015) Edition has ISBN: 978-1-84078-701-6
I bought it on Amazon. It's only 192 pages and covers only the essentials. It was the cheapest and thinest of the 5 books I bought, yet covers topics like data bases that the thicker more expensive books gloss over.

As for connecting the PC to a PIC via USB, I have been using HIDmaker; although I have also been able to get Microchip's MLA (in C for MPLABX) templates to work as well.

towlerg
- 26th January 2021, 12:23
@Ioannis What would you want an app to do with the data? If some kind code elf were to create an app for you it would make more sense to us Vendor (otherwise known as Custom) which is a variation of HID but needs an app to talk to.

Ioannis
- 26th January 2021, 21:08
Mike:
Thanks for the interesting book. It made me look at VB again. The last app I did was in VB6 and liked that I was able to make an exe or an installer. When I check again in VB2015, the IDE was unbelievable huge and there seemed that the installer creator was not there anymore. There was something about manifests... I lost it.

Towlerg:
Thanks for the offer. I am collecting the requirements and after that I may need a PC app that would read data from a RFiD card and show on screen, copy to clipboard or enter it in a database, excel file or similar.