close-circle
Close
0%
0%

Arduino Water Boarding

CIA Approved Automated Torture

Similar projects worth following
close
CIA Approved Automated Torture

A lie is the sin man tells in fear. To seek the truth, we must aide the sinner in crossing a threshold to find deliverance. Problem is, I am binge watching Ally McBeal Season 4, so allow us to automate the process. Attach sensors to said victim...er...suspect and allow our computer (Jacob) and an Arduino Uno to decipher by means of polling a galvanic sensor (https://create.arduino.cc/projecthub/BuildItDR/arduino-lie-detector-a0b914) if they are telling the truth or require some, inspiration.

A notation; the quality of this video is sub-par because I often shoot on poverty driven video equipment, namely an elderly Droid Razr. Forgive the potato.

Should we bring this to MakerFaire...for the children?

  • 1 × Arduino Uno
  • 3 × LED Red, Green, Blue
  • 4 × Servo
  • 3 × 1K Resistor
  • 1 × Aluminum Foil

View all 12 components

  • Cluster Bang

    Vije Miller09/22/2016 at 16:14 0 comments

    Upon the cause of expediency before aesthetics, this one is a cluster bingle bangle.

  • Arduino Sketchin'

    Vije Miller09/21/2016 at 00:33 0 comments

    Jacob (AI) recalls response from Serial.println to determine the next sequential procedure.

    // Arduino Water Board @TVMiller
    
    #include <Servo.h>
    
    Servo spigot;
    Servo rightarm;
    
    // Servo Position
    int spigpos = 45;
    int armpos = 15;
    
    // Resting State
    float lieset = 0;
    int lierec = 0;
    int lietotal = 0;
    int lieavg = 0;
    int lienew = 0;
    // Variance
    int spvar = 20;
    int liepin = A0;
    
    // Valve
    int valve = 8;
    
    // LEDs
    int blue = 13;
    int green = 12;
    int red = 11;
    
    void setup() {
    
      spigot.attach(9); // Spigot
      rightarm.attach(10); // Rag Arm
    
      pinMode(valve, OUTPUT);
      pinMode(blue, OUTPUT);
      pinMode(green, OUTPUT);
      pinMode(red, OUTPUT);
    
      Serial.begin(9600);
    
      // Reset Position
      spigot.write(45);
      delay(1500);
      rightarm.write(15);
      digitalWrite(valve, LOW);
    
      // Obtain Resting State -- Calibration
      for (int x = 0; x < 100; x++) {
        lieavg = analogRead(liepin);
        lietotal = lietotal + lieavg;
      }
      lieset = round(lietotal / 100);
    }
    
    void loop() {
    
      Serial.println(analogRead(liepin));
    
      digitalWrite(red, LOW);
      digitalWrite(green, LOW);
      digitalWrite(blue, HIGH);
    
      // Jacob Communication
      if (Serial.available()) {
        char ser = Serial.read();
        switch (ser) {
          case '1':
            detect();
            break;
        }
      }
    
      delay(20);
    }
    
    void detect() {
    
      // Query GV Response
      for (int x = 0; x < 50; x++) {
        lieavg = analogRead(liepin);
        lietotal = lietotal + lieavg;
        Serial.println(analogRead(liepin));
        delay(2);
      }
      lienew = round(lietotal / 50);
    
      // Lie or Truth?
      // Jacob Polls Serial Response
      if (lienew + spvar > lieset || lienew - spvar > lieset) {
        Serial.println("Lie");
        torture();
      }
      else if (lieset > lienew + spvar || lieset > lienew - spvar) {
        Serial.println("Truth");
        truth();
      }
      else {
        Serial.println("Unclear")
        detect();
      }
    }
    
    void torture() {
    
      digitalWrite(red, HIGH);
      digitalWrite(green, LOW);
      digitalWrite(blue, LOW);
    
      for (armpos = 15; armpos <= 85; armpos += 1) {
        rightarm.write(armpos);
        delay(15);
      }
      for (spigpos = 45; spigpos <= 90; spigpos += 1) {
        spigot.write(spigpos);
        delay(15);
      }
      delay(1500);
      digitalWrite(valve, HIGH);
      delay(10000);
      digitalWrite(valve, LOW);
      spigot.write(45);
      delay(1500);
      rightarm.write(15);
    }
    
    void truth() {
    
      digitalWrite(red, LOW);
      digitalWrite(green, HIGH);
      digitalWrite(blue, LOW);
    
    }
    

View all 2 project logs

Enjoy this project?

Share

Discussions

ActualDragon wrote 12/07/2016 at 14:18 point

this is beautiful

  Are you sure? yes | no

jlbrian7 wrote 09/23/2016 at 20:15 point

are you going to be the first test subject?

  Are you sure? yes | no

Vije Miller wrote 09/23/2016 at 20:25 point

Test? I will be the first to rat others out after a it gets done with me soon. Stay tuned...

  Are you sure? yes | no

Vije Miller wrote 09/26/2016 at 21:15 point

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates