Blog





 




 

 




Supporting this blog
Please support this blog by making a (small) donation via PayPal or otherwise.
You can also become a Patron and have your name mentioned.

Stay informed ?
You can:
- subscribe to my YouTube
- follow me on twitter
- follow me on Instagram

Any comments, questions or advise?
You can email me. For questions & advise, please make a donation.
Blog page on fischertechnik robotics and embedded systems.

All pictures can be viewed in full resolution. For more (combined) images, see my instagram.
All videos start with 10 seconds invitation text to support the blog.

All pictures and videos: copyright Huub van Niekerk. No reproduction without prior permission.

2019

23 August (Playlist) Blog 337

RaspberryPi3 & PiXtend: A continuation with digital output signals, relais and RS232 with a small extension of the Python code. Connecting to grond solves 1 thing, but what's on next? Something is not as expected. Click the image to watch the video.

Discovery: Testing course, battery low in datalog, battery to AC, Blender3D: wireframe to solid, adding wheel. Click the image to watch the video.

Arduino Yún S2: Another attempt to get life back into this board. Using a sketch from the internet with a small modification. But getting access to the interface has some issues. The serial terminal works, but what's with Rx? Also, why does it seem to freeze? Click the image to watch the video.
 

16 August
(Playlist) Blog 336

ESP32: Last time, I noticed the buzzer doesn't stop and the 7segment display keeps burning. So how does any GPIO with the toolchain top? Some testing reveals an oops and after a quick fix it works. But the buzzer sound is very irritating and sounds on camera way louder than in reality. SORRY!!! Click the image to watch the video.

Mirft2: After a problem with the connection, I had to reboot. Next: testing sensors and motors using Python. Grabbing an image with OpenCV and modelling with Blender3D for gear orientation. Click the image to watch the video.
 
BeagleBoard & rollertrack: Testing the lower trajectory again, and finding I need to reconstruct 2 parts: looping and ending. But will it help? Click the image to watch the video.

 
09 August (Playlist) Blog 335

RaspberryPi3 & PiXtend Continuing with the digital output and testing using Python and pxauto. The oscilloscope shows nice signals but do they make sense? A short look at the RS232. Click the image to watch the video.
 
Discovery: Starting with intro & 2 tests. How do they go? Then on with Blender3D: some changes and additions. Once again: what's with the metrics? Click the image to watch the video.
 
RaspberryPi2 & ROS: Continuing with the double messaging from the fischertechnik (ft) phototransistor to the ft LED. After some more attempts there's improvement, but something is missing. Click the image to watch the video.

 
02 August (Playlist) Blog 334

ESP32: Starting with a test on both ArduinoIDE and IDF toolchain, I add an LED segment and the buzzer. But somehow I've made a mistake. Quite audibly. But how to solve it? And the motors? Click the image to watch the video.
 
Mirft2: Checking on gears again using RoboPro and Python, grabbing an image using OpenCV and trying to add another gear using metrics. But what's the result? Click the image to watch the video.
 
BeagleBoard & rollertrack: Testing the system again and finding a weird oops. After fixing it (with a need to fixation), how about the other places? Click the image to watch the video.
 

26 July
(Playlist) Blog 333

RaspberryPi3 & PiXtend: Focus is on the LEDs that either indicate the pulsewitdhmodulation OR the digital output. So using pxauto and changing the Python algorithm a bit. And what does the oscillscope show? If anything...... Click the image to watch the video.

Discovery: Focus on some more testing with various results, changing to AC and introducing Blender3D for creating another model. Click the image to watch the video.
 
RaspberryPi2 & ROS: A new attempt to get the numbers and messages coming through. Finding a previous comment-out was not ok, but how to send 2 messages? Time for trial & error. Click the image to watch the video.

 
19 July (Playlist) Blog 332

ESP32: Testing the motors gives mixed results. But what do the signals on the oscilloscope show? Adding more LED segments to the toolchain/code needs a fix but works. But again, those motors. Click the image to watch the video.

Mirft2: After booting, a short test with OpenCV to check images using ImageMagick. Then adding datalog to the algorithm and in Blender3D, modelling by adding gear & metrics. Trying reveals a way that just may work. Click the image to watch the video.

BeagleBoard & rollertrack: Testing the whole system results in another reconstruction and another modification. Will it all work out or just not? Running Python and the diagnose software bring an answer. Click the image to watch the video.

 
12 July (Playlist) Blog 331

ESP32: Using the ESP-IDF toolchain, I try to fix the LDR. Then, focus shifts to the motors and the voltage level. What about a wire check? Then, using the ArduinoIDE, another check and timebase change. What does it tell? Click the image to watch the video.

RaspberryPi: After the intro, I check for the datalog. Somehow this time it works better, but still not all is explainable. With oscilloscope at a different timebase, all signals (SPI & RS232) are visible, but nice? Finally, a test on the Android tablet, with a nice result. To be continued?! Click the image to watch the video.

Mirft2: Testing the gears again, which gives some unexpected results and needs a small fix in the code. Also, a datalog is missing. Further with Blender3D and gears. What's with the numbers? Click the image to watch the video.

RaspberryPi3 & PiXtend: Focus is on the pulsewidthmodulation: with changes in algoirithm, jumpers and settings, will it finally work? Then the Octave datalog: a small change, but what's the result. An epilogue shows it. Click the image to watch the video.

Discovery: Continuing with the addition of distance differences to the datalog with some test which have varying outcomes. Click the image to watch the video.

RaspberryPi2 & ROS: Focus on publishing msg2 from the phototransistor to the ft LED. Why does 1 msg work and another not? Would eliminating a wrong-placed publish work? Charged batteries for sure do work. Click the image to watch the video.

BeagleBoard & rollertrack: Trying to fix several things: chain, lower trajectory. The first needs a reconstruction, But what's the result? Nice or oops? Or both? Click the image to watch the video.

 
5 July (Playlist) Blog 330

RaspberryPi: Another attempt to get the data from the MCP3008 ADC via SPI & Python and RS232 & Octave readable in a datalog. Finally, 1 single character makes a big difference. Click the image to watch the video.

ESP32: Trying to get the LDR working, results in an oops. It's input but not as I thought. So while the ArduinoIDE works well, something with the code in ESP-IDF has some oddities. Click the image to watch the video.

Mirft2: It's time for an attempt to fix the right-side hind-gear. But will it work? Next, testing showing that the screen-input of the software needs specific input, so I have to change the variable somehow. Next, modelling in Blender3D: what's with the gear's width? Click the image to watch the video.

RI-BASIC: Continuing with the output from BASIC and Octave. Changing the algorithms and adding time works, but not the way I want it: some mismatch (again). Click the image to watch the video.

Discovery: Focus is on the distance: what is the difference between the distance_left of the encoder motors? Can it be used for correction? After some testing, it's clear (once again) that testing isn't easy. Click the image to watch the video.

RaspberryPi2 & ROS: Focus again on the numbers and counts as message and stringstream. Comparing the code of phototransistor and control gives a surprise and a new direction to look. But to look for what? Click the image to watch the video.

BeagleBoard & rollertrack: Testing the trajectory at the switch and the big lower curve. This ends with modification at the switch with a promising result. But at the curve? No so sure yet. Click the image to watch the video.

 
28 June (Playlist) Blog 329

ESP32: Focus is to solve a few compile errors. After doing so (with some mistakes), 1 issue remains. But is it wiring or C code? And there's something with the signals on the oscilloscope. But what? Click the image to watch the video.

RaspberryPi: Focus is on the datalog from Octave: why does it show bytes, not ASCII? Changes to the algorithm shows some insight, but what's the real problem? Also: what's the delay of piscope on Linux, Android and Mac?  Click the image to watch the video.

Mirft2: Starting with gear testing via RoboPro, it's still very odd at the righthand side. But how? Why? Looking at the Blender model, there's no real clue. Then I do a test with OpenCV with larger distance with a surprise result. Next, I decide to introduce manual speed change, but this doesn't go entirely as hoped. Finally, with Blender, adding a gear ends with another surprise. And I don't like it. Click the image to watch the video.

