The Forum

This is my experimentation on making water switches.

However, I still have to figure out about the consistency problem of the piece. Breaking down aspect such as floor material or human conductivity. But for now it might be better to apply it for only just site-specific installation.

[code]
#include <Charliplexing.h> //Imports the library, which needs to be

byte line = 0; //Row counter
char buffer[10];
int value;

int delaytime = 100;
int slow = 2;

int sen1Pin = A4;
int sen2Pin = A5;

int waterState1 = 0;
int waterState2 = 0;

int watercalibrate = 3;

void setup()
{
LedSign::Init(); //Initializes the screen
pinMode(sen1Pin, INPUT);
pinMode(sen2Pin, INPUT);
Serial.begin(9600);
}

void loop()
{
// serial tests
Serial.print(analogRead(sen1Pin),DEC);
Serial.print(" , ");
Serial.println(analogRead(sen2Pin),DEC);
//delay(delaytime);

waterState1 = analogRead(sen1Pin);
waterState2 = analogRead(sen2Pin);

// if(waterState1 < watercalibrate && waterState2 < watercalibrate) {
// steadywave();
// }
if (waterState1 > watercalibrate){
// && waterState2 < watercalibrate
fragmentleft();
}
else if ( waterState2 > watercalibrate){
// waterState1 < watercalibrate &&
fragmentright();
}
else {
steadywave();
}
}

void DisplayBitMap(int lineint)
{
//int data[9] = {95, 247, 123, 511, 255, 1, 5, 31, 15};

//for(line = 0; line < 9; line++) {
for (byte led=0; led<14; ++led) {
if (lineint & (1<<led)) {
LedSign::Set(led, line, 1);
} else {
LedSign::Set(led, line, 0);
}
}

line++;
if(line >= 9) line = 0;
}

void steadywave(){
delay(delaytime);
DisplayBitMap(4369);
DisplayBitMap(15291);
DisplayBitMap(12014);
DisplayBitMap(1092);
DisplayBitMap(0);
DisplayBitMap(4369);
DisplayBitMap(15291);
DisplayBitMap(12014);
DisplayBitMap(1092);
delay(delaytime);
DisplayBitMap(0);
DisplayBitMap(4369);
DisplayBitMap(15291);
DisplayBitMap(12014);
DisplayBitMap(1092);
DisplayBitMap(0);
DisplayBitMap(4369);
DisplayBitMap(15291);
DisplayBitMap(12014);
delay(delaytime);
DisplayBitMap(1092);
DisplayBitMap(0);
DisplayBitMap(4369);
DisplayBitMap(15291);
DisplayBitMap(3822);
DisplayBitMap(1092);
DisplayBitMap(0);
DisplayBitMap(4369);
DisplayBitMap(15291);
delay(delaytime);
DisplayBitMap(3822);
DisplayBitMap(1092);
DisplayBitMap(0);
DisplayBitMap(4369);
DisplayBitMap(15291);
DisplayBitMap(12014);
DisplayBitMap(1092);
DisplayBitMap(0);
DisplayBitMap(4369);
delay(delaytime);
DisplayBitMap(15291);
DisplayBitMap(3822);
DisplayBitMap(1092);
DisplayBitMap(0);
DisplayBitMap(4369);
DisplayBitMap(15291);
DisplayBitMap(12014);
DisplayBitMap(1092);
DisplayBitMap(0);

}

void fragmentleft(){

delay(delaytime*slow);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(3);
DisplayBitMap(2);
delay(delaytime*slow);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(7);
DisplayBitMap(12);
DisplayBitMap(8);
delay(delaytime*slow);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(7);
DisplayBitMap(8);
DisplayBitMap(16);
DisplayBitMap(16);
delay(delaytime*slow);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(7);
DisplayBitMap(8);
DisplayBitMap(16);
DisplayBitMap(32);
DisplayBitMap(64);
DisplayBitMap(64);
delay(delaytime*slow);
DisplayBitMap(255);
DisplayBitMap(384);
DisplayBitMap(768);
DisplayBitMap(1536);
DisplayBitMap(3072);
DisplayBitMap(3072);
DisplayBitMap(3072);
DisplayBitMap(3072);
DisplayBitMap(3072);
delay(delaytime*slow);
DisplayBitMap(3840);
DisplayBitMap(7168);
DisplayBitMap(6144);
DisplayBitMap(6144);
DisplayBitMap(6144);
DisplayBitMap(6144);
DisplayBitMap(12288);
DisplayBitMap(12288);
DisplayBitMap(12288);

}
void fragmentright(){
delay(delaytime*slow);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(8192);
DisplayBitMap(4096);
delay(delaytime*slow);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(12288);
DisplayBitMap(2048);
DisplayBitMap(2048);
delay(delaytime*slow);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(12288);
DisplayBitMap(2048);
DisplayBitMap(1024);
DisplayBitMap(1024);
delay(delaytime*slow);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(0);
DisplayBitMap(14336);
DisplayBitMap(1024);
DisplayBitMap(512);
DisplayBitMap(256);
DisplayBitMap(256);
DisplayBitMap(256);
delay(delaytime*slow);
DisplayBitMap(12288);
DisplayBitMap(3072);
DisplayBitMap(1536);
DisplayBitMap(768);
DisplayBitMap(384);
DisplayBitMap(128);
DisplayBitMap(128);
DisplayBitMap(128);
DisplayBitMap(128);
delay(delaytime*slow);
DisplayBitMap(384);
DisplayBitMap(64);
DisplayBitMap(96);
DisplayBitMap(32);
DisplayBitMap(48);
DisplayBitMap(48);
DisplayBitMap(48);
DisplayBitMap(48);
DisplayBitMap(96);
delay(delaytime*slow);
DisplayBitMap(14);
DisplayBitMap(7);
DisplayBitMap(3);
DisplayBitMap(3);
DisplayBitMap(3);
DisplayBitMap(3);
DisplayBitMap(3);
DisplayBitMap(7);
DisplayBitMap(6);
}
[/code]

Leave a Reply

Discover more from Making Toys

Subscribe now to keep reading and get access to the full archive.

Continue reading