Hi,
I want to read analog sensor using arduino mega adk and with Visual Studio C++
but the result is not correct, look like in the attachment:
sensor 0:023
1
sensor1:023
1
sensor2:023
9
sensor3:21
etc
my arduino program is:
void setup() {
 // initialize serial communications at 9600 bps:
 Serial.begin(9600);
}
void loop() {
 char request[1];
 if(Serial.available()){
  request[0]=Serial.read();
  Serial.print(analogRead(atoi(request)));
  Serial.print("\n\r");
 };
 delay(2);         Â
}
and my vc++ program is:
#include <windows.h>
#include "stdafx.h"
#include "SerialClass.h"
char buffer[20];
char buf0[1000], buf1[1000], buf2[1000], buf3[1000],buf4[1000], buf5[1000],buf6[1000], buf7[1000], buf8[1000], buf9[1000],buf10[1000], buf11[1000],buf12[1000], buf13[1000],buf14[1000], buf15[1000];
int _tmain(int argc, _TCHAR* argv[])
{
 Serial oSerial("COM5:");//arduino uno com 6
Â
 while(1){
sprintf_s(buffer,"0");Â Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf0,6);
printf("Sensor 0: %s \n",buf0);
Sleep(100);
 sprintf_s(buffer,"1"); Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf1,6);
printf("Sensor 1: %s\n",buf1);
Sleep(100);
sprintf_s(buffer,"2");Â Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf2,6);
printf("Sensor 2: %s \n",buf2);
Sleep(100);
 sprintf_s(buffer,"3"); Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf3,6);
printf("Sensor 3: %s\n",buf3);
Sleep(100);
 sprintf_s(buffer,"4"); Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf4,6);
printf("Sensor 4: %s \n",buf4);
Sleep(100);
 sprintf_s(buffer,"5"); Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf5,6);
printf("Sensor 5: %s\n",buf5);
Sleep(100);
sprintf_s(buffer,"6");Â Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf6,6);
printf("Sensor 6: %s \n",buf6);
Sleep(100);
 sprintf_s(buffer,"7"); Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf7,6);
printf("Sensor 7: %s\n",buf7);
Sleep(100);
Â
  sprintf_s(buffer,"8"); Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf8,6);
printf("Sensor 8: %s \n",buf8);
Sleep(100);
 sprintf_s(buffer,"9"); Â
  oSerial.WriteData(buffer,1);
Sleep(100);
oSerial.ReadData(buf9,6);
printf("Sensor 9: %s\n",buf9);
Sleep(100);
sprintf_s(buffer,"10");Â Â
  oSerial.WriteData(buffer,2);
Sleep(100);
oSerial.ReadData(buf10,6);
printf("Sensor 10: %s \n",buf10);
Sleep(100);
 sprintf_s(buffer,"11"); Â
  oSerial.WriteData(buffer,2);
Sleep(100);
oSerial.ReadData(buf11,6);
printf("Sensor 11: %s\n",buf11);
Sleep(100);
 sprintf_s(buffer,"12"); Â
  oSerial.WriteData(buffer,2);
Sleep(100);
oSerial.ReadData(buf12,6);
printf("Sensor 12 %s \n",buf12);
Sleep(100);
 sprintf_s(buffer,"13"); Â
  oSerial.WriteData(buffer,2);
Sleep(100);
oSerial.ReadData(buf13,6);
printf("Sensor 13: %s\n",buf13);
Sleep(100);
sprintf_s(buffer,"14");Â Â
  oSerial.WriteData(buffer,2);
Sleep(100);
oSerial.ReadData(buf14,6);
printf("Sensor 14: %s \n",buf14);
Sleep(100);
 sprintf_s(buffer,"15"); Â
  oSerial.WriteData(buffer,2);
Sleep(100);
oSerial.ReadData(buf15,6);
printf("Sensor 15: %s\n",buf15);
Sleep(100);Â Â
 }
}