Introduction: Quantum Tunneling/evanescent Wave Effect in Paraffin Wax
Explainer in Dutch
Supplies
Supplies:
3x HB100 sensor (Two are used as receivers, one as transmitter)
3x lasercut box, with designed holes to hold sensor
2x upamp circuits for receivers (look at attached pictures for the specifics)
2x breadboards for upamp circuit
2x indication LED for receivers
1x Arduino Uno
2x paraffin wax prisms (home-made)
1x screw thread to move one of the prisms
1x styrofoam box
Step 1: Create Paraffin Wax Blocks
Melt simple candles, and create a simple styrofoam mold. Put in a bucket of ice to reduce spilling, and let solidify over a couple of hours.
Step 2: Create Upamp Circuits
Using the above circuit, create two upamp circuits for your receivers
Step 3: Connect Yor HB100 Sensors
Be aware of the fact that you only need to solder the grounds and the +5V for the transmitter, and the grounds and if ports for the receivers. This will make life less cluttered :)
Step 4: Create Sensor Holders
These were created in Inkscape and cut with a lasercutter. Our design is listed below.
Attachments
Step 5: Create Your Own Screw Thread System
Create a system to move one of your paraffin wax blocks towards the other. The picture listed is what we used, but be sure to create something you're comfortable with using.
Step 6: Finishing Touches on a Big Box
Make sure that everything is leveled well! If you want to, you can create aluminium foil guiding 'lenses' for the transmitter, as this could help with strange measurements.
Step 7: Connect to Arduino and Write Code!
This is the code that we used, but be sure to calibrate it to what works for you. This should at least be able to receive all the data from the two sensors, and transmit microwaves from the transmitter. Calibrating things like delay, SAMPLE_WINDOW and THRESHOLD should help you on your quest to perfection.
// Constants for HB100 Radar Sensor pins
const int SENSOR1_PIN = A0; // Connect the first sensor to analog pin A0
const int SENSOR2_PIN = A1; // Connect the second sensor to analog pin A1
// Constants for LED pins
const int LED1_PIN = 4; // Connect the first LED to digital pin 4
const int LED2_PIN = 5; // Connect the second LED to digital pin 5
// Constants for processing radar output
const int SAMPLE_WINDOW = 600; // Number of samples to consider for calculation
const int THRESHOLD = 300; // Minimum number of samples to detect an object
const int sensorValue = 670;
void setup() {
// Set the sensor pins as inputs
pinMode(SENSOR1_PIN, INPUT);
pinMode(SENSOR2_PIN, INPUT);
// Set the LED pins as outputs
pinMode(LED1_PIN, OUTPUT);
pinMode(LED2_PIN, OUTPUT);
// Initialize the serial communication
Serial.begin(9600);
}
void loop() {
// Read the sensor values
analogRead(SENSOR1_PIN);
delay(10);
int sensor1Value = analogRead(SENSOR1_PIN);
analogRead(SENSOR2_PIN);
delay(10);
int sensor2Value = analogRead(SENSOR2_PIN);
// Process the sensor values
int sensor1Samples = calculateSamples(SENSOR1_PIN);
int sensor2Samples = calculateSamples(SENSOR2_PIN);
// Print the processed values to the serial monitor
Serial.print("Sensor 1: ");
Serial.print(sensor1Samples);
Serial.print(" samples ");
Serial.print(sensor1Value);
Serial.print(" value - Sensor 2: ");
Serial.print(sensor2Samples);
Serial.print(" samples ");
Serial.print(sensor2Value);
Serial.println(" value");
if (sensor1Samples <=THRESHOLD){
sensor1Samples=0;
}
if (sensor2Samples <=THRESHOLD){
sensor2Samples=0;
}
// Compare the number of samples and light up the corresponding LEDs
if (sensor1Samples >sensor2Samples) {
digitalWrite(LED1_PIN, HIGH);
digitalWrite(LED2_PIN, LOW);
} else if (sensor2Samples > sensor1Samples) {
digitalWrite(LED1_PIN, LOW);
digitalWrite(LED2_PIN, HIGH);
}
delay(400); // Delay for stability
}
// Function to calculate the number of samples above a certain threshold
int calculateSamples(int SENSOR_PIN) {
analogRead(SENSOR_PIN);
delay(10);
int numSamples = 0;
for (int i = 0; i < SAMPLE_WINDOW; i++) {
int value = analogRead(SENSOR_PIN);
if (value > sensorValue) {
numSamples++;
}
delayMicroseconds(100);
}
return numSamples;
}


