update firmwares to send info to controlling computer

This commit is contained in:
Persephone Bubblegum-Holidy 2025-05-05 19:08:45 -07:00
parent 2f6d3b7b5b
commit 7ee8214615
6 changed files with 84 additions and 113 deletions

View file

@ -1,9 +1,10 @@
// PINKCONNECTION2 Client Program for Valve Systems // PINKCONNECTION2 Client Program for 8 Valve Systems
int byte1 = 0; int byte1 = 0;
int byte2 = 0; int byte2 = 0;
void setup() { void setup()
{
pinMode(2, OUTPUT); pinMode(2, OUTPUT);
pinMode(3, OUTPUT); pinMode(3, OUTPUT);
pinMode(4, OUTPUT); pinMode(4, OUTPUT);
@ -13,13 +14,18 @@ void setup() {
pinMode(8, OUTPUT); pinMode(8, OUTPUT);
pinMode(9, OUTPUT); pinMode(9, OUTPUT);
Serial.begin(9600); Serial.begin(9600);
Serial.write("PC2,8,Universal");
} }
void loop() { void loop()
if (Serial.available() > 1) { {
if (Serial.available() > 1)
{
byte1 = Serial.read(); byte1 = Serial.read();
byte2 = Serial.read(); byte2 = Serial.read();
if ((byte1 & 64) && (byte2 & 64)) {
if ((byte1 & 64) && (byte2 & 64))
{
if (byte1 & 1) digitalWrite(2, 1); if (byte1 & 1) digitalWrite(2, 1);
else digitalWrite(2, 0); else digitalWrite(2, 0);

View file

@ -1,104 +0,0 @@
// PINKCONNECTION2 Client Program for Helen Henny/Chuck E./Guest Star Cyberamic Servo
#include <Servo.h>
#include <string.h>
Servo servoChannel[8];
byte onDegrees[8] = { 90, 0, 0, 0, 45, 135, 0, 0 }; // these are incomplete, i need to tune them when i get the servos in
byte offDegrees[8] = { 0, 0, 0, 0, 90, 90, 0, 0 };
int byte1 = 0;
int byte2 = 0;
void setup() {
servoChannel[0].attach(2);
servoChannel[1].attach(3);
servoChannel[2].attach(4);
servoChannel[3].attach(5);
servoChannel[4].attach(6);
servoChannel[5].attach(7);
servoChannel[6].attach(8);
servoChannel[7].attach(9);
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
pinMode(A4, OUTPUT);
pinMode(A5, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
for (int i = 0; i < 8; i++) servoChannel[i].write(offDegrees[i]);
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 1) {
byte1 = Serial.read();
byte2 = Serial.read();
if ((byte1 & 64) && (byte2 & 64))
if (byte1 & 1) {
servoChannel[0].write(onDegrees[0]);
digitalWrite(A0, 1);
} else {
servoChannel[0].write(offDegrees[0]);
digitalWrite(A0, 0);
}
if (byte1 & 2) {
servoChannel[1].write(onDegrees[1]);
digitalWrite(A1, 1);
} else {
servoChannel[1].write(offDegrees[1]);
digitalWrite(A1, 0);
}
if (byte1 & 4) {
servoChannel[2].write(onDegrees[2]);
digitalWrite(A2, 1);
} else {
servoChannel[2].write(offDegrees[2]);
digitalWrite(A2, 0);
}
if (byte1 & 8) {
servoChannel[2].write(onDegrees[3]);
digitalWrite(A3, 1);
} else {
//servoChannel[2].write(offDegrees[3]); dont
digitalWrite(A3, 0);
}
if (byte2 & 1) {
servoChannel[4].write(onDegrees[4]);
digitalWrite(A4, 1);
} else {
servoChannel[4].write(offDegrees[4]);
digitalWrite(A4, 0);
}
if (byte2 & 2) {
servoChannel[4].write(onDegrees[5]);
digitalWrite(A5, 1);
} else {
//servoChannel[4].write(offDegrees[5]); dont
digitalWrite(A5, 0);
}
if (byte2 & 4) {
servoChannel[6].write(onDegrees[6]);
digitalWrite(10, 1);
} else {
servoChannel[6].write(offDegrees[6]);
digitalWrite(10, 0);
}
if (byte2 & 8) {
servoChannel[7].write(onDegrees[7]);
digitalWrite(11, 1);
} else {
servoChannel[7].write(offDegrees[7]);
digitalWrite(11, 0);
}
}
}

View file

@ -0,0 +1,61 @@
// PINKCONNECTION2 Client Program for Helen Henny/Chuck E./Guest Star Cyberamic Servo
#include <Servo.h>
Servo servoChannel[6];
byte onDegrees[8] = { 90, 0, 0, 0, 45, 135, 0, 0 }; // these are incomplete
byte offDegrees[8] = { 0 , 0, 0, 0, 90, 90 , 0, 0 };
byte mapping[8] = { 0 , 1, 1, 2, 3 , 3 , 4, 5 };
int byte1 = 0;
int byte2 = 0;
void setup()
{
servoChannel[0].attach(2);
servoChannel[1].attach(3);
servoChannel[2].attach(4);
servoChannel[3].attach(5);
servoChannel[4].attach(6);
servoChannel[5].attach(7);
for (int i = 0; i < 8; i++) servoChannel[mapping[i]].write(offDegrees[i]);
Serial.begin(9600);
Serial.write("PC2,8,Helen/Guest Star");
}
void loop()
{
if (Serial.available() > 1)
{
byte1 = Serial.read();
byte2 = Serial.read();
if ((byte1 & 64) && (byte2 & 64))
{
if (byte1 & 1) servoChannel[mapping[0]].write(onDegrees[0]);
else servoChannel[mapping[0]].write(offDegrees[0]);
if (byte1 & 2) servoChannel[mapping[1]].write(onDegrees[1]);
else servoChannel[mapping[1]].write(offDegrees[1]);
if (byte1 & 4) servoChannel[mapping[2]].write(onDegrees[2]);
else servoChannel[mapping[2]].write(offDegrees[2]);
if (byte1 & 8) servoChannel[mapping[3]].write(onDegrees[3]);
else servoChannel[mapping[3]].write(offDegrees[3]);
if (byte2 & 1) servoChannel[mapping[4]].write(onDegrees[4]);
else servoChannel[mapping[4]].write(offDegrees[4]);
if (byte2 & 2) servoChannel[mapping[5]].write(onDegrees[5]);
else servoChannel[mapping[5]].write(offDegrees[5]);
if (byte2 & 4) servoChannel[mapping[6]].write(onDegrees[6]);
else servoChannel[mapping[6]].write(offDegrees[6]);
if (byte2 & 8) servoChannel[mapping[7]].write(onDegrees[7]);
else servoChannel[mapping[7]].write(offDegrees[7]);
}
}
}

View file

@ -1,7 +1,6 @@
// PINKCONNECTION2 Client Program for Helen Henny/Mitzi Mozzarella Servo // PINKCONNECTION2 Client Program for Helen Henny/Mitzi Mozzarella Servo
#include <Servo.h> #include <Servo.h>
#include <string.h>
Servo servoChannel[11]; // mouth earL earR eyelidL eyelidR eyeL eyeR headR headL headUp armUpL armUpR elbowR elbowL armTwistL armTwistR bodyTwistR bodyTwistL bodyLean Servo servoChannel[11]; // mouth earL earR eyelidL eyelidR eyeL eyeR headR headL headUp armUpL armUpR elbowR elbowL armTwistL armTwistR bodyTwistR bodyTwistL bodyLean
byte onDegrees[19] = { 45, 0, 0, 0, 0, 0, 0, 45, 135, 135, 90, 90, 90, 90, 90, 90, 0, 0, 0 }; byte onDegrees[19] = { 45, 0, 0, 0, 0, 0, 0, 45, 135, 135, 90, 90, 90, 90, 90, 90, 0, 0, 0 };
@ -13,8 +12,12 @@ int byte2 = 0;
int byte3 = 0; int byte3 = 0;
int byte4 = 0; int byte4 = 0;
int byte5 = 0; int byte5 = 0;
int byte6 = 0;
int byte7 = 0;
int byte8 = 0;
void setup() { void setup()
{
servoChannel[0].attach(2); servoChannel[0].attach(2);
servoChannel[1].attach(3); servoChannel[1].attach(3);
servoChannel[2].attach(4); servoChannel[2].attach(4);
@ -26,15 +29,20 @@ void setup() {
servoChannel[8].attach(10); servoChannel[8].attach(10);
for (int i = 0; i < 19; i++) servoChannel[mapping[i]].write(offDegrees[i]); for (int i = 0; i < 19; i++) servoChannel[mapping[i]].write(offDegrees[i]);
Serial.begin(9600); Serial.begin(9600);
Serial.write("PC2,32,Mitzi/Helen");
} }
void loop() { void loop() {
if (Serial.available() > 4) { if (Serial.available() > 7)
{
byte1 = Serial.read(); byte1 = Serial.read();
byte2 = Serial.read(); byte2 = Serial.read();
byte3 = Serial.read(); byte3 = Serial.read();
byte4 = Serial.read(); byte4 = Serial.read();
byte5 = Serial.read(); byte5 = Serial.read();
byte6 = Serial.read();
byte7 = Serial.read();
byte8 = Serial.read();
if ((byte1 & 64) && (byte2 & 64) && (byte3 & 64) && (byte4 & 64) && (byte5 & 64)) if ((byte1 & 64) && (byte2 & 64) && (byte3 & 64) && (byte4 & 64) && (byte5 & 64))
{ {

View file

@ -14,4 +14,4 @@
## Firmwares ## Firmwares
- Send controlling computer information about the number of outputs and which character it is set up for - ~~Send controlling computer information about the number of outputs and which character it is set up for~~ Done!