Archive for the ‘Programming’ Category

Mon p’tit python ! (Part 1)

I had a laugh when I started tumbling around on the web, trying to get a proper starting point for learning Python ! I heard about the famous Pink Floyd rock band funding the no less famous “Python and the Holy Grail” with a part of their substantial earning from “Dark Side of the Moon” […]

Picture of the day

Could DSP produce some sort of modern art on some occasion ? Do you want to reproduce that ? Well, here is the recipe … Get a function generator and set the signal pattern to ramp, sweep frequencies from 80 to 90 Hz with 0.1 Hz steps every second. Connect the output to PlainDSP* and starting […]

Alternate IDE (Part 2)

Part 1, 2 Well Notepad++ is really my editor of choice for coding Arduino. Although I am aware of many other powerful editors, I like the style as well as the price (It is free!). Anyway, I felt like Notepad++ was lacking something handy available elsewhere: running external applications. As my first attempts to use […]

Random number generator (Part 3)

Part 1, 2, 3 The early tests presented in this series of posts were dealing with a limited number of data. The risk exist that a long term repeated pattern may not be seen using these statistical tools. Here is an other approach to testing the randomness of data. It consists in creating a black […]

User Interface (Part 5)

Part 1, 2, 3, 4, 5 I brought several improvements since the introduction of the early design of a simplified however yet powerful human interface. Among them the possibility to display variables that the user can change and variables or constants that the user cannot change. Thus the introduction of a new set of menu types: /* Menu types */ […]

Tips and Tricks (Part 27)

Previous T&T This T&T deals with the compression of numerical data. Using the proposed algorithm, you will be able to compress a 16 bits unsigned integer (so as to say an uint16_t or an unsigned int data type). into an 8 bits unsigned integer (so as to say an uint8_t or an unsigned char data type). […]

Cool stuff of the day

Although very handy for basic applications, you may soon or later want to get rid of the basic timing functions from Arduino and start using advanced timing featuring better accuracy and avoid time consuming waiting loops. There are several approaches to achieve this goal. Firstly, you may explore the web and try to find some information of interest. […]

analogRead alternative (Part2)

Part 1, 2 Starting from the presentation of the parametric version of an alternate analogRead function, here is a lean version of the whole code. The header section of the code /* Sampling parameters */ uint32_t _interval = 200; /* Interval between two consecutive ADC reading cycles */ uint32_t _lastTime; Next comes the ‘setup’ routine […]

analogRead alternatives (Part1)

Part 1, 2 Long story short: I never met wizards before Valerio knocked on quai-lab‘s door. And we all committed to help him to ‘augment’ the experience of his magic puppets. However, it’s long road from puppets to bytes and bits. But Valerio is not this sort of person who gives up easily and this post is […]

Stepper Motors (Part 5)

Part 1, 2, 3, 4, 5, 6, 7 The A4988 in details Previous posts described the basic use of the A4988 driver. We shall get deeper in the A4988 driver in order to achieve the ultimate driving performances. Apart from the STEP and DIR pins the A4988 driver features additional functions addressable through the following pins ~RESET: […]