Story
I’m a big fan of .Net, and Windows 10 IoT, so it was very exciting the first time when I know that I could control a hardware using .Net.
After a period of time, I finally finished my first homework: a WIFI Smart Car.
This version of the smart car is kind of simple, the only thing I can control is forward, reverse, turn left and right. I’m trying to add more functionalities later on.
Now, let’s see how I made it.
Components
There’re two core components: Motor Driver and Raspberry PI. The former is used to trigger those four motors, and the latter is used to control the motor driver.
Let me introduce the Motor Driver a little bit more.
A motor driver is consist of dual L293D IC. The L293D IC is a H Bridge type IC, can be used to drive two DC motors at a time.
When the enable input is high, the associated driver gets enabled. If the Input 1 is HIGH, and Input 2 is LOW, the motor will start working. On the contrary, If the Input 1 is LOW, and Input 2 is HIGH, the motor will turn to the other way. If both Input 1 and Input 2 is Low, the motor will stop.
If we want to control the speed, we could use PWM (Pulse Width Modulation) as the input to Enable 1. But as the current version of Windows 10 IoT doesn’t provide native API to support PWM, I will not talk about it now.
Besides, the motor driver also have a +5V output pin, which could be used to be the power source for Raspberry PI.
To do it, I used another component USB DC 1~5V to DC 5V Voltage Step Up Boost Module.
Circuit
Base on the above information, it should be easy to figure out a circuit for it.
Simply use 8 GPIO pins to control 4 motors. That’s it!
Code & Debug
Please refer to below sections for the code. Here, I just want to talk about the debug.
I have just updated the Windows 10 IoT inside preview (flash the OS 10513.0 to the Raspberry PI), when I try to debug my code using remote debugger, the VS told me the remote debugger in my IoT device is old than my Visual Studio 2015. I tried everything I could, but all failed until I found a sentence in the release note:
For more detail: WIFI Smart Car Using Win 10 IoT Core by WIFI