Now that we know for sure what our MAESTROSEs will be made of, we have taken two parallel paths: on one hand, we have begun porting our code from the STM32F103 toward the STM32F405, to make sure that as soon as we receive our PCBs we will be able to switch smoothly, while on the other hand we have been sharpening our tools by coding for the F103. Due to some coding problems we are trying to fix, we don’t know for sure yet whether we can rely on our XBEE for positioning. This is why we plan on using our speakers and microphones instead (maybe as an auxiliary system) in order for our MAESTROSEs to locate each other : they can talk so why not say something useful? We plan on synchronizing them then having them play some frequencies at a given time. Thus, we could measure the amount of time before the signal is received and deduce the distance between each other. The main problem I see with this is that given the special speakers we use (surface transducers), we might have surprises concerning the speed of sound (depending on the surface we put them on, this might lead to some unexpected values).
In the meantime we have begun writing our main program. We plan on beginning with a first sequence in order to acknowledge the other MEASTROSEs already present (so that they identify each other). Then, some special datas (or frequencies according to the system we will finally decide to use) will enable each one of them to locate the others. Through that, then can decide for example after what delay they will play sounds coming from each speaker.
And then, each MAESTROSE would wait for a signal (or a sound, according to what mode we chose : playing music from a SD card or live sounds) that it would automatically retransmit after the delay defined earlier (with the exceptions of those we could activate manually with a zigbee signal or a switch to actually emit sounds and music).
Possibly related posts: