Monday, April 13, 2015

Sistema / system

He Integrado todos los componentes en un simple circuito electrónico. La mente del sistema es un Arduino micro el cual ejecuta un programa asociando el señal del sonar con un archivo de audio (WAV) guardado en la microSD. El resultado es un señal de audio monofónica que corresponde directamente con la distancia detectada por el sonar. En esta prueba la resolución es de 10cms en una rango de un metro (10 diferentes señales de audio).

-------

I have integrated all components in a simple electric circuit. The mind of the system is an Arduino mini pro which ejecutes a program to associate the sonar signal with an audio file (WAV) stored in the microSD. The result is a monophonic audio signal which corresponds directly with the distance detected by the sonar. In this probe the resolution is the 10cms in the range of 100cms (10 different audio output).


Untitled
Untitled















CÓDIGO / CODE

#include <SdFat.h>
SdFat sd;
#include "Maxbotix.h"

#define SD_ChipSelectPin 10  
#include <TMRpcm.h>         
#include <SPI.h>

int data;
//char track = "track4.wav"; 

TMRpcm audio;  
Maxbotix rangeSensorAD(A0, Maxbotix::AN, Maxbotix::LV, Maxbotix::BEST,9);

void setup(){

  audio.speakerPin = 9; 
  pinMode(10,OUTPUT); 
  
  Serial.begin(9600);
  
  if (!sd.begin(10, SPI_HALF_SPEED)) {Serial.println("Something wrong"); return; 
  }else{ Serial.println("SD OK"); }
  
  pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
digitalWrite(A1, 1);
digitalWrite(A2, 0); 
}

void loop(){   
data=rangeSensorAD.getRange(); 
//audio.play("track4.wav",random(0,20)); delay(1000);
Serial.println(data);

 //1m 
 if(data<=13){
 audio.play("track.wav",1);delay(1000); audio.pause();
 }
 if(data>14&&data<20){
 audio.play("track.wav",2);delay(1000); audio.pause();
 }
  if(data>21&&data<30){
 audio.play("track.wav",3);delay(1000); audio.pause();
 }
 if(data>31&&data<40){
 audio.play("track.wav",4);delay(1000); audio.pause();
 }
 if(data>41&&data<50){
 audio.play("track.wav",5);delay(1000); audio.pause();
 }
  if(data>51&&data<60){
 audio.play("track.wav",6);delay(1000); audio.pause();
 }
  if(data>61&&data<70){
 audio.play("track.wav",7);delay(1000); audio.pause();
 }
  if(data>71&&data<80){
 audio.play("track.wav",8);delay(1000); audio.pause();
 }
  if(data>81&&data<90){
 audio.play("track.wav",9);delay(1000); audio.pause();
 }
if(data>91&&data<100){
 audio.play("track.wav",10);delay(1000); audio.pause();
 }
}

No comments:

Post a Comment