I have one rule I try to follow every day: my code shall be warning free. Writing software for multiple compilers gets challenging with this rule, but it avoids the ‘not seeing the forest because of the trees’ problem. This rule extends to writing Processor Expert components with CDE (Component Development Environment). What I have missed (and not used) is a useful option to enable debug output:
Bit-Banging I2C with ResetBus() Functionality
The good thing with the internet is: it allows engineers to collaborate. And here is an example: Marc is a reader of this blog had a problem with the I2C hardware of a Freescale Kinetis ARM microcontroller. In his case, the I2C bus could be stuck, and there seems no way to reset it with the I2C hardware on the microcontroller. So a solution would be to reset it with software instead.
Sumo Robots, one Week until Tournament
There is one week left until all the Sumo robots of the Infotronic course at the Lucerne University of Applied Sciences and Arts will enter a tournament. The robots have to pass a simple tests before they can enter the tournament: to push a ‘dummy’ robot outside the ring. This simple test is used at tournaments to avoid ‘passive’ robots just sitting in the middle of the ring ;-).
Thanks for 1’001’107 Views!
I admit: It would be somewhat disappointing to write articles, only to realize that nobody reads it. WordPress is my favorite blogging platform as I get detailed statistical data who in the world is reading MCUonEclipse:
Sumo Robots, Sensors and everything else….
The semester is approaching its end, and students are making great progress: with added infrared and ultrasonic sensors, the robots are able to detect the other robot (more or less 😉 ). Additionally the RNet stack adds extra remote control capabilities.
Things are very much in the testing phase, and some robot (or operator?) failures are really funny 🙂 For sure much more advanced moves compared to previous week. Including extra benefits like a robot bringing a bottle of water! The following video hopefully gives an impression:
Happy Roboting 🙂
Kinetis Unique Identification Register
For my RNet stack I need a way to identify nodes in the network using a unique address. What I need is Media-Access (MAC) address. Base on such a unique address I can assign short addresses (e.g. with a DHCP or similar protocol to automatically assign shorter network addresses). So how to uniquely identify my network nodes?
The Freescale Kinetis microcontroller have nice feature: they have a Unique Identification Register (UID) which would be a perfect fit for a MAC address :-).
Compare External Files in Eclipse
Eclipse is very workspace centric: it only knows and deals with files in the workspace. So it is easy to compare and merge files present in the workspace: I select both files/folders and compare them with each other:
But what if the files and folders are NOT in the workspace?
Sumo Robot with Accelerometer Remote Controller
Usually, there are two flavors of Sumo robot competition:
- Autonomous: no communication to the robot permitted after the start.
- Remote-controlled: there is a wireless remote controller driving the robot.
Just for fun, I have implemented a wireless remote controller application for my Zumo Robot using the Freescale SRB (MC13123) board. I’m using the Freescale MMA7260Q accelerometer on the SRB board to control the robot.
IEEE802.15.4 for the Zumo Robot
For the INTRO Zumo robot I have three wireless options: Bluetooth, nRF24L01+ and IEEE802.15.4 with the Freescale MC1320x transceiver. For the nRF24L01+ I have developed a simple radio network stack which I can use with the MC1320x transceiver too.
Sumo Robot Battle Tips
The INTRO course is progressing fast, with a lot of information passed on how to build a successful mini Sumo robot based on the Freescale FRDM-KL25Z and a modified Pololu Zumo chassis. The PID control loop implementation for speed and position finally starts to work properly with the help of FreeMaster. Things are not perfect yet, but the robots get better from day-to-day.









