Landing gently on the moon is a good application of a fuzzy logic controller. ViewPort, the premier debugging environment for the Parallax Propeller (a multicore microcontroller), includes an object that implements a fuzzy logic engine which is controlled graphically from within ViewPort. Watch the video to learn about the physics simulation and fuzzy logic controller included in ViewPort’s lunar lander tutorial.
Chris built a CNC controller using the Propeller and ViewPort. Here’s what he has to say about ViewPort:
Having at first stumbled with debugging on the propeller, I read about ViewPort on the forums. It looked promising and the entry-level price couldnât be beat so I purchased it. After using it for about 6 months now I can say without hesitation, I could not imagine programming without it! There are a couple of features that really make this an outstanding debugging tool for me.
First is the electrical interface, it allows you to communicate with the propeller using the same USB connection as the Spin Tool software uses for downloading program. No cable switching, no extra pins required.
Second is the oscilloscope display. Watching digital values (variable contents) works in most debugging sessions, however, being able to display those variables on the scope allows you to quickly see trends in the data that are hard to follow just watching numbers. This feature has proven to be paramount in helping to âseeâ what is going on inside the propeller while debugging the motion control software I write. For example, working with acceleration and deceleration, you need to be sure your ramps are smooth and consistent. Watching numbers change every millisecond is impossible! Watching the plotted line on the scope shows me the velocity changes and because the time base of the scope is adjustable, I can see a substantial amount of data all at once. Most importantly, even though I am analyzing a large amount of data, the plotted line makes interpretation of that data instantaneous!
Third is the Logic State Analyzer display. As with the scope display, it allows you to see visually a graphic representation of data that you can interpret much more easily than a series of numbers. I use this to monitor pin states (I/O), and see the relationship in the timing of those states that is very critical for motion control. I also use the LSA for watching Bits of variables. Being able to easily monitor bits within variables a programmer is more likely to utilize the bits instead of wasting a whole long or byte on a simple âON â OFFâ state.
Good job Chris!
Here are more ViewPort success stories”