Start by going to the product page for each of your Phidgets and reading the "User Guide" tab (HUB0000, HIN1101, and DCC1100).
By the end of those guides, you should be able to individually test each device in the Phidget Control Panel and see them working.
The next step would be to get some Python sample code for each device, and individually test those. Go to the
Python page in our documentation to get it set up. Then, go to the "Code Samples" tab on the HIN1101 and DCC1100 product pages and download the Python sample code for each (you don't need a sample for the HUB0000 since you're just using it as an interface to control the other two devices).
Once you get the code samples working, you're ready to start making changes to them. You can read our
Phidget Programming Basics guide to get an idea of how Phidgets work with Python.
Generally, here's how I'd write the program you're describing:
- Start with the HIN1101's encoder example
- Add code in the "main" function that declares and opens a BLDC object, similar to how it's done in the DCC1100's example code
- Make the BLDC object available inside the "onPositionChange" event as described in the "Referencing Other Phidgets from Events" section of
this page.
- Add code in the "onPositionChange" function that sets the target velocity of the BLDC motor based on either the total position or the position change of the HIN1101's encoder. (For total position, you'll have to create a variable to keep track of the position as the position change events come in)
- Don't forget to use "print" statements to put helpful information on the screen, such as the current motor velocity whenever the dial is turned. This will help you debug and tweak the program to your specifications.
As for general programming guides for python, I have no specific recommendations, but there's lots of resources out there since python is one of the most widely used languages. I know this seems overwhelming but feel free to ask us questions if you get stuck along the way.