RI-BASIC: Checking the code and searching for reasons the output and Octave datalogs give weird results. Introducing a new length indication, showing my suspicion was right. So, how to go on? Click the image to watch the video.
 
Discovery: First, how does it boot this time? After some confusion, a first run and checking the datalog, I decide to add code to prevent the distance from going negative. But will it work? Some tests follow, but with which result? Click the image to watch the video.

RaspberryPi2 & ROS: Checking on the number sent from the phototransistor node, but what's going on inside the node? Some typos, compiles and checks furthers, something still doesn't make sense in sumbers. But how come? Click the image to watch the video.

BeagleBoard & rollertrack: Starting by adding an LED for the motor switch and changing the wiring. Then reconstructing the wormgear of the motor, so the transport of the tracks won't fail anymore. Finally, an overall test. What will go wrong this time? Click the image to watch the video.
 

21 June
(Playlist) Blog 328

RaspberryPi3 & PiXtend: First focus again on the serial connection: can I get something over the line and into the datalog? Then: pulsewidthmodulation (pwm) for 2 motors. Will checking the state of the pwm  port bring a solution? After recording the video, I find that the Octave RPi3-PiXtend-datalog.txt does have data, but not exactly as I expected: only a lot of 'h' characters. So it has to be improved. Click the image to watch the video.

ESP32: First, a test using the ArduinoIDE. What's (again) with the motors?Then, change to the IDF toolchain. What can be done? Adding an LED, and adding input. But what's wrong? Click the image to watch the video.

Hand: First focus is the holder of the counterweight: it's not upright but should be. Then: I want to change to the construction of last time with the sensor. But how? Then, when testing, I find another big problem: the construction is blocked by the yaw-sensor. How to solve that one? Click the image to watch the video.

RaspberryPi: Focus is again on the data aquisition from Python via Octave to the datalog. What's wrong with the conversion to ASCII? I find some mistakes, but is the one I'm looking for among it? Click the image to watch the video.

Mirft2: First focus: the gears. Why doesn't it work properly? Using gEDA, I realize I make a mistake. After redrawing the schematics, and retesting with RoboPro 1 question remains. But time to move on to OpenCV. It doesn't look the way I want, but for now: ok. Then animation/simulation with Blender3D comes with a bad surprise. What's up with the gears? How to solve it? Click the image to watch the video.

RI-BASIC: Checking BASIC and Octave algorithms, code and output. After analysis, I find an elementary mistake in a vector (easy to fix) but what's the end of the data? Intro of extra output and a delimeter...which shows some unexpected data about data. Click the image to watch the video.

Arduino Yún S2: First, I've changed the power to the breadboard. But it won't work unless I get the Arduino back to work. So attempts for reset and recovery follow. Click the image to watch the video.
 
RaspberryPi2 & ROS: Testing the fischertechnik LED again with the phototransistor. Some things don't go right, though. And not just message-wise. Typos, hanging processes, compilation. What more? Click the image to watch the video.
 
BeagleBoard & rollertrack: Focus is on the curvy trajectory and on the worm-gear. I decide to add LEDs to use instead of probes, but this gives issues I find out and fix later on. Rewiring brings solution. Ending with testing. Click the image to watch the video.
 

14 June
(Playlist) Blog 327

RaspberryPi3 & PiXtend: First focus: the motors. Would it work with rewiring on both fischertechnik & servo? Then: new attempt on RS232. Changes to the algorithm on both sides reveals some more issues (oor questions..). Click the image to watch the video.
 
ESP32: Focus is on ESP-IDF toolchain, but first a quick test on the motors via de ArduinoIDE. Some things just don't make sense. Then: programming more...an LED? Using GPIO, via an example, just could work. Click the image to watch the video.

RaspberryPi: Continuing with SPI & RS232 for data aquisition to log, I find some oddities. Using my Android tablet & Macbook as well because of space, I find out what the Octave-logged numbers are. Which are correct, but not how I want them. Also: some data is missing. But why? Click the image to watch the video.

Mirft2: Starting with another connection oops, the first focus is on HSV with a new strategy. But what's the result? Then with Blender3D, trying gears animation again. This reveals also that new parts are not really getting nice with old. Click the image to watch the video.

RI-BASIC: Continuing with improving algorithms in BASIC and Octave to get the data better into the logs. Still mysterious missing of and changed characters, But why? Click the image to watch the video.

Arduino Yún S2: Back to upgrade: what happens if I can find an older OpenWRT image and try? If anything, what can go wrong? Change IP addresses? Using Wifi only? DHCP? What about connection USB to the computer? Click the image to watch the video.

RaspberryPi2 & ROS: Starting with the LED nodes that interfere. Then: an oops with a publishing node, and why does integer not work out? Documentation shows why, but does a change solve it? Multiple messages may be better, but how to send them? Click the image to watch the video.

BeagleBoard & rollertrack: Focus on the extended trajectory: why do the marbles stop? What's wrong with the rest of the track? Reconstruction and modification is needed. Click the image to watch the video.


7 June
(Playlist) Blog 326

ESP32: Starting out with 2 motors: servo & fischertechnik. From the ArduinoIDE it works. Then on  with the riddle of the software: flash or RAM? Using ArduinoIDE as well as ESP-IDF, things seems to get clear after some attempts. Then, the oscilloscope shows an oops. But why? Click the image to watch the video.
 
Hand: Focus is on the hand-lift sensor, now that the motor has been relocated. This ends up in a connection oops and a fix for the sensor. But it seems that each solution brings another oops. Click the image to watch the video.
 
RaspberryPi: Focus is again on the data aquisition by the SPI protocol and writing to datalog via Octave.. To have something "to look at" via the raspicam, an LED is rewired and algorithm is changed. Click the image to watch the video.

Mirft2: First: connection going wrong (sigh). Then: test using Python. It will go wrong, but where exactly? Next: modelling and simulation/animation. Since GazeboSim means starting from scratch, I decide to stay with Blender3D. Intro gears, but how to simulate? What goes wrong and why? Click the image to watch the video.

RI-BASIC: Trying to get the datalogs filled with nice data. But why the garbage-looking data in Octave? Trying to fix both algorithms, increasing the occurence of "sonar". Finally, it becomes clear when you see content in "gelijk"... oops. Click the image to watch the video.

Arduino Yún S2: Focus is to upgrade the firmware, e.g. the Linux version. After meeting with an old problem, I find a way around. Only to meet with another issue: how obsolete is obsolete? Ending with a small program, to have something to show. Where there's some delay again. Hm. Click the image to watch the video.
 
RaspberryPi2 & ROS: Focus is on 2 nodes: phototransistor and one still to be created. The first needs to become a publisher as well. But how to do that? In theory it's called intranode. But what's the practise? Click the image to watch the video.

BeagleBoard & rollertrack: Focus is again on the extended trajectory to the new chain with magnets. What is needed to get the balls run nicely? Answer: reconstructions. Result: some nice and some oopses. Click the image to watch the video.


31 May
Blog 325

RaspberryPi3 & PiXtend: Focus is on the servomotor & fischertechnik motor with changed pulsewidthmodulation jumper. Will it work this time? Also focus on the RS232 connection. Why aren't the bytes sent over the line? What does pxauto show? Click the image to watch the video.

ESP32: Focus is on the ESP-IDF toolchain, but first a quick test with ArduinoIDE. This ends with a USB error, but why? Then the toolchain...what's up? Again, fischertechnik to the rescue? Click the image to watch the video.

Hand: Focus is on the relocation of the hand-lift motor: from elbow to wrist. But what's the consequence forthe balance? A solution is fond, with another modification. And another oops, being solved. Click the image to watch the video.

Mirft2: Using the elevations for testing the gear to find out what the issue is. Then, modelling again for metrics gives an oops for size. Then GazeboSim seems to need a start from zero. Click the image to watch the video.

