Bom dia, boa tarde, boa noite povo e pova…
Estou montando um código na IDE do Arduino para fazer o controle de um quadricóptero, este código irá se comunicar com um programa em C#. A ideia é gerar uma saída alfanumérica: A000B000C000D000 até A255B255C255D255.
Ao testar o código abaixo me aparece em tela (ACHO que é) lixo de memória.
/*
Código criado por: Guilherme Stanke Scandelari
2015/01Projeto Quad SS01
*/const int potMA = A0;
const int potMB = A1;
const int potMC = A2;
const int potMD = A3;int valMA;
int valMB;
int valMC;
int valMD;String A[3], B[3], C[3], D[3];
void setup()
{
valMA = valMB = valMC = valMD = 0;
Serial.begin(115200);
Serial.println("--------------------------------------");
Serial.println("-- Iniciando Quad SS01 --");
Serial.println("--------------------------------------");
//delay(10000);
Serial.println("-- Sistema inicializado com sucesso --");
Serial.println("--------------------------------------");
Serial.flush();
}void leitura_pot()
{
valMA = analogRead(potMA) / 4,0156;
valMB = analogRead(potMB) / 4,0156;
valMC = analogRead(potMC) / 4,0156;
valMD = analogRead(potMD) / 4,0156;
codA(valMA);
codB(valMB);
codC(valMC);
codD(valMD);
delay(2);
}void codA(int MA)
{
if(MA <= 9)
{
A[0] = “0”;
A[1] = “0”;
A[2] = String(MA);
}
else if (MA > 9 && MA <= 99)
{
String axMA = {
String(MA) };
A[0] = “0”;
A[1] = axMA[0];
A[2] = axMA[1];
}
else if (MA > 99 && MA <= 255)
{
String axMA = {
String(MA) };
A[0] = axMA[0];
A[1] = axMA[1];
A[2] = axMA[2];
}
}void codB(int MB)
{
if(MB <= 9)
{
B[0] = “0”;
B[1] = “0”;
B[2] = String(MB);
}
else if (MB > 9 && MB <= 99)
{
String axMB = {
String(MB) };
B[0] = “0”;
B[1] = axMB[0];
B[2] = axMB[1];
}
else if (MB > 99 && MB <= 255)
{
String axMB = {
String(MB) };
B[0] = axMB[0];
B[1] = axMB[1];
B[2] = axMB[2];
}}
void codC(int MC)
{
if(MC <= 9)
{
C[0] = “0”;
C[1] = “0”;
C[2] = String(MC);
}
else if (MC > 9 && MC <= 99)
{
String axMC = {
String(MC) };
C[0] = “0”;
C[1] = axMC[0];
C[2] = axMC[1];
}
else if (MC > 99 && MC <= 255)
{
String axMC = {
String(MC) };
C[0] = axMC[0];
C[1] = axMC[1];
C[2] = axMC[2];
}
}void codD(int MD)
{
if(MD <= 9)
{
D[0] = “0”;
D[1] = “0”;
D[2] = String(MD);
}
else if (MD > 9 && MD <= 99)
{
String axMD = {
String(MD) };
D[0] = “0”;
D[1] = axMD[0];
D[2] = axMD[1];
}
else if (MD > 99 && MD <= 255)
{
String axMD = {
String(MD) };
D[0] = axMD[0];
D[1] = axMD[1];
D[2] = axMD[2];
}}
void loop()
{leitura_pot();
delay(10);
for(int letra = 0; letra < 4; letra++)
{
if(letra == 0 ){
Serial.print(“A”);
for(int index = 0; index <3; index++){
Serial.print(A[index]);
}
}
else if(letra == 1 ){
Serial.print(“B”);
for(int index = 0; index <3; index++){
Serial.print(B[index]);
}
}
else if(letra == 2 ){
Serial.print(“C”);
for(int index = 0; index <3; index++){
Serial.print(C[index]);
}
}
else if(letra == 3 ){Serial.print(“D”);
for(int index = 0; index <3; index++){
Serial.print(D[index]);
}
}}
Serial.println();
delay(10);}
Bem… se algum puder me dar uma dica do que pode ser ou o que fazer neste caso, ficarei grato.
Atenciosamente,
Guilherme S. Scandelari