Contrôle de bras robotique, 2013/2014, TD2, Code Source Arduino Mega

De Wiki de Projets IMA

Voici le code source utilisé par l'Arduino pour la réception des informations des capteurs du bras robotique.

/*
	File:		AnalogReadToSerialUSB
	Author:		Pierre Letousey, Jean Wasilewski
	Creation:	10/04/2014
*/

// Define
#define	MAX_MEASURE	10

// Initialization
void setup()
{
  Serial.begin(115200);
}

// Main
void loop()
{
	// Raw inputs
	int AccBras = analogRead(A7);
	int AccAvBras = analogRead(A6);
	int AccPoignet = analogRead(A5);
	int PresA = analogRead(A3);
	int PresB = analogRead(A2);
	int PresP = analogRead(A0);
	int PresC = analogRead(A1);
	int Potard = analogRead(A4);

	// Clean outputs
	int AccBrasmoy=0;
	int AccAvBrasmoy=0;
	int AccPoignetmoy=0;
	int Potardmoy=0;
  
	// Averaging on MAX_MEASURE measure
	for (int i=0; i<MAX_MEASURE; i++)
	{
		AccBrasmoy+=AccBras;
		AccAvBrasmoy+=AccAvBras;
		AccPoignetmoy+=AccPoignet;
		Potardmoy+=Potard;
	}

	AccBrasmoy=AccBrasmoy/MAX_MEASURE;
	AccAvBrasmoy=AccAvBrasmoy/MAX_MEASURE;
	AccPoignetmoy=AccPoignetmoy/MAX_MEASURE;
	Potardmoy=Potardmoy/MAX_MEASURE;

	// print out the values you read:
	Serial.print(AccAvBrasmoy);
	Serial.print("-");
	Serial.print(AccBrasmoy);
	Serial.print("-");
	Serial.print(AccPoignetmoy);
	Serial.print("-");
	Serial.print(PresA);
	Serial.print("-");
	Serial.print(PresB);
	Serial.print("-");
	Serial.print(PresP);
	Serial.print("-");
	Serial.print(PresC);
	Serial.print("-");
	Serial.println(Potardmoy);

	// Waiting before sending next values
	delay(50);
}