Railgun Groepje 30
We hebben geprobeerd een railgun te bouwen. Om te bewijzen dat hij werkt gaan we met behulp van lichtsensoren de tijd meten dat een aluminium balletje erover doet om de baan af te gaan als deze wel en niet onder stroom staat. Hiermee willen we de aanwezigheid van Lorentzkracht aantonen.
Supplies
Dit is het lasersnij ontwerp voor de rails gemaakt van plywood.
Downloads
In Elkaar Zetten
Zet de rails in elkaar en plak een koperen plak rand op de contact rand. Laat aan weerszijde de koperen rand uitsteken zodat je later draadjes er aan vast kunt maken. Maak ook een ramp aan een kant waar straks het balletje overheen kan rollen en een beginsnelheid kan genereren. Let op dat deze steil genoeg is zodat het balletje tot hjet einde van de rails rolt.
Maak De Magneten Vast
De magneten moeten zo dicht mogelijk op het elektrisch veld staan, om een zo groot mogelijke Lorentz kracht op te wekken. Zaag twee strookjes en14 kleine blokjes uit restante plywood. Met houtlijm plak je de blokjes op dezelfde afstand van elkaar als de diameter van de magneten. We gebruiken in totaal 12 schrijfmagneten van 10x5 mm en die plaatsen we tussen de blokjes in. Tot slot fixeren we de magneten aan de rails met behulp van tape.
Maak Het Circuit
Je moet natuurlijk een circuit maken om de lichtsensoren aan de Arduino te verbinden. Maak de opstelling hierboven na en gebruik de door ons gegeven code.
Zorg ervoor dat lichtsensoren aan het begin en het einde van de rails geplaatst worden, naar boven gericht, zodat ze het verschil in licht kunnen meten als het balletje langs rolt van het begin tot het einde van de rails.
CODE:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LCD module configuration
LiquidCrystal_I2C lcd(0x27, 16, 2); // Set the LCD I2C address and the number of columns and rows
// Pin connected to the first LDR sensor
const int ldr1Pin = A0;
// Pin connected to the second LDR sensor
const int ldr2Pin = A1;
// Threshold values for detecting shadow (adjust as needed)
const int shadowThreshold1 = 300;
const int shadowThreshold2 = 300;
// Variables for time measurement
unsigned long startTime = 0;
unsigned long elapsedTime = 0;
// Flags to track shadow detection state
bool shadowDetected1 = false;
bool shadowDetected2 = false;
void setup() {
lcd.begin(); // Initialize the LCD module
lcd.print("Shadow Timer"); // Display initial text
delay(2000); // Display for 2 seconds
lcd.clear(); // Clear the display
//lcd.setCursor(0, 0);
//lcd.print("Start Time:");
lcd.setCursor(0, 0);
lcd.print("Elaps Time:");
pinMode(ldr1Pin, INPUT);
pinMode(ldr2Pin, INPUT);
Serial.begin(9600);
}
void loop() {
// Check if shadow is detected by the first LDR sensor
if (!shadowDetected1 && analogRead(ldr1Pin) < shadowThreshold1) {
// Shadow detected, start timing
shadowDetected1 = true;
startTime = millis();
//lcd.setCursor(12, 0);
//lcd.print(startTime);
Serial.println("Shadow detected by LDR1. Timing started.");
}
// Check if shadow is detected by the second LDR sensor
if (shadowDetected1 && !shadowDetected2 && analogRead(ldr2Pin) < shadowThreshold2) {
// Shadow detected, stop timing
shadowDetected2 = true;
elapsedTime = millis() - startTime;
lcd.setCursor(0, 1);
lcd.print(elapsedTime);
Serial.print("Shadow detected by LDR2. Elapsed time: ");
Serial.print(elapsedTime);
Serial.println(" ms");
}
// Reset shadow detection if LDR2 value goes above threshold
if (shadowDetected2 && analogRead(ldr2Pin) >= shadowThreshold2) {
shadowDetected1 = false;
shadowDetected2 = false;
}
// Delay before taking the next measurement
delay(10);
}
Verbind Met De Stroombron
Gebruik een telefoon oplader en met het USB-uiteinde verbind je deze met de uitstekende delen van de koperstroken.
Uittesten En Resultaat
Laat het balletje van de ramp rollen. Eerst zonder stroom, dan met stroom en tot slot met de stroom de andere kant op. Als het goed is zal er een verschil gezien worden in de tijd die het balletje erover doet om te rollen. Daarmee is de aanwezigheid van Lorentzkracht bewezen.