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