Experimente mit Arduino


1. Experiment zur Einführung der Dualzahlen


Experiment siehe: https://www.youtube.com/watch?v=hwhC1PutbBE




Anschlüsse an Arduino






Programm zum Experiment


int a= 0;

int eingang = A0;

int b=0;

int n=0;

int u=0;

int v=0;

int w=0;

int x=0;

int j=0;


void setup()

{

Serial.begin(9600);

b =analogRead(eingang); //Die Helligkeit bei direkter Bestrahlung wird bestimmt

pinMode (7, OUTPUT);

pinMode(2, OUTPUT);

pinMode(4, OUTPUT);

pinMode(8, OUTPUT);

pinMode(12, OUTPUT);

}


void loop()

{

a =analogRead(eingang); //Die Helligkeit am Fotowiderstand wird fortwährend bestimmt

if(a-b<-50)// Es wird gezählt, wenn a im Schatten von b um – 50 abweicht.

{

j=j+1;//Die Unterbrechungen werden gezählt

n=j;

//Ein und Ausschalten der Dioden

u=n%2;//n Modulo 2, der Rest bei Teilung durch 2

n=(n-u)/2;

digitalWrite(2, 255*u);//255 = HIGH, 0 = LOW

v=n%2;

n=(n-v)/2;

digitalWrite(4, 255*v);

w=n%2;

n=(n-w)/2;

digitalWrite(8, 255*w);

x=n%2;

n=(n-x)/2;

digitalWrite(12, 255*x);


digitalWrite(7, HIGH);//Alarm ( aktiver buzzer)wird ausgelöst

delay(1000);

digitalWrite(7, LOW);// Alarm ( aktiver buzzer) wird nach einer Sekunde beendet

}

}



2. Experiment zum Schwerpunktsatz

https://www.youtube.com/watch?v=B3Q8sRFgG9g&t=30s


Anschlüsse an Arduino



Programm zum Experiment


int eingang= A0;//Eingang A0

float Wer =0;//Eingangswert bei A0

float W= 0; //Integral von Wert

int z = 0;// steht für millis()

int d=0; //Variable für dt

float w=10;//Mittelungszeit

long h=0;// Variable für millis()

float i=1;//Kalibrierfaktor

float n =0;//Wert, wenn das Sensorsignal 0 ist

long zei=0; //steht für millis()

long t=6000;//Messzeit

long st=5000;//Zeit bis zum Start

int m =0;

long tt=0;//Millis()

long mil=0;//mit Millis()

void setup()

{

Serial.begin(9600);

tt=millis();

Wer=0;

m=0;

do

{

Wer =analogRead(eingang)+Wer;

m=m+1;

mil=millis();

}

while(mil-tt<w*100);

n=Wer/m;

delay(st);//Der Start wird um tt verzögert für einstellung auf Vollbild und Vorbereitungen für das Experiment

zei = millis();//Startzeitpunkt

}

void loop()

{

m=0;

tt=millis();

Wer=0;

do//Mittelwertbildung

{

Wer =analogRead(eingang)+Wer;//Es wird integriert

m=m+1;

mil=millis();

}

while(mil-tt<w);

z= h;

h=millis();

d=h-z;

W=(Wer/m-n)*i/300*d+W;

if((h-zei)< t)// auf die Zeit t ist die Messung beschränkt

{

Serial.println(W);

}

}


    3. Experimente zum Thema Schwingungen

https://www.youtube.com/watch?v=wlnEcwHaJmM&t=2s


Bei diesem Experiment wurde Arduino ein Integrator mit dem Chopperoperationsverstärker LT1037 vorgeschaltet. Ein solcher Integrator ist für alle Experimente mit der Experimentierwippe empfehlenswert. Das 10 Kiloohm-Potentiometer dient zur Kompensation der Offsetspannung.


Programm zum Experiment


int eingang = A0; //Eingang A0

float Wer = 0; //Eingangswert bei A0

float w = 30; //Mittelungszeit

float wi = 0;

float n = 0; //Wert, wenn das Sensorsignal 0 ist

long zei = 0; //steht für millis()

long t = 10000; //Messzeit

long st = 5000; //Zeit bis zum Start

int m = 0;

long tt = 0; //Millis()

long mil = 0; //mit Millis()


void setup()

{

Serial.begin(9600);

n = analogRead(eingang);

delay(st);//Der Start wird um st zur Vorbereitungen des Experiments verzögert

zei = millis();//Startzeitpunkt

}


void loop()


{

m = 0;

tt = millis();

Wer = 0;

wi = 0;

do

     {

Wer = analogRead(eingang);

wi = Wer - n + wi;

m = m + 1;

mil = millis();

     }

while (mil - tt < w);

if ((mil - zei) < t) // auf die Zeit t ist die Messung beschränkt

     {

Serial.println(wi/m);

    }

}