Pic Lab, PIC18, Experiment #5, USB

When I started to dig into USB topic it was quite a surprise, the amount of efforts the smart people around the world put into it just unbelievable. Even more fascinating fact – it actually worked out. The excitement reached some saturation when I realized the prices (: Vendor ID will cost you 5 grands per year, want to use a USB logo – no problem, just add another 6 grands on the top. Now we could test the compliance of your device with our standard for n grands… The companies using USB are listed on the website www.usb.org (USB Implementers Forum – USB-IF). The curious one could just count a number of companies and calculate the profit just from the year subscription, and this thing is going on for a long long time already. Well they have definitely built an addictive stuff. I, personally, have found the usage for my projects a bit excessive, I definitely not ready to put 5 grands per year for USB in the cheap humidity sensor.

Now, there are tons of different information, it is really challenging to grasp all at once, I will be honest and won’t pretend that I got everything, have a lot of holes in the knowledge, I just need to make it alive and respond to my commands. So, what I gonna to do is to show the info which looked important to me and then will conduct two experiments on this “foundation”.

USB diagram
Continue reading →

The hierarchical model of the encoder in Proteus

Sometimes the cleanest way to design a nice readable schematic in Proteus is to create a separate model with its own graphical symbol with pins attached to this model, not the fastest way but a kind of proper approach within a normal working process.

I was interested in the encoder as you may know, which is not available in the standard proteus component library, starting from a simple drawing of the symbol I would like to use at higher levels:

Continue reading →

Pic Lab, PIC16, Experiment #20, The encoder

I needed to get my hands on the encoder, so I started to explore things around it.

First of all, what is the encoder? This is a thing that helps to convert the rotation angle and a direction of rotation to some numbers we can use for our further advance.

Usually, the encoder has three terminals, to connect it I have used the following circuit:

All resistors have a nominal equal to 4.7KOhm.

Continue reading →

Pic Lab, PIC16, Experiment #17, The clock with a thermometer

After I had enough time playing with a thermal sensor DS18b20 and the RTC DS1307 I decided to bundle them together into a single device. Another reason was the fact that the cheap Chinese clock called a day and let its electronic soul leave the nice enclosure. I considered this as an opportunity to put my stuff inside of it.

That is what I got in the end:

+1 reason is that I had a free sample of the “port expander” PCA9539, I mentioned this IC in experiment #13.

Continue reading →