RI BASIC: Focus again on the datalogs: why isn't the "gelijk" ("equal") log being filled. This turns out tbe (another) vector issue. After recording the video, it showed that is (kind of) works: see the bottom of the screenshots at the very end. Click the image to watch the video.

Arduino Mega2560 S2: As a new attempt to use Octave, I decide to try the SG90 servomotor. It runs on 3.3V, uses pulsewidthmodulation and has a ground wire. So will this work according to the online info? Click the image to watch the video.

RaspberryPi2 & ROS: Trying to add another node for the phototransistor. By lack of VNC space on the Fedora Linux laptop, I use the Macbook for this. But why don't the motor and LED node stop when requested? Click the image to watch the video.

BeagleBoard & rollertrack: After starting, I find I have a networking issue. This means I can't use the vnc. So the trajectory reconstruction has to be done by hand. How will this work out? Click the image to watch the video.

 
24 May Blog 324

RaspberryPi3 & PiXtend: Starting with the pulsewidthmodulation: can I use a small fischertechnik motor or a servomotor after all? What's with the digital output signal? Some surprise... Finally, some RS323 testing again. Click the image to watch the video.

ESP32: Starting with the servomotor, I try a replacement: a fischertechnik motor. What works? What doesn't? Then ESP-IDF: I need a new version of the toolchain, then flash and check the pulsewidthmodulation. Click the image to watch the video.

Hand: Another attempt to fix the hand-lift sensor, this time using a fixation and a block. But will it all help? Extensive testing reveals the answer: I'm not there quite yet. Click the image to watch the video.
 
RaspberryPi: Focus on data acquisition using Octave and datalogs, I have to correct the way the data is written. But with "LDR" being logged, how to deal with "LDR2"? And what's with the numbers in the datalog? Click the image to watch the video.

Mirft2: After another test with Python, it's not only gears that go wrong. But it's the focus, so Blender3D for metrics which comes with a surprise. Then with the *dae file, using a web-tutorial, I manage to start GazeboSim but find a problem with links and objects. Click the image to watch the video.

RI-BASIC: Continuing with the BASIC via Octave to datalog. But why is "gelijk" not appearing anywhere? Adjusting the algorithm in both, things keep going odd. But why? Click the image to watch the video.

Arduino Mega2560 S2: Continuing with the playTone function from Arduino with Octave, what's going on? Will replacing variables help? Finally, introducing pauses where it shouldn't be, I get an idea of what it should sound like. And I don't like it..(duh), but still a mystery. Click the image to watch the video.

RaspberryPi2 & ROS: So now that 1 node works (i.e. the motor), it's time to add a node. Choosing the red LED, apart from copying and adjusting code, a few changes need to be made in the settings. Will a new node run this time? Then (by lack of space) using VNC on the macbook: will the non-ROS C++ software run as well? Click the image to watch the video.

BeagleBoard & rollertrack: After placing the 3rd motor with chain, I have to write it to the interface. Best way is rewiring the 1st motor. But what's up with the power? After solving this (taking quite a bit of time), the track is next. Click the image to watch the video.

 
17 May Blog 323

RaspberryPi3 & PiXtend: Starting with RS232 rewiring for oscilloscope & data reception. Checking out the LED for digital output. Intro of pulsewidthmodulation for a servomotor. Intro of datalog in Octave because of signalling. Click the image to watch the video.

ESP32: Following some hints, I rewire the 7segment display and add resistors. What will the result be? Also, I change the keypad library. Will this work out? Finally, back to ESP-IDF to explore ending with an oops? Click the image to watch the video.

Hand: First focus: changing the hold of the counterweight. Then the hand-pitch sensor needs a modification but how? Also, the direction needs a change. More to come... Click the image to watch the video.

RaspberryPi: Focus again on acquiring SPI data over the RS232 interface via Octave. Some things don't quite work out, though. But why? Checking with Android and MacOSX. What's with the datalogging? Click the image to watch the video.

Mydfir: Because of some issues, I decided to do another video after all: replacing the buzzer by a lamp. But what's up with the sonar?! Click the image to watch the video.

RI-BASIC: Focus is on improving the datalog and intro comparing data. And what's up with the inserted character (should be a space). Adding another datalog for compares and get oopses. Click the image to watch the video.

Discovery: Testing and changing the distance setting for the contact 1 & 2 conditions gives unexpected results. But what to do with it? (apologies for the bad audio during the screencast parts) Click the image to watch the video.


10 May Blog 322

RaspberryPi3 & PiXtend: relay 1 second, digital in/output, algorithm. Click the image to watch the video.

ESP32: Starting with the servomotor to see if it works (spoiler: it does after a while), focus shifts to the keypad. Still a mystery after a few more attempts. Then it's time to introduce ESP-IDF, which enables more functionality. But how does it work? Click the image to watch the video.

Hand: Focus on the yaw, I have to modify the hand-pitch switch/sensor. But still, algorithm and diagnose respond different. Why? Then a compressor issue has to be resolved, More modifications are ahead. Click the image to watch the video.

RaspberryPi: Using SPI again, the focus is on getting indexing to work in Octave as well get checking the datalog. Also, does piscope work again via Android and Mac? Accidentally, I come across a VNC possibility of which I thought it couldn't work. Click the image to watch the video.

Mirft2: After reconstruction, how does it walk? How does the image-taking go? Finding more trouble with the gears, the modelling using Blender3D seems not quite correct. And it doesn't simulate. Being a robot, using Gazebo may solve this. Click the image to watch the video.

RI-BASIC: Focus is on putting the ASCII data vector into a datalog. But again, what's with the bytes? Using C-style programming, I need to format it as char. Will it work? Click the image to watch the video.

Discovery: Focus again on distance and counters. After several additions to the datalog, I find an oops in the code that explains why things may go wrong. Click the image to watch the video.
 
Arduino Mega2560 S2: Focus again on the duration of the tones. But also: can I get them to show nicely on the oscilloscope? A settings-change seems to work out nicely. Not so much for the keyboard interrupt. Why does that oops now? Click the image to watch the video.
 
RaspberryPi2 & ROS: With the wiringPi library successfully compiled and linked, does anything really work? After some testing and changing settings, some does and some doesn't. But why? If timing is equal and my separate C++ program has the desired result, then what's different? Click the image to watch the video.
 
BeagleBoard & rollertrack: Focus is on the chain at the end of the track with looping. How can I build it? How will the track go? After some attempts it works, kind of.... because the power-controller seems to give issues with the speed. Click the image to watch the video.

 
03 May Blog 321

RaspberryPi3 & PiXtend: Focusses: RS232, digital input and voltage. Severe issues with the oscilloscope make that I have to rely on a multimeter. This gives non-plausible readings at first. Then, using ground, everything works but what about screen-output? Introduction to relays, but what's the difference between pxauto and Python? Click the image to watch the video.

ESP32: Focus on keypad and more: first checking the algorithm since the change last time. Will it work or not? Then, introducing RS232 via TX/RX. This raises a big question on voltage and safety, but also on signals. What's up with the pulsewidthmodulation signal for the servomotor? Something isn't right, but what? Click the image to watch the video.
 
RaspberryPi: Focus again on the processing of serial data through Python: Octave, minicom and introducing datalog. How can the bytes be aligned similarly? And more....Click the image to watch the video.
 
Mirft2: Using RoboPro, I find that the motors do work, kind of. I need another major reconstruction to fix the gears. After this, do they work? Yes and no. Another try at pictures: oops but no time to fix. Click the image to watch the video.

Mydfir: Testing the single linefollowing sensor and getting crazy from the buzzer. The line is followed to near perfection after a small change in the algorithm. But what's with the buzzer? A simple run of the calibration tool brings clarity. Click the image to watch the video.
 
RI-BASIC: Continuing with improving Octave to put data into a vector as ASCII. I finally seem to manage. Then changing the algorithm in BASIC to make mmore use of the switch. Click the image to watch the video.
 
