Dateien hochladen nach „“

This commit is contained in:
Tobias Baumann 2022-06-28 09:28:32 +00:00
parent b3c86de5ee
commit b11fe766ac
2 changed files with 147 additions and 160 deletions

View File

@ -1,3 +1,3 @@
# TactiloControllerPanda # TactiloControllerPanda
Dieses Programm fuer den, auf dem Lattepanda integrierten Arduino Leonardo, empfaengt Daten von der Korrespondierenden OpenViBE Box ueber eine serielle Schnittstelle. <br /> Dieses Programm empfaengt Daten von der Korrespondierenden OpenViBE Box ueber eine serielle Schnittstelle. <br />
Auf Basis der erhaltenen Daten, werden die sechs bis zehn Tactilos des Taktilen Brain Computer Interface angesteuert. Das Timing wird dabei komplett von OpenViBE uebernommen. Auf Basis der erhaltenen Daten, werden die bis zu zehn Tactilos des Taktilen Brain Computer Interface angesteuert. Das Timing wird dabei komplett von OpenViBE uebernommen.

View File

@ -1,157 +1,144 @@
///------------------------------------------------------------------------------------------------- ///-------------------------------------------------------------------------------------------------
/// ///
/// \file TactiloControllerPanda.ino /// \file TactiloControllerPanda.ino
/// \brief Controlls the Tactilos on the Leonardos GPIOs, based on the messages from OpenVibes TactiloController Box Algorithm /// \brief Controlls the Tactilos on the Leonardos GPIOs, based on the messages from OpenVibes TactiloController Box Algorithm
/// Hochladen mit der Arduino IDE /// Hochladen mit der Arduino IDE
/// \author Tobias Baumann (TH-Nürnberg). /// \author Tobias Baumann (TH-Nürnberg).
/// \version 1.0. /// \version 1.0.
/// \date Mon Mar 7 14:02:56 2022. /// \date Mon Mar 7 14:02:56 2022.
/// ///
///------------------------------------------------------------------------------------------------- ///-------------------------------------------------------------------------------------------------
//define used GPIO pins //define used GPIO pins
#define TAC1 13 //PWM #define TAC1 13 //PWM
#define TAC2 11 //PWM #define TAC2 11 //PWM
#define TAC3 10 //PWM #define TAC3 10 //PWM
#define TAC4 9 //PWM #define TAC4 9 //PWM
#define TAC5 6 //PWM #define TAC5 6 //PWM
#define TAC6 5 //PWM #define TAC6 5 //PWM
//reserve //reserve
#define TAC7 3 //PWM #define TAC7 3 //PWM
#define TAC8 2 #define TAC8 2
#define TAC9 1 #define TAC9 1
#define TAC10 0 #define TAC10 0
#define LED 13
void setup()
{
void setup() //init serial
{ Serial.begin(115200);
//init serial
Serial.begin(115200); //init GPIOs
Serial.println("...init GPIOs");
//init GPIOs set_PinMode();
Serial.println("...init GPIOs"); set_AllLow();
set_PinMode(); }
set_AllLow();
} void loop()
{
void loop() char SerialData;
{
char SerialData; if(Serial.available() > 0)
{
if(Serial.available() > 0) SerialData = Serial.read();
{ processSerialData(SerialData);
SerialData = Serial.read(); }
processSerialData(SerialData); }
}
} void set_PinMode()
{
void set_PinMode() //set all pins to OUTPUT
{ pinMode(TAC1, OUTPUT);
//set all pins to OUTPUT pinMode(TAC2, OUTPUT);
pinMode(TAC1, OUTPUT); pinMode(TAC3, OUTPUT);
pinMode(TAC2, OUTPUT); pinMode(TAC4, OUTPUT);
pinMode(TAC3, OUTPUT); pinMode(TAC5, OUTPUT);
pinMode(TAC4, OUTPUT); pinMode(TAC6, OUTPUT);
pinMode(TAC5, OUTPUT); pinMode(TAC7, OUTPUT);
pinMode(TAC6, OUTPUT); pinMode(TAC8, OUTPUT);
pinMode(TAC7, OUTPUT); pinMode(TAC9, OUTPUT);
pinMode(TAC8, OUTPUT); pinMode(TAC10, OUTPUT);
pinMode(TAC9, OUTPUT); }
pinMode(TAC10, OUTPUT);
void set_AllLow()
pinMode(LED, OUTPUT); {
} //set all pins to LOW
digitalWrite(TAC1, LOW);
void set_AllLow() digitalWrite(TAC2, LOW);
{ digitalWrite(TAC3, LOW);
//set all pins to LOW digitalWrite(TAC4, LOW);
digitalWrite(TAC1, LOW); digitalWrite(TAC5, LOW);
digitalWrite(TAC2, LOW); digitalWrite(TAC6, LOW);
digitalWrite(TAC3, LOW); digitalWrite(TAC7, LOW);
digitalWrite(TAC4, LOW); digitalWrite(TAC8, LOW);
digitalWrite(TAC5, LOW); digitalWrite(TAC9, LOW);
digitalWrite(TAC6, LOW); digitalWrite(TAC10, LOW);
digitalWrite(TAC7, LOW); }
digitalWrite(TAC8, LOW);
digitalWrite(TAC9, LOW); void processSerialData(char SerialData)
digitalWrite(TAC10, LOW); {
switch(SerialData)
digitalWrite(LED, LOW); {
} case '0':
digitalWrite(TAC1, !digitalRead(TAC1));
void processSerialData(char SerialData) //Serial.print("Tactilo 1: ");
{ //Serial.println(digitalRead(TAC1));
switch(SerialData) break;
{ case '1':
case '0': digitalWrite(TAC2, !digitalRead(TAC2));
digitalWrite(TAC1, !digitalRead(TAC1)); //Serial.print("Tactilo 2: ");
Serial.print("Tactilo 1: "); //Serial.println(digitalRead(TAC2));
Serial.println(digitalRead(TAC1)); break;
break; case '2':
case '1': digitalWrite(TAC3, !digitalRead(TAC3));
digitalWrite(TAC2, !digitalRead(TAC2)); //Serial.print("Tactilo 3: ");
Serial.print("Tactilo 2: "); //Serial.println(digitalRead(TAC3));
Serial.println(digitalRead(TAC2)); break;
break; case '3':
case '2': digitalWrite(TAC4, !digitalRead(TAC4));
digitalWrite(TAC3, !digitalRead(TAC3)); //Serial.print("Tactilo 4: ");
Serial.print("Tactilo 3: "); //Serial.println(digitalRead(TAC4));
Serial.println(digitalRead(TAC3)); break;
break; case '4':
case '3': digitalWrite(TAC5, !digitalRead(TAC5));
digitalWrite(TAC4, !digitalRead(TAC4)); //Serial.print("Tactilo 5: ");
Serial.print("Tactilo 4: "); //Serial.println(digitalRead(TAC5));
Serial.println(digitalRead(TAC4)); break;
break; case '5':
case '4': digitalWrite(TAC6, !digitalRead(TAC6));
digitalWrite(TAC5, !digitalRead(TAC5)); //Serial.print("Tactilo 6: ");
Serial.print("Tactilo 5: "); //Serial.println(digitalRead(TAC6));
Serial.println(digitalRead(TAC5)); break;
break; case '6':
case '5': digitalWrite(TAC7, !digitalRead(TAC7));
digitalWrite(TAC6, !digitalRead(TAC6)); //Serial.print("Tactilo 7: ");
Serial.print("Tactilo 6: "); //Serial.println(digitalRead(TAC7));
Serial.println(digitalRead(TAC6)); break;
break; case '7':
case '6': digitalWrite(TAC8, !digitalRead(TAC8));
digitalWrite(TAC7, !digitalRead(TAC7)); //Serial.print("Tactilo 8: ");
Serial.print("Tactilo 7: "); //Serial.println(digitalRead(TAC8));
Serial.println(digitalRead(TAC7)); break;
break; case '8':
case '7': digitalWrite(TAC9, !digitalRead(TAC9));
digitalWrite(TAC8, !digitalRead(TAC8)); //Serial.print("Tactilo 9: ");
Serial.print("Tactilo 8: "); //Serial.println(digitalRead(TAC9));
Serial.println(digitalRead(TAC8)); break;
break; case '9':
case '8': digitalWrite(TAC10, !digitalRead(TAC10));
digitalWrite(TAC9, !digitalRead(TAC9)); //Serial.print("Tactilo 10: ");
Serial.print("Tactilo 9: "); //Serial.println(digitalRead(TAC10));
Serial.println(digitalRead(TAC9)); break;
break; case 'b':
case '9': Serial.println("...Begin Tactile Session");
digitalWrite(TAC10, !digitalRead(TAC10)); break;
Serial.print("Tactilo 10: "); case 'e':
Serial.println(digitalRead(TAC10)); set_AllLow();
break; Serial.println("...End Tactile Session");
case 'b': break;
if(digitalRead(LED) == LOW) default:
{ break;
digitalWrite(LED, HIGH); }
Serial.println("...Begin Tactile Session"); }
}
break;
case 'e':
if(digitalRead(LED) == HIGH)
{
set_AllLow();
Serial.println("...End Tactile Session");
}
break;
default:
break;
}
}