This is a Functions Generator to be used to drive physical variables either directly by voltage variations using PWM or by means of a control loop implemented in the Arduino code. The latter will require using the corresponding sensors and actuators for the variable in question. At this time 12 different waveforms are available. Implementing the graphical representation and adjustments of the mathematical equations has been the hardest part in this project. Particularly difficult for me was implementing the triangular waveform even when it looks very simple . It took me a bit more than 2 weeks to build this Project despite the fact that I had most of the virtual instrumentation already built At this time PWM is the only type of modulation available. The GUI includes buttons for Freq and Phase Modulation; but they are not active at this time. The Arduino code to handle these types of modulation is pending and honestly I have no plans to do it for now. The video shows a light bulb used as the load to observe the voltage variations from the PWM signal generated by Arduino. analogWrite(); is being used to generate the PWM driver signal through pin 3. A potentiometer connected as a voltage divider to analog input A1 is used to simulate the sample signal. "Full duplex" communication is established between the computer (Processing) and Arduino. It receives the values to drive the PWM signal and sends back to the computer the voltage sampled at analog input A1. This is the first time I implement "full duplex" communication involving data in both directions although high resolution is only one way. High resolution PWM is pending. All data collected while recording is logged as usual into an Excel file which can be viewed at the end of the video.
Built with Processing 1.5.1 and Arduino UNO.
Critics, comments suggestions, ideas, opinions, thoughts are all welcome.
Thanks.
Looks like you did a good job!
Is it open source? github code base or so?
Sorry, no its is not open source.
Will it be for sale?
The truth of the matter is that these are codes I'm building for fun and they are probably full of inefficiencies, making them unsuitable for sale or anything like that.
That makes them ideal for open source as others can improve upon them !
(don't want to push you)
Thank you. While under pressure people tend to make mistakes. At the end of the day, I think its still good to share these Projects here, even without code, as we all benefit with ideas. I have also posted some codes here before.
Hello Pito,
thx for this great work!
Nice. Thanks