Discovery: Focus once again on the synchronization and contacts. Can I sync on speed? To find out, I have to add more datalog entries. Except from some more weird behaviour of the robot, I found my answer. Question: was it helpful? In a way, yes. Click the image to watch the video.
 
Arduino Mega2560 S2: Continuing with the tones and frequencies, I have to repair a wire of the speaker. Fortunately, the cone isn't damaged (too much). Changing frequencies, adding comments and changing time/duration: what can I see on the oscilloscope, if anything? Click the image to watch the video.
 
BeagleBoard & rollertrack: Starting with a modification to stabilize the first curve from top, I then focus on the transportation from the bottom curve: screwpump or something else? Several tests go oops. Click the image to watch the video.

 
26 April Blog 320

RaspberryPi3 & PiXtend: To avoid more power-interruptions, I add a connection for the power-supply to easily plug it. Also, DI jumpers are added. Then: how to put voltage to additional electronics? The result gives very weird levels. Click the image to watch the video.

ESP32: First focus is on the 7segment display: it needs relocation and rewiring. After that, something odd shows with 1 of the segments. How come? Then the keypad: what is read? When? Can I fake it? What's a char? Oops. Click the image to watch the video.

Hand: Starting with a long overdue motor replacement and rewiring. Then the focus shifts to the yaw. What goes wrong where? Also: re-introduction of a camera, but fps isn't nice. Click the image to watch the video.

RaspberryPi: Focussing on getting the SPI results displayed in Octave and into vectors. Conversion from byte to ASCII works, but what's up with getting it into a vector? Double conversion seems to work but regexp sure doesn't in my case. Click the image to watch the video.

Mirft2: Testing the new motors doesn't go smooth. Observation leads to a new reconstruction and addition. Also, the battery wiring goes oops. What does OpenCV show? Click the image to watch the video.

Mydfir: Checking linefollowing using the datalog file. Some weird results on buzzer and colours...but why? Finally, sonar with objects also shows some issues. Hm. Click the image to watch the video.
 
RI-BASIC: Continuing getting ASCII via bytes and RS232. But I want to get them in a vector or matrix. After some attempts, I manage to do it...but not entirely the way I want (and like). Click the image to watch the video.
 
Arduino Mega2560 S2: A new attempt to get the speaker working from Octave is interrupted by more issues. Following an idea, I find this generator, and have to adjust my algorithm. Now things work nicely, apart from the duration. The oscilloscope shows something nice, but still.... Click the image to watch the video.

BeagleBoard & rollertrack: Continuing with the screwpump: can I get it working? What goes wrong? Testing shows some oopses and another part that needs at least a modification. Click the image to watch the video.

 
19 April Blog 319

RaspberryPi3 & PiXtend: Focus again on the RS232 data communication. Why, what, how? Adding functions to get more clarity, but does it help? Installing pxauto to test the PLC: relais & digital. The latter needs some jumpers. The HDMI monitor seems to work, but what's with the input? And some power issues. Sigh. Click the image to watch the video.

ESP32: Trying to find the cause of the failure of the keypad, I check the algorithm, change the wiring, and examine the headerfile background. This leads to the conclusion that my assumption was wrong: instead of 3 faulty line, there's only 1! But then: why no key detection? Click the image to watch the video.
 
RaspberryPi: Starting with an intro, I have an oops with VNC. Then with Python, getting RS232 connection with minicom and Octave. Via a wiring oops I solve the data problem for SPI. Click the image to watch the video.

Mirft2: With new parts arrived, it's time for the reconstruction: taking off the back part and putting the motors in a new 2nd frame. Comparing it with the Blender3D model, I have to find a new idea for the gears. And program some too. Click the image to watch the video.

Mydfir: Changing the code by completely commenting out the linesensors 3 & 4. But have to be careful. And why doesn't it drive (or ride)? Several typos later and checking with diagnose, I find the problem. But does it follow the line? Click the image to watch the video.
 
RI-BASIC: Replacing the croc-beaks by ordinary connections and a socket, things work safer for the phototransistor. Testing a break-replacing variable doesn't improve the code. Adding a keyboard intervention in Octave does work, though. Click the image to watch the video.
 
Discovery: Going further with the counter weirdness. Changing more print statements into datalog input and testing again. Although the robot moves nicely, comparing the data gives some more weird and questionable results. Click the image to watch the video.
 
Arduino Mega2560 S2: Focus again on the duration of tones from Octave. Varying time, variable, timebase of the oscilloscope and algorithm. And what's with the disappearance error of the board? Click the image to watch the video.
 
Raspberry2: Trying out more C en C++ with a change in the algorithm with reading button and light. Then, a new attempt on ROS: how can I use the linked libraries (-l....) used with C and C++ compilation? How will it compile? And what about the nodes? Click the image to watch the video.


12 April Blog 318

Raspberrypi 3B & PiXtend: Focus is again the RS232: what works and how? So I try multiple options, new functions and combinations: Python, minicom, Octave, an oscilloscope for the signals. After ending the recording, when closing Octave, in the RPi3/minicom suddenly a lot a garbage shows up. So is it a buffer issue? Click the image to watch the video.

ESP32: Focus is on the keypad. So I attach the oscilloscope and change the algorithm a bit so it's clear which gpio is column or row. Then finally it becomes clear the rows give a problem. But how to fix? If possible.... Click the image to watch the video.

Hand: First I need to fix the arm-pitch cord. Then after testing the yaw winch, I need to reconstruct and replace. Will this work better? More reconstructions are necessary. Click the image to watch the video.

RaspberryPi: Continuing with SPI via the mcp3008 ADC, I want to expand the serial communication using Octave. I also want to see the signals on the oscilloscope. Both the Python and Octave algorithms need a change. Also using VLC on the Android tablet to watch the raspicam. Click the image to watch the video.

Mirft2: With focus on vision and modelling, I start the community firmware and find again an oops with login. After this, I need to find another (better?) colourspace conversion program doe OpenCV that, with some code changes, compiles and gives results that surprises me. With Blender3D, modelling takes a turn when I resize a simple block. Nice idea, but what's the consequence? Click the image to watch the video.

Mydfir: Focus again on the line sensors location and signalling. Using diagnose and a ruler, I find that there's more than just mislocation. A reconstruction seems needed. But that implies rewriting the Python code is needed too. Click the image to watch the video.

RI-BASIC: Trying to get the algorithm fixed which is stuck in the ">" while loop. And after trying the maximum distancec (fail..) it works. But what changed? Just some output? A small change in Octave makes it better readable. What next? Click the image to watch the video.

Discovery: Focus is again on the counters, but also on replacing screenoutput by datalog. Making more tests give reason to think not just API functions but also motors sometimes fail. But is it? Click the image to watch the video.
 
Arduino Mega2560 S2: With the focus again on the playTone() function in the Arduino for Octave program. What does the time mean? Several test and algorithm changes, but do they show what the solution is? Click the image to watch the video.
 
BeagleBoard & rollertrack: A very short video this time: introducting a a screw pump and meeting an oops preventing me to actually bring it to life with another (major?) reconstruction needed. Click the image to watch the video.


 
5 April Blog 317

RaspberryPi3B & PiXtend: Testing the serial connection again: baudrate, details with minicom and Octave. Improving algorithms on both sides reveal some issues. When signals show up on the oscilloscope, not all is clear. But what's up? Click the image to watch the video.

ESP32: Focus is on the keypad. How come everything else works? Putting the oscilloscope on C1& 4 and R1 & 4, adjusting the timebase. I find what's up signal-wise. But then what's with the code? Finally, I realize I made a mistake and after making adjustments, I find another problem with some signals. But how come? Click the image to watch the video.

Hand: Focussing on the yaw, I realize that I have to reconstruct the yaw gear. But how? Looking at arm-base pivot and the hand-pitch, there's only 1 way that may work. In the end, it seems to work. Kind of. Click the image to watch the video.

