Arduino DUE ADC to DAC Piezo 30 Khz-100Khz


i working on project providing echo response ultrasonic sensors. piezo facing opposite ultrasonic sensor,with foam material in between damp ultrasonic signal reflecting sensor.

event based,read piezo signal[(+) --> a0,(-) --> gnd on arduino due] , after delay(5 ms) drive same piezo through dac0 [(+)---> dac0,(-)--> gnd)

so ultrasonic sensor receives signal (30 khz-100 khz) after delay,thereby calculating distance after time of flight of 5 ms.



int in_adc0,out_dac0;  //variables adc,dac values (adc0, dac0)

void setup()
{
  //adc configuration
  adc->adc_mr |= 0x80;   // dac in free running mode.
  adc->adc_cr=2;         // starts adc conversion.
  adc->adc_cher=0x80;  // enable adc channels 0   
 analogreadresolution(12);
 analogwriteresolution(12);
  //dac configuration
  analogwrite(dac0,0);  // enables dac0
  serial.begin(9600);
}
 
void loop()
{
  //read adcs
  while((adc->adc_isr & 0x80)!=0x80);// wait adc0 conversion complete.
  in_adc0=adc->adc_cdr[7];               // read data adc0
 
     
   out_dac0=map(in_adc0,0,4095,695,3425);//4095(0.56,2.76)
  //map(x,a,b,c,d)  -->an example  ...= map(val,0,1024,0,100);
 
   delay(5);
   
  //write dacs
  dacc_set_channel_selection(dacc_interface, 0);       //select dac channel 0
  dacc_write_conversion_data(dacc_interface, out_dac0);//write on dac
  serial.println(out_dac0);
}


but unable receive same,can me out going wrong?


the problem mixing direct register access (btw don't use magic numbers), arduino specific language (analogread(), analogwrite()), , libsam/asf functions (dacc_set_channel_selection(),dacc_write_conversion_data()).

once setup done via direct registers access adc, if use analogread() there chance previous code scratched.

i suggest read sections 43 (adc controller) , 44 (dac controller) , use direct register programming.

and use code tags show code (</>)


Arduino Forum > Products > Arduino Due (Moderator: fabioc84) > Arduino DUE ADC to DAC Piezo 30 Khz-100Khz


arduino

Comments

Popular posts from this blog

Flip address is out of range arduino uno r3

Arduino Uno not uploading

Indesign and MathType fonts