-------
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).

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