RaspberryPi: Using a newly installed Raspbian, I find that some library doesn't work. But with the focus on RS232 serial communication, that doesn't matter. Using minicom and introducing Octave I try to send words and numbers. Will it work? Click the image to watch the video.

Mirft2: After using the HSV colortool in combination with darktable with some doubtful results, I return to HSV colorpicker. The question is why these colourspaces RGB, BGR and HSV are so hard to convert. Further modelling with Blender3D: applying more colour and more attention to size. This reveals that parts may be not just too short...oops. Click the image to watch the video.

Mydfir: Focussing again on the linefollowing, I decide to do some distance measurements on the sensors. Although these are ok, another measurement reveals the big flaw. A modification needed but will it work out? Click the image to watch the video.
 
RI-BASIC: Continuing with the phototransistor, I did a bit rewiring and it still works. Then the powermotor sticks in a loop but why? Changing the algorithm in BASIC and in Octave, I'm in for a surprise with Minicom too. Finally, with a small code change, I find a problem with the sonar. Which explains what's up. But how to solve it? Click the image to watch the video.

Discovery: Focus again on the counter, with & w/out motor argument. This gives some odd results, but what's the cause? And I need to change screenoutput into datalog. Click the image to watch the video.

Arduino Mega2560 S2: Trying out another function for Octave: playTone(). With some restrictions, I could be nice. Changing the algorithm, applying the oscilloscope, what happens? Something I didn't think of at first.. ? Click the image to watch the video.
 
BeagleBoard & rollertrack: Focus is on the wormgear-track whch didn't look nice last time. Some extensive testing must be done. Then another little modification must be applied to the track ending. And why do balls still go wrong at 1 place? Click the image to watch the video.

 
29 March Blog 316

RaspberryPi3 & PiXtend: Focus again on RS232: can I get it to work? Using Python, changing settings, minicom on both sides, Octave? Something does work, but how? Why not all? Click the image to watch the video.

ESP32: Focus is on the buzzer: why doesn't GPIO23 function correctly? After some more analysis of the initialization, I find the (logical) explanation...and find an oddity with the value to use. Next: the keypad. What's wrong and can I change that? Click the image to watch the video.

Hand: Focussing on the algorithm for testing switch12, I find an old problem has returned. But what to do about it, this time? Analyzing and testing reveals another result of the 2 pitch-movements influence, or is it? The fingers still work, but what's with the compressor? Click the image to watch the video.

Mirft2: Again the focus on getting the HSV values right with OpenCV. Using the HSV colourtool, I find values, but the result is questionable. So, what to do? Next, modelling with Blender3D gives, apart from adding more colour, yet another insight. Click the image to watch the video.

Mydfir: Focus is on leaving the line and the datalog. Then it shows I made a small mistake: using screenoutput instead of writing to datalog. This reveals some nice results. But the mid-position is still way off. But why? Click the image to watch the video.
 
RI-BASIC: Adding a phototransistor but have to improvise the wiring. Will that work? After adding it to the algorithm, I find I made a little mistake with the sonar. But solving proves hard. The manual doesn't bring clarity. Then: can I use Octave on RS232? Yes, but how to deal with the data? This proves easy, at least for a part. How to go on? Click the image to watch the video.

Discovery: Focus once again on the difference between distance and counter. After a few odd trajectories, I want to know the difference in arguments for counter. This gives a surprising result. Click the image to watch the video.
 
Arduino Mega2560 S2: The focus is again on the data aquisition. Knowing what the voltage functions do, the question is what the graphs show and how similar they are. This gives some surprise. Also, I find the wiring issue. After solving this, I get another surprise. But what does it mean? Click the image to watch the video.

RaspberryPi2: Focus again on gaining control on the GPIO, only Bash is left out. So after an initial check with C and C++, I use the Mac for checking. And find I made some mistakes. Adding the webcam, I get a nice result. What's next? Click the image to watch the video.
 
BeagleBoard & rollertrack: Testing all, I find the recurring issue of magnet stuck behind the track annoying. I decide to add another support for the track and make a slight modification. Just when all seems well, I find another issue with the wormgear. Which wasn't there earlier. Click the image to watch the video.

 
22 March Blog 315
RaspberryPi3 & PiXtend: New attempt to get RS232 working. Following some docs, I need to adjust settings. But seeming contradiction causes confusion on how and what. In the end, I create a file using 2 libraries, but will I see something in minicom? Also, the power connection needs to be more robust. Click the image to watch the video.

ESP32: First focus is on the microphone. I finally find out what's wrong, but is there a fix? Then the buzzer. Is that the same issue? Click the image to watch the video.

Hand: After finding a big problem in the algorithm (only doing the hand-pitch), I should change something. The yaw can only work with some distance. But how to achieve that? Modify the switch? Then: testing all, what does work and what doesn't? And why?  Click the image to watch the video.

Mydfir: Focus again on line detection and function calling of lijn_volgen. By close observation of the robot riding in circles, I notice a location problem. This worries me, because why does it happen? If I can't fix this somehow, it may never work. And why is one function never called? Click the image to watch the video.

RI-BASIC: Focus is on solving the sonar & speed problem, but I need to get feedback to debug. So introducing the RS232 connection to minicom for showing printed output. This shows valuable info. But how do I solve the software problem? In the end it's solved, but there's still the question: why did it happen? Click the image to watch the video.

Discovery: Doing some more tests, that do not go well. But the datalog doesn't really reveal info, so I need to add more. Then there's confusion about some variables. Back to the beginning: what's the distance in the first part? I need to get clarity, but info on the functioning of methods() is scarce. Click the image to watch the video.
 
Arduino Mega2560 S2: Improving the graphs leads to the find of a little mistake but also the range needs to be larger. What's the difference with the RL circuit fully connected again? Click the image to watch the video.

RaspberryPi2: A new attempt to control and read from electronics and fischertechnik using C, C++ and Bash via wiringpi. Using the info from the website, I find that some ideas aren't possible. And I make a small mistake. Also, batteries need to be charged. Oops. But will the result be for the button and phototransistor? Bash via the mac. Click the image to watch the video.

BeagleBoard & rollertrack: First focus is the curve after the looping. It needs to change, but how? Next is the track end with chain: how to get a single ball wait at the end so a magnet picks it? Finally, why doesn't the wormgear switch work? Click the image to watch the video.

 
15 March Blog 314

RaspberryPi3 & PiXtend: I discover that the PiXtend chip needs to be reseated, but why? Then: time for some demos, with some nice (dry) results. The interface easiest to use is RS232. Time to wire and check, but what are the settings? The search for an example gives a nasty surprise. Click the image to watch the video.

ESP32: Focus again on the buzzer and microphone. What's with the signals? The gpio's should be ok. Some changes to the microphone code reveals an apparent difference between ANSI & AVR C. I decide to make more use of the LCD and have a little oops. Click the image to watch the video.

Hand: First, I've added a power-distributor so I need only 1 adapter. Then the hand-detection switch needs a fix. But how? Next, the algorithm needs to be changed for both switch and yaw. But why does the diagnose say yes and Python say no? Click the image to watch the video.

RaspberryPi: Again: the Digital-Analog-Converter MAX522. What goes wrong? Analyzing the algorithm, I change a few things such as byte size and baudrate. But will that help? Searching for more info reveals that a website has changed contentsno more help. What to do? End of experiment? Click the image to watch the video.

Mirft2: Starting with an (long) intro, I want to set up a connection and meet with Mr. Murphy's Law. Then, continuing with the RGB-HSV conversion tool, I manage to compile it after changing the code a bit and adding link-options. Finally, using Blender3D again, I have to re-model and add more colour to the frame because of a mistake I made. Click the image to watch the video.
 
Mydfir: Testing the algorithm and checking the datalog, I find that the algorithm lacks some continuity. But after fixing this, Murphy visits and logic is far away. Or is it? Click the image to watch the video.

