A fairly simple one. I will only describe how the seek bar works, and part of how commands are recognized by arduino (arduino code). I will do another one about bluetooth another day.
I am renting at the moment but doors have no locks, so i am planning to build a system that sends me a warning whenever the doors is cracked open. I am think to use Weibo (twitter in China), and email. it will also activate the CCTV system and start recording.
The following is the diagram that roughly explains how it works.
To improve algorithm performance, one direct way is to shorten calculation time. The part that consumes the most computation power would be the trig functions.
The built-in trig functions are generally very good in terms of accuracy. But we don't need that level of precision, so we can sacrifice accuracy to achieve faster speed.
We only use SIN, COS, ACOS and ATAN in our algorithm, so this post will describe only these functions.
So firstly, why do we need kinematics? What are they? Motivation
With your robot having legs the position of those legs dictates where its feet are. Where its feet are dictate its point of balance.
As you undoubtedly know balance can be defined as the robot's centre of mass (affectionately referred to as its centre of gravity) being between its centre of pivots (i.e. the edges of where its feet contact the ground).
If the centre of mass is above the centre of pivots and between them the robot will balance (almost an unstable equilibrium, if you're an applied mathemetician).
If the centre of mass is above but outside the centre of pivots (i.e. beyond the edges of his feet) the robot will overbalance and fall. Fast.
When we are debugging and testing our circuits and codings, most of the times we reset the Arduino board and upload the new program. But the thing is everything has a finite lifetime, and by doing harmful things to the body would even reduce life quicker.
Just like smoking could kill you, repetitively uploading could kill your arduino too! I still remember I read from somewhere, and someone said an Arduino board has an average uploading limit of about 1000 times... I don't know if this is true, but if we could avoid doing something that could harm the arduino, then why not?
So here we are, I was looking for a way to test and develop new moves and gaits for my hexapod robot. But frequently uploading new codes really cost me time and risking killing the arduino, so I thought it would be nice to test it just by sending the arduino a command through USB connection (Serial communication), therefore the possibility of program uploading could be minimized. This is also useful when we use bluetooth to control arduino.