RI-BASIC: Focussing on the problem with the sonar and power-motor: what's wrong with the algorithm. An example shows several differences, but doesn't explain why the small distance is acting up. And it seems I have to change to old-school connectivity. Click the image to watch the video.

Discovery: More testing on turning at impact, this time with ROBOPro. This shows it's speed-related. Oops. Also: does the counter work? There's a need to change the algorithm. How about the counter and distance at the start? Is there a 0 or reset? Click the image to watch the video.

Arduino Mega2560: More tests using Octave for data acquisition. Putting data into graphs, why are the data so different and similar? Function check reveals I may change thinking. But should I? Click the image to watch the video.

RaspberryPi2: New attempts to get it working after adding a motor. This shows differences between Bash and C/C++ but why? Having an idea with rewiring it works, sort of. Again, why? Click the image to watch the video.
 
BeagleBoard & rollertrack: Checking with the problems: magnet sometimes at start and end, curve support and looping. The curve support needs a modification, the end needs some distance and the looping is too large. So does this fix everything? Click the image to watch the video.

 
8 March Blog 313

RaspberryPi3B & PiXtend: After last time, I have to fix a few bad contacts, a missing jumper, find a power solution and get a new Linux image. I also find how to fix the mount for the RPi3. With all set & done, I can power the PiXtend...and I can get in. But what do I find? What works, and what doesn't? Click the image to watch the video.

ESP32: A new attempt to get the buzzer checked.. with weird signal timing. Rewiring prompts for a look at the manual. Another look at the microphone, 7segment display and servomotor. What's going on? Click the image to watch the video.

Hand: After last time, I have to check the motor direction in Python. Starting to change the algorithm, things don't match up and cause confusion. By adding print statements, the confusion only get bigger until I finally notice a mistake in the algorithm. But then I also notice another mistake with the switch. Time for another reconstruction. Click the image to watch the video.

RaspberryPi: Focus again on the SPI signalling to the MAX522. First, a big oops before I even start: reboot. Then the question is why I see so few signals. I decide to do a rewiring. Can I solve the signals by timebase or by timing? Just for fun: another view by Android and Mac. Click the image to watch the video.

Mirft2: Continuing with OpenCV: how can I get the good values? Using darktable I get some RGB values, but how to convert to OpenCV HSV? Search delivers a tool with source code but compilation goes oops. Twice. Then modelling with Blender: observation with colours reveals I made a mistake repeatedly. Oops. Click the image to watch the video.
 
Mydfir: Focus again on the line detection during driving in circles. What's wrong? Values? Conditions? Structure? In the end, the datalog reveals some code is not executed. But why? Click the image to watch the video.
 
RI-BASIC: After adding support for the motor, I try to add another (power)motor and a sonar. Wiring is no problem, but how to program the sonar? The manual gives some clues but something isn't working quit well. Why? Click the image to watch the video.

Discovery: Focussing on the difference between covered distance and counter, I decide to add sonar. And again, the robot seems to have its own ideas on what (not) to do. Click the image to watch the video.
 
Arduino Mega2560 S2: Going further on plotting the vectors in Octave, I realize I need to change the way the time is used. Also, subplots are better, but when the "while" has to be changed. In the end, graphs are plotter and changes become more clear. But what's the solution? Click the image to watch the video.

RaspberryPi2: Focus again on wiringPi and C: can I get the GPIO working? Using the knowledge of pin 0, I count to 12 and try. If it works, I can count the rest of the green pins. Would it work using C++? What's that 4th output again? A motor? Click the image to watch the video.
 
BeagleBoard & rollertrack: Time to test, which reveals a problem leading to a reconstruction. Then running the algorithm, something goes wrong. But what? When the cause is finally traced, yet another problem returns. Now what to do? Click the image to watch the video.


1 March Blog 312

RaspberryPi3B & PiXtend: Time to finish construction, mount the RPi3 and get started. First cutting the wires, correcting bad solderpoints, placing the ICs. Then the long awaited mount with spacers, to find out that screws are missing?! Also: Raspbian is the wrong Linux to start with? Power has a wire connector...for 2 wires. OOPS. Click the image to watch the video.

ESP32: Time to check out the buzzer, signal, algorithm via oscilloscope. A decision to rewire leads to a discovery that may set things into a different light. Back to the microphone, I check again for the difference between ANSI and AVR C. Also, is my ESP32 the same as the book shows? Click the image to watch the video.

Hand: After all the fixes last time, it's now time to fix the algorithm in Python: adding the motor and switch in conditions switch on and off. After some indentation struggle, something isn't quite right yet. A rewire should fix it, but does it? And then there's the arm-pitch and a hand-pitch. Another oops? Click the image to watch the video.

RaspberryPi: With probing the signals to and from the MAX522 DAC, I try to figure out how to change the algorithm to get the LED work the way I want. But why do the piscope and oscilloscope not go synchronous? Or is it the timing, again? Click the image to watch the video.

Mirft2: New attempts to use HSV in OpenCV and checking values with darktable. This gives some results which don't work out. Finding a mistake in the end, will a 'fix' make it better? Counting gear cycles shows somw consistency.  Finally, modelling with Blender3d. Adding more colour reveals some errors. Click the image to watch the video.

Mydfir: To find out why the robot looses track, I decide to add the line sensor input to the datalog. After a few mistakes, I find that it happens way too fast. And not in a consistent way. So what next? Click the image to watch the video.

RI-BASIC: Continuing from last time: can I add a switch and LED? How can I check the wiring? I find that BASIC really isn't Python.. but also the diagnose lets me down in an unexpected way. Click the image to watch the video.

Discovery: Continuing from last time, I add counters from both motors to all sonar-IFs, except the last. When analyzing the datalog, the results are not what I hoped, but also not logical. So where's there cause of the problems? Firmware? API? Click the image to watch the video.

Arduino Mega2560 S2: Going on with Octave: I've enlarged the size of v1. Can I do the same for the other vectors? If so, what does it show? Can I plot it? Click the image to watch the video.

RaspberryPi2: Being familiar to control the GPIO using Bash and Python, but failing using C/C++, I want to find out. So I decide to take another chance and in the end finding some info that raises a big question. Click the image to watch the video.
 
BeagleBoard & rollertrack: Time to reconstruct the wormgear. How can I make it stick to the axle? The solution seems simple, but needs a relocation of the motor and some more action. Will everythng work then? Or will it go oops somehow? Click the image to watch the video.

 
22 February Blog 311

RaspberryPi3 & PiXtend: Placing the last jumper, the voltage-regulater and the battery. Then checking out CODESYS on the laptop. This leads to 2nd thoughts about it. Also: PiXtend Python Lib...can this be done? Click the image to watch the video.

ESP32: Focussing on the microphone algorithm, I decide to write a similar one in ANSI C. After some issues, it works. So what does the comparation show? Then: the servomotor worked for a bit, but when? How? And what's with the buzzer? Does it do SOS? Click the image to watch the video.

Hand: Checking everything, I find that I have to fix several things, wires mostly. But where? Diagnose shows what, but then analysis is needed. In the end, I decide for a rewiring and have to adjust the algorithm for switch12. Click the image to watch the video.

RaspberryPi: Focussing on the output A from the MAX522: how do I know it's the correct output? Why does the LED burn w/out the program even running? Switching the 4th probe between A and Din, I get a first glimpse of what is up. Too bad I don't have more than 4.... Click the image to watch the video.

Mirft2: On with OpenCV and HSV: can I restore the colours I got a while back? What do value changes show? Intro to darktable for colour probing. HSV or something else? In the end: more modelling with  Blender3D and finding some mistakes. Click the image to watch the video.

Mydfir: After adding the 4th lamp, I need to check and adjust the alogrithm. But what speed is best? Light seems to interfere as well, again. So what is best to do? A small mistake with power shows that the battery won't last as long. Oops. Click the image to watch the video.

RI-BASIC: Introduction into using the BASIC programming language for the RoboInterface using wine emulation on Linux. I skipped the installation of the library on Fedora, which differs slightly from installation on Ubuntu. Click the image to watch the video.

Discovery: With the new distance set, how does it behave? What's the difference between distance and counter value? The algorithm has to be changed again. Click the image to watch the video.

Arduino Mega2560 S2: After disconnecting the resistor from the 5V, I find another instruction: readVoltage(). What's the value for the Ax pins? I decide to add another Ax: A2 from the transistor. What's the result? Finally, I want to enlarge the vectors. But how? Click the image to watch the video.

BeagleBoard & rollertrack: After finishing the looping, it needs to get an ending. But how? Chain? Block? Then: the switches to change course and trajectory. It works manually, but what's wrong with automation? Looks like it's the gears, but how to solve it? Click the image to watch the video.

 
15 February Blog 310

RaspberryPi3 & PiXtend: Starting with a check on VNC with Android, I continue with soldering a resistor and a jumper. Ending with a nasty surprise: the jumper gets a bit ruined as well as a connector. But why? How? Finally some software: wine and CODESYS. Ending with another surprise. Click the image to watch the video.

ESP32: Continuing with the microphone: what's the signal? From where? Why doesn't the algorithm function? Then big oops and Murphy's Law. Click the image to watch the video.

Hand: The hand-pitch motor needs an immediate replacement (20:1 -> 50:1) as well as a very different setup. Will a worm-gear work? Then a switch yo I4 (I12 actually) but how to put it in place? How to wire it? Click the image to watch the video.

RaspberryPi: With the MAX522 DAC using SPI 3wire, can I get the signal? Using the good timebase, and new data, something seems to happen. Finally. Not really visible on the videostream, but it's there. Click the image to watch the video.

Mirft2: After the Veghel convention (video, pictures), I continue with OpenCV and a better elevation for the objects. But does it work? Also more modelling using Blender. Click the image to watch the video.

Mydfir: Focus on the linefollower with speed, but that doesn't go without problems (what's new..). New modification: adding a lamp on top, so I can (in theory) see the line-status. Right... Click the image to watch the video.

Arduino Yún: After a final intro, I need to re-capture data, display in Octave. Test Wifi and Linux. After which it's the end for this project. Click the image to watch the video.

Discovery: More tests with the trajectory: from the "distance_left", I find that the distance set in the algorithm better be changed. Then I find that distance_left isn't everywhere yet. So what's the result? And something with the camera...without a camera?! Click the image to watch the video.

Arduino Mega2560 S2: Using Octave I read the analogue values from the RL circuit. But do they make any sense? How is 585 the same as 5 V on the scope? How does pulling the resistor effectuate it? Click the image to watch the video.

RaspberryPi2 & ROS: Another attempt on wiringPi: can I get the GPIO to work? On the Mac via VNC with Bash, it seems fine after an oddity. So time to change the subscriber. What will happen? Run or fail? Click the image to watch the video.
 
BeagleBoard & rollertrack: Reconstruction of the looping takes more than initially anticipated. How should the trajectory go? How large should the looping be? Some solution is found. Click the image to watch the video.


8 February Blog 309

RaspberryPi3 & PiXtend: Parts assembly for the inductors and jumpers. More tests on vnc with Android and Mac. Click the image to watch the video.

ESP32: It's time to add the microphone. Looking at the available GPIOs, I decide to use DO: Digital Output, and wire to D0. Then, the LED from D1. But then, the algorithm. It's an event-registering device. So when it's the time? Click the image to watch the video.

Hand: First: ensuring that the pitch cord can't escape the hook. Then: reconstructing the hand-pitch winch and motor. But how? Finally: how to make sure I pick the correct interface in diagnose? Click the image to watch the video.

RaspberryPi: Focussing on the MAX522 DAC again, using the pigpio library, piscope and oscillscope, I hope to get a result at the output of the DAC. Altough I do see signals on both scopes, I realize very late that the timebase is way off. Ouch. Click the image to watch the video.

Mydfir: Following the Veghel convention, I decide to use artificial light only, and do linefollowing only. When things go wrong, the data isn't consistent with the observation or code. So what needs to be done? The end is...an oops. Click the image to watch the video.

Arduin Yún: Continuing with scp, I realise that I may have to check the settings via the GUI. And find something I wasn't looking for. Then, a quick search leads me to ssh-keygen. Will it work? After upload of the changed code, the console acts odd. Why? Taking a look in Octave to adjust last time's issue with some graphs, I have to change a name. Click the image to watch the video.

Discovery: At the Veghel convention (video, photos) the robot showed very normal behaviour. But: I did manual guide the AC-cable by lack of a charged battery. Time to recheck its behaviour: will it go crazy of stay normal? Click the image to watch the video.


1 February Blog 308

RaspberryPi3 & PiXtend: New discoveries for ppl, VNC for iPad and some parts assembly which doesn't go easy. Click the image to watch the video.

ESP32: Focus is on wiring: the 7segment dispplay and the buzzer. A closer look reveals a mistake for the display, which is quickly corrected. Then: the buzzer signal is weird, the wiring is fine. So what's up? Also the motor doesn't cooperate, again. What's next? A mic or other sensor? Click the image to watch the video.

Hand: Time to put the hand-pitch motor under an angle and hook up to the 2nd interface. As expected this takes a lot of wire. But the serial number could be an issue. The interface wasn't detected by ROBOPro, so I couldn't set it. Will the standard "1" work? Then also, the wrist pivot get a much needed re-reconstruction. Finally, gEDA has to be edited. Click the image to watch the video.

RaspberryPi: Continuing with pigpio/piscope, I play with the loop count and the sleeping time. Checking if the LED is fine (it is!), I put a resistor between output and LED. Then put probe 4 on the output and find it works (sort of.) So what's wrong then? Click the image to watch the video.

Mirft2: An attempt to repeat last time's result, I realize I've made a thinking mistake: the objects should be elevated as well. And the camera needs a modification. In the end, more modelling with  Blender3d. Click the image to watch the video.

Mydfir: More testing with linefollowing and detecting objects: what goes wrong this time? I decide to modify the new object: increase the weight. When that seemingly doesn't help. I add something else. But why does colour get sensed again when there's just white!? Sigh. Click the image to watch the video.

Arduino Yún: After the introduction, I try to get scp working and after a code correction and again some data acquistion, I face a few oopses. Also, a possible mistake in the Octave graphs. An unexpected result is noticed in the data console, but how? From what? Click the image to watch the video.

Discovery: Continuing with the calculation of the distance by putting the code into more IFs. Meanwhile, ROBOPro and the datalog show something with the battery....which is supposed to be freshly charged. Oops. Click the image to watch the video.

Arduino Mega2560 S2: Running the algorithm, I find that the green LED burns, and keeps burning. This points to a bug. Then: what the difference between the RL circuit backlash the voltage measured? New reading could give answers, but do they? Click the image to watch the video.

BeagleBoard & rollertrack: First focus is on the monitor: how is the view now. Then: the motors & switches, probed on the oscilloscope. WIll it finally work? Last: the looping. It's not good, but how to take care of it? Reconstruction is needed. Click the image to watch the video.


25 January
Blog 307

RaspberyyPi3 & PiXtend: Assembly of (a LOT of) resistors, some LEDs, a few relais and something else. Way too boring to watch, and soldering shows to be a little nightmare. Then on with the RPi itself: despite settings, vnc doesn't just start. And where' are the libraries and tools?  Click the image to watch the video.

ESP32: Now the 7segment works via function, it's easy to add digits 4 - 6, but something goes odd at 6. And why does the buzzer sound at odd moments? Probably bad wiring, but the oscilloscope reveals another issue as well. Click the image to watch the video.

Hand: I need to correct the wrist-switch and base-pivot. But after the base-pivot, I turn to the hand-pitch: the motor needs to be in-balance: making a perpendicular angle with the axle. But how to do that? Also, can the motor speed be slower than 1? Click the image to watch the video.

RaspberryPi: A new attempt to get the MAX522 working, I try spidev with the expected outcome. Further searching brings me back to the pigpio library, running piscope. It also shows effect on the oscilloscope, but will it work on the LED? Click the image to watch the video.

Mirft2: Continuing from last time with the improved red detection, I find the new image not as good. Trying other distances to the objects gives some different results. But how to do it w/out ImageMagick? More modelling with Blender3D. Click the image to watch the video.

Mydfir: Focus again on detection by sonar. After more robot-object collisions, I find a mistake in the algorithm. How does it get there?! Then I decide to make another object to delete any possible reflections of the sonar. But will it help? Click the image to watch the video.

Arduino Yún: After a bit lengthy intro & recap, trying to increase the size of the graphs, I end up changing the graph setup. Then in C, can I determine filesize and copy to laptop, without too much hassle? Click the image to watch the video.

Discovery: Focus si again on the distance value: adapting if-condition for 30-35 cm. Bit the datalog shows it's not ok at all. So what's the problem? Click the image to watch the video.

Arduino Mega2560 S2: Reading the input goes wrong, but why? Adding a wire for voltage reading shows I have to rename variables. Some rewiring needed and what's the result? Click the image to watch the video.

RaspberryPi2 & ROS: First, does the GPIO still work after the rewiring of last time? Using the Android tablet for this. Then, checking on GPIOClass, I come across a familiar alternative solution, which after some errors compiles fine. But will it actually work? Click the image to watch the video.

BeagleBoard & rollertrack: Planning to check the wormgear and the looping, things go different. The "rescue" monitor looks like **** and the wormgear has its own issues. After recording, a reboot shows that the monitor can look ok. See instagram. Click the image to watch the video.


18 January Blog 306

RaspberryPi3 & PiXtend: Starting with the downloaded construction manual (apart from startup-manual and data-sheet) I can start with actual placement..which takes hours. Then, after the c(apacitors), d(iodes) and q (for transistors), I continue with ssh and vnc and find I should replace some software. Click the image to watch the video.

ESP32: First, I try to optimize the 7segment display function, after the errors of last time. After solving this, the LDR needs a solution. An observation leads to a quick solution. Also, a reseat of the ESP32 is needed to make the servomotor work. What's next? Click the image to watch the video.

Hand: Checking on the lift on the hand, it's actually a 2nd pitch. Which needs a modification, a checkout and wiring. But how? What should the algorithm be like with what controlling hardware? Does everything work now? (spoiler: several oopses during overall testing). Click the image to watch the video.

RaspberryPi: Investigating the mystery, I first check the spi on the ADC/MCP3008. Then I go on with the spi-3wire on DAC/MAX522. After also using the Mac, while checking on wiring, a big oops happens. Why? How? A final test shows what? Click the image to watch the video.

Mirft2: Starting with the HSV array, I try with several values for H,S and V to get rid of yellow. At the same time, watching the # of cycles..which make much sense. Finishing again with Blender3D to model the robot. Click the image to watch the video.

Discovery: First checking the trajectory (a mess again), I turn to the algorithm to find that I made a mistake in variable and in algorithm. And why doesn't a if-condition apply, according to the data? Click the image to watch the video.

Arduino Mega2560 S2: Once again: how can I read the pwm that is delivered by Octave? Changing the algorithm, pressing the ft switch and finally adding some more input. Something has to work, right?     Click the image to watch the video.

RaspberryPi2 & ROS: Checking the GPIO using Bash, I find that a comparison with gEDA goes wrong. For some reason, details are missing and wrong. Wiring is wrong too. After fixing, compilation goes wrong. But it runs...how? why? Click the image to watch the video.

BeagleBoard & rollertrack: Starting with adding another angle to the trajectory, I find a problem with the wormgear. But how to solve that? Also, the chain motor should stop during the shift. Then problems set in. Oops. Click the image to watch the video.


11 January Blog 305

RaspberryPi3 & PiXtend: Introduction of the RaspberryPi3 in combination with the PiXtend: an open-source PLC that can operate together. The setup just needs some work. Also, what's with VNC? Click the image to watch the video.

ESP32: First focus is on the keypad: why doesn't it work? Can I work out the schematics? Then, the 7segment display can be optimized in the algorithm. But this gives an unexpected problem. What's with void and int? Click the image to watch the video.

Hand: Focus again on the winch: how to make this work? Will a modification to the hand work? Then the balance: how about a reinforcement of the arm-base? Then an oops with the wiring to the interface. How to solve that? Click the image to watch the video.

RaspberryPi: Trying again to get the MAX522 working using spidev, I decide to update and reboot..and try the MCP2008 DAC. What will happen? Do I need a rewire?  I'm in for a surprise (again) and some food for thought. Click the image to watch the video.

Mirft2: Trying again on OpenCV with values things go bad. Finding other values, what happens? Why? Then: modelling using Blender and close observation reveals I need to change the model. Click the image to watch the video.

Mydfir: Starting with the usual linefollowing test towards objects, I notice something odd in response and direction. Testting with diagnose, something is wrong with the sonar. But how to solve this? Click the image to watch the video.

Arduino Yún: Starting with a short overview, I continue with Octave to get the graphs correct. Then: the lamp mechatronics need improvement to hold the lamp and I find out what's wrong with the flashlight. Oops. Finally, an idea to maybe copy the data to the computer. Click the image to watch the video.

Discovery: Focus is on distance again and trying to get the trajectory straight. But I find that my algorithm isn't effective and contains flaws. Also: what's with ROBOPro again? Click the image to watch the video.

Arduino Mega2560 S2: Focussing on input again, I change the algorithm bit by bit and find out that 0 isn't 0? Time for a switch replacement, but will it make a difference? Another analysis and an small mistake in the schematics. Click the image to watch the video.

RaspberryPi2 & ROS: Starting with another test on GPIO, this time on the Mac. Then, trying to find a solution for the GPIOClass. Finally, back to Mac and GPIO with a camera. Click the image to watch the video.

BeagleBoard & rollertrack: First, checking the switches using Python, since it can't be done properly with the diagnose tool. Then more reconstruction to give the balls more speed for the looping. But will it work out? Click the image to watch the video.


4 January (Playlist) Blog 304

ESP32: First focus: keypad. Does it help to change the algorithm? Then: why do the LCD, motor and LDR not work? Some rewiring leads to an unexpected solution for most. But the keypad still gives some questions. Click the image to watch the video.

Hand: After a short overview: how can the hand be lifted? This simple question starts a new analysis with parts missing and a looming reconstruction of the lower arm. But something has to be done. Click the image to watch the video.

RaspberryPi: For the MAX522 DAC, back to trying Python via the shell, using Mac as well. Is there any logic in what happens? Will some rewiring bring a solution? The live+4 seconds videostream is nice, but a bit ....  Click the image to watch the video.

Mirft2: Focus starts on connecting: will it go fine this time? Then, OpenCV and HSV: what's up with the number of pixels. What about Gimp? Finally, further with modelling in Blender3D and finding some points to improve. Click the image to watch the video.

Arduino Yún: Focus is on the attempt to get data visible from the phototransistor. So new data acquisition, making sure all 100x''s are there. Next: Octave..careful observation reveals a viewing mistake which leads to change in the algorithm. Click the image to watch the video.

Arduino Mega2560 S2: Testing the input from the button, takes some code changes but will it solve the mystery? Then, to signal the next loop of the algorithm, I add another LED and another code bit. Click the image to watch the video.

RaspberryPi2 & ROS: For the GPIOClass.h, I realize this must be a linker issue, so this must be solved in the settings. But how and where? Then, with the Mac, another attempt with Bash for the GPIO with surprising results. Click the image to watch the video.

BeagleBoard & rollertrack: Instead of timing, 2 switches should be added to the wormgear and tthe algorithm changed. Does it work? Diagnose says yes. Then the track needs an adaption which requires a reconstruction. Click the image to watch the video.