Physik-Experimente

http://sites.prenninger.com/arduino-uno-r3/physik-experimente

http://www.linksammlung.info/

http://www.schaltungen.at/

                                                                                         Wels, am 2016-12-08

BITTE nützen Sie doch rechts OBEN das Suchfeld  [                                                              ] [ Diese Site durchsuchen]

DIN A3 oder DIN A4 quer ausdrucken
**********************************************************************************
DIN A4  ausdrucken
*********************************************************

ARDUINO-Bücher übliche Buchpreise
billigst   (10 Seiten kosten < € 0,40)
billig     (10 Seiten kosten < € 0,50)
normal     (10 Seiten kosten   € 0,80)
teuer      (10 Seiten kosten > € 1,10)
sehr teuer (10 Seiten kosten > € 1,40)

extrem teuer (10 Seiten kosten > € 1,90)
aber bei elektor kosten 10 Seiten auch schon einmal € 2,62

10 Seiten Preis von € 1,82 = sehr sehr teuer
wie bei elektor nicht anders zu erwarten



36 faszinierende Projekte für Schule und Hobby

PHYSIK-EXPERIMENTE MIT ARDUINO
Willem van Dreumel
x704_d_elektor-x_Physik-Experimente mit Arduino - Willem van Dreumel (138 Seiten)_1a

Physik-Experimente mit Arduino  € 24,90 (e-Book 8,4MB vorhanden)

elektor-Verlag
Taschenbuch – 2016-03-29
von Willem van Dreumel (Autor)



ISBN: 978-3-89576-313-7
137 Seiten


Taschenbuch: 137 Seiten
Elektor-Verlag Aachen
1. Auflage 2016-03-29
ISBN: 3-89576-313-6
ISBN: 3-89576-313-7
ISBN-13: 978-3895763137
Größe: 17x24x1,5cm

Es werden 36 faszinierende Projekte in diesem Buch vorgestellt.

Klappentext
Dieses Buch wendet sich in erster Linie an alle, die sich auf dem Gebiet der Physik in irgendeiner Art von Ausbildung befinden
z. B. Schüler, Studenten, Praktikanten, Auszubildende oder selbst in der Ausbildung tätig sind.

Der Autor zeigt anschaulich, wie man die unterschiedlichsten, physikalischen Experimente mit modernen Hilfsmitteln wie zum Beispiel der Arduino-Plattform sinnvoll ergänzen kann.
Als eine Art „modernes Messinstrument“ ermöglicht es der Arduino unter anderem, die Messergebnisse auch in einer Excel-Tabelle darzustellen.
Die gezeigten Experimente lassen sich, obwohl sie ein geringes Maß an handwerklichem Geschick erfordern, auch bequem zuhause durchführen.
Damit soll das Buch vor allem bei Jugendlichen ein Interesse am interessanten, sinnvollen und lehrreichen Einsatz von Mikroprozessoren wecken, der auch im Hobby-Bereich stattfinden kann.

Sicherheit steht beim Experimentieren natürlich an erster Stelle: Licht, Wärme und Elektrizität sind unverzichtbar für unser heutiges Leben, aber diese Energien bergen auch Gefahren.
Handeln Sie daher bitte stets nach dem Motto: Erst denken, dann machen!

Nicht nur Anfänger auf dem Gebiet der Hobby-Elektronik werden an diesem handlichen, praxisbezogenen und leicht verständlichen Buch Gefallen finden.



Technik soll kompliziert sein?
Dieses Buch zeigt, dass das Gegenteil zutrifft:
Technik machtSpaß und ist lehrreich.
Unter Hinzugabe einer Prise Elektronik lassen sich sogar viele gute Ideen in praktisch verwertbare Geräte umsetzen
– von dem sich daraus ergebenden Wissensvorsprung gegenüber anderen Kollegen ganz zu schweigen.



Inhalt-Physik-Experimente mit Arduino (Größe: 0.54 MB)

Physik-Experimente mit Arduino ● 36 faszinierende Projekte für Schule und Hobby

Inhaltsverzeichnis

      Einleitung.....................................................5
01. Arduino als Datalogger..................................9
02. Arduino als Stoppuhr...................................13
03. Arduino als Abstandsmessgerät...................15
04. Schwerkraft..................................................17
05. Wirbelströme................................................21
06. Die Fallmaschine von Atwood.......................23
07. Von Winkeln und schiefen Ebenen................27
08. Reibung........................................................29
09. Geschwindigkeit und Beschleunigung..........37
10. Harmonische Bewegung.............................41
    10.1 Pendel in der Praxis.................................44
11. Erzwungene Schwingungen........................47
12. Federpendel...............................................49
13. Ballistik.......................................................53
14. Temperatur.................................................57
    14.1 Messaufbau............................................57
15. Wärme und Abkühlung..............................63
16. Wärmeabsorption.....................................65
17. Licht..........................................................69
18. Stroboskop................................................71
19. Digitales Zoetrop......................................73
20. Lissajous-Figuren.....................................77
21. Prismentisch............................................79
    21.1 Rückstrahler.........................................80
    21.2 Brechungsindex....................................81
22. Farben.....................................................83
23. Farbtemperatur des Lichts........................89
24. Infrarot und Ultraviolett.............................93
25. Schreib-Wischer........................................95
26. Schallgeschwindigkeit..............................99
27. Töne und Geräusche................................101
28. Druckmessung.........................................105
29. Genauer Wegaufnehmer.........................109
30. Elastizität..................................................111
31. Kraftmessung...........................................115
32. Verbesserter Biegetest.............................117
33. Drehmoment-Messung.............................119
34. Magnete..................................................123
    34.1 Magnete als Feder...............................126
35. Magnetische Induktion............................127
36. Anemometer............................................131
     Nachwort..................................................135




STARTER KIT for 37
https://www.elektor.de/search?q=159009
36 Beispiel Sketche  *.ino

1. Arduino als Datalogger § 2,5k .. 10k Potentiometer  - Seite 009
// Seriell
intpoti = A0;
int spannung;
void setup() {
pinMode(poti, INPUT);
Serial.begin(9600);
}
void loop() {
spannung = analogRead (poti);
Serial.println(spannung);
delay(1000);
}

Mit dem Scrollbar am rechten Rand des Fensters können wir uns alle Werte nachträglich anschauen – aber wäre es nicht wesentlich schöner, wenn man die Werte auch in eine ExcelTabelle laden könnte? Damit würde sich uns die ganze in diesem OfficeProgramm angebotene Vielfalt an Möglichkeiten zum Sortieren, Präsentieren und zur statistischen Verarbeitung offenbaren, über die der Arduino nun mal leider nicht verfügt.
Kein Problem! So etwas gibt es: Die betreffenden Informationen werden über ein USBKabel zum PC übermittelt und müssen zuerst in die für unsere Zwecke brauchbaren Daten umgewandelt werden. Dazu dient ein Programm mit dem Namen CoolTerm, das ähnlich wie ein Terminal funktioniert und unter der Internetadresse:
http://freeware.themeiers.org
kostenlos heruntergeladen werden kann.




2. Arduino als Stoppuhr § Taster 10k - Seite 013
int timerPin
= 2;                             // der digitale pin an dem gemessen wird
unsigned long duration; // duration ist vom typ unsigned long
void setup()
{
pinMode(timerPin, INPUT);
}
void loop()
{
duration = pulseIn(timerPin, HIGH);
// so lange timerPin hoch ist, zählt die variable dura
tion die Millisekunden
}
int timerPin = 2; // der digitale pin an dem gemessen wird
unsigned long duration; // duration ist vom typ unsigned long
void setup()
{
Serial.begin(9600);
pinMode(timerPin, INPUT);
}
void loop()
{
duration = pulseIn(timerPin,
HIGH);
// so lange timerPin hoch ist, zählt die variable duration die Millisekunden
Serial.println(duration);
}





3. Arduino als Abstandsmessgerät § HC-SR04 - Seite 015
// SR04 Abstandsmessung
unsigned long duration;
int distance;
int sendpin = 1;
int sensorpin = 2;
void setup()
{
Serial.begin(9600);
pinMode(sendpin, OUTPUT);
pinMode(sensorpin, INPUT);

}
void loop()
{
digitalWrite(sendpin, LOW); delay(2);
digitalWrite(sendpin, HIGH); delay(10);
digitalWrite(sendpin, LOW);
duration = pulseIn(sensorpin, HIGH);
abstand
= duration/58;
Serial.println(abstand);
}





4. Schwerkraft / Lichtschranke § IR-LED SFH300 LM555  - Seite 017
// Fall
-
Experiment
int startknopf = 2;         // Taster
int spule= 3;                // Kugelhalter
int schranke = 4;         // 2x Lichtschranken LM555
int s;
int t;
int a;
unsigned long duration;
void setup()
{
pinMode(startknopf, INPUT);
pinMode(spule, OUTPUT);
pinMode(schra
nke, INPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite(spule, HIGH);// die Kugel kann in
Position gebracht werden
s = digitalRead(startknopf);
if(s==LOW)
{
duration = pulseIn(schranke, HIGH); //Der
Zähler wird in Wartestellung gebracht
Serial.println(duration);
}
}



5. Wirbelströme fehlt - Seite 021




6. Die Fallmaschine von George Atwood - Seite 023
// Atwood machine
int duration;
int abstand;
int sendpin = 2;
int sensorpin = 3;
int time;
void setup()
{ Serial.begin(9600); }
void loop()
{
time = millis(); // Takt in Millisekunden läuft
pinMode(sendpin, OUTPUT);
digitalWrite(sendpin, LOW);
delay(2);
digitalWrite(sendpin, HIGH);
delay(10);
digitalWrite(sendpin, LOW);
pinMode(sensorpin, INPUT);
duration = pulseIn(sensorpin, HIGH);
abstand = duration / 58; // Teilen durch 58 ergibt
Abstand i
n cm
Serial.println(abstand);
Serial.println(time);
}






7. Von Winkeln und schiefen Ebenen § 10k Potentiometer - Seite 027
// Winkelmessung
int poti = A0;
int spannung;
int winkel;
void setup()
{
pinMode(poti, INPUT);
Serial.begin(9600);
}
void loop()
{
spannung = analogRead (poti);
winkel = spannung / 18.5;
Serial.println(winkel);
delay(100);
}




8. Reibung / Reibungskoeffizient u=0,24 bis 0,94 § SchrittmororMP24GA  IC-ELM312 - Seite 029
// Reibungskoeffizient
int poti = A0;
int spannung;
int winkel;
int pi = 3.14;
int rad;
int f;
void setup()
{
pinMode(poti, INPUT);
Serial.begin(9600);
}
void loop()
{
spannung =
analogRead (poti);
winkel = spannung/18.5; // Winkelangabe in Grad
rad = winkel*pi/180;// Bogenmaß-Winkelangabe
f=tan(rad); // Reibungskoeffizient
Serial.println(f);
delay(100);
}


// Schiefe Ebene mit Schrittmotor
int motorPin1 = 2;
int dirPin1 = 3;
int
schranke = A0;
int s = 5; // Speed Motor
int x = 0;
int a = 0;
int winkel;
int rad;
int pi = 3.14;
int f;
void setup()
{
pinMode(motorPin1, OUTPUT);
pinMode(dirPin1, OUTPUT);
pinMode(schranke, INPUT);
Serial.begin(9600);
}
void loop()
{
digitalWrite
(dirPin1,HIGH);
digitalWrite(motorPin1,HIGH);
delay(s);digitalWrite(motorPin1,LOW);
delay(s);
x=x+1;
if(schranke == LOW)
{
winkel = x * 0.0875; // Winkel in Grad
rad = winkel*pi/180; // Winkel in Bogenmaß
f=tan(rad); // Reibungskoeffizient
Serial.println(f
);
for (a=0; a<x; a++)
{
digitalWrite(dirPin1,LOW);
digitalWrite(motorPin1,HIGH);delay(s);digitalWrite(motorPin1,LOW);delay(s);
}
x=0;
} // Ende if
}
// Schrittmotor
int SA1 = 1; //spulen
int SA2 = 2;
int SB1 = 2;
int SB2 = 4;
int
s = 10;// Untersetzung zwischen den Schritten
int x = 0;

void setup()
{
pinMode(SA1, OUTPUT); pinMode(SA2, OUTPUT);
pinMode(SB1, OUTPUT);pinMode(SB2, OUTPUT);
}
void loop()
{
for(x=0;x<4;x++)
{
digitalWrite(SA1,LOW); digitalWrite(SA2,HIGH); digitalWrite(S
B1,HIGH);
digitalWrite(SB2,LOW); delay(s);
digitalWrite(SA1,LOW); digitalWrite(SA2,HIGH); digitalWrite(SB1,LOW);
digitalWrite(SB2,HIGH); delay(s);
digitalWrite(SA1,HIGH); digitalWrite(SA2,LOW); digitalWrite(SB1,LOW);
digitalWrite(SB2,HIGH); delay(s);
digit
alWrite(SA1,HIGH); digitalWrite(SA2,LOW); digitalWrite(SB1,HIGH);
digitalWrite(SB2,LOW); delay(s);
}
}




9. Geschwindigkeit und Beschleunigung § HC-SR04  Piezo-Element - Seite 037
// SR04 Abstandsmessung
Unsigned longduration;
int abstand;
int sendpin = 2;
int sensorpin = 3;
void setup()
{
Serial.begin(9600); }
void loop()
{
pinMode(sendpin, OUTPUT);
digitalWrite(sendpin, LOW);
delay(2);
digitalWrite(sendpin, HIGH);
delay(10);
digitalWrite(sendpin, LOW);
pinMode(sensorpin, INPUT);
duration = pulseIn(sensorpin, HIGH);
abstand = duration/58; /
/ Teilung durch 58 ergibt Abstand in Zentimetern
Serial.println(abstand);
delay(88); // korrigiert mit 10+2
}
// Beschleunigungsaufnehmer
int piezo = A0;
int p;
void setup()
{
Serial.begin(9600);
pinMode(p, INPUT);
}
void loop()
{
p = analogRead(piezo);
Serial.println(p);
delay(10);
}




10. Harmonische Bewegung mit HallSensor § SS495A BC237 npn - Seite 041
// Pendelzeit
unsigned long duration;
int start;
intHallPin = 2;
void setup()
{
Serial.begin(9600);
pinMode(HallPin, INPUT);
}
void loop()
{
start = digitalRead(HallPin);
if (start == HIGH) { durati
on =
pulseIn(HallPin, LOW); }
Serial.println(duration);
}



11. Erzwungene Schwingungen § IRF520 - Seite 047
// Angeregtes Pendel
int links = 2;
int rechts = 3;
void setup()
{
pinMode(links, OUTPUT);
pinMode(rechts, OUTPUT);
}
void loop()
{
digitalWrite(links, HIGH);
digitalWrite(rechts, LOW);
delay(500);
digitalWrite(links, LOW);
digitalWrite(rechts, HIGH);
delay(500);
}



12. Federpendel § HC-SR04 - Seite 049
// SR04 Abstandsmessung
int duration;
int abstand;
intsendpin = 2;
intsensorpin = 3;
voidsetup()
{Serial.begin(9600); }
voidloop()
{
pinMode(sendpin, OUTPUT);
digitalWrite(sendpin, LOW);
delay(2);
digitalWrite(sendpin, HIGH);
delay(10);
digitalWrite(sendpin, LOW);
pinMode(sensorpin, INPUT);
duration = pulseIn(sensorpin, HIGH);
abstand = duration/5.8; // Teilen durch 5.8 ergibt den
Abstand in
Millimetern
Serial.println(abstand);
delay(10);
}
// SR04 abstandsmessung
Int duration;
Int abstand;
Int sendpin = 2;
Int sensorpin = 3;
int time;
void setup()
{
Serial.begin(9600);
}
void loop()
{
time = millis();
pinMode(sendpin, OUTPUT);
dig
italWrite(sendpin, LOW);
delay(2);
digitalWrite(sendpin, HIGH);
delay(10);
digitalWrite(sendpin, LOW);
pinMode(sensorpin, INPUT);
duration = pulseIn(sensorpin, HIGH);
abstand = duration/5.8; // Teilen durch 5.8 ergibt den Abstand in
Millimetern
Serial.println(abstand);
Serial.println(time);
}



13. Ballistik - Seite 053
// Flugbahn
int motorPin1 = 2;
int dirPin1 = 3;
int schranke = A0;
int s=5; //Speed Motor
int x=0;
float winkel = 90;
float radial;
const float pi = 3.14;
int start;
int st;
int a;
float dista
nce;
void setup()
{
pinMode(motorPin1, OUTPUT);
pinMode(dirPin1, OUTPUT);
pinMode(schranke, INPUT);
Serial.begin(9600);
}
void loop()
{
st = analogRead(start);
if(st < 500)
{
//startwinkel 90 Grad (keine Messung)
//Winkeldifferenz 5 Grad bei 57 Impulsen
for(x=0; x<57; x++)
{
digitalWrite(dirPin1,HIGH);
digitalWrite(motorPin1,HIGH);
delay(s);
digitalWrite(motorPin1,LOW);
delay(s);
}
winkel = winkel
-
5;
radial = winkel*pi/180;//winkel im Bogenmaß
distance = 2.59*sin(radial)*cos(radial);
Serial.println(winkel
);
Serial.println(distance);
delay(1000);
x=0;
}
}



14. Temperatur § NTC10k  - Seite 057
// NTC
-
Eichung
int NTC = 0;
int mvolt;
void setup()
{
Serial.begin(9600);
pinMode(NTC, INPUT);
}
void loop()
{
mvolt = analogRead(NTC)*4.9;
Serial.println(mvolt);
delay(1000);
}
Temperaturmessung
int NTC = 0;
int mvolt;
int temp;
void setup()
{
Serial.begin(9600);
pinMode(NTC, INPUT);
}
void loop()
{
mvolt = analogRead(NTC)*4.9;
temp=(mvolt
-
1340)/45.7;
Serial.println(temp);
delay(1000);
}
// Temperaturmessung in einem Bereich von
14 Grad Celsius
int NTC = 0;
int mvolt;
int temp;
int t = 20; //Beginn des Messbereiches
int led1 = 0;int led2 = 1;int led3 = 2;
int led4 = 3;int led5 = 4;int led6 = 5;
int led7 = 6;int led8 = 7;int led9 = 8;
int led10 = 9;int led11 = 10;int led12 = 11;
int led13 = 12;int led14 = 13;
void setup()
{
pinMode(NTC, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMo
de(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led13, OUTPUT);
pinMode(led14, OUTPUT);
}
void loop()
{
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);



digitalWrite(led6, LOW);
digitalWrite(led7, LOW);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
digitalWrite(led11, LOW);
digitalWrite(led12, LOW);
digitalWrite(led13, LOW);
digitalWrite(led14, LOW);
m
volt = analogRead(NTC)*4.9;
temp=(mvolt
-
1340)/45.7; if (temp > t){digitalWrite(led1, HIGH);}
if (temp > t+1){digitalWrite(led1, LOW);}
if (temp > t+1){digitalWrite(led2, HIGH);}
if (temp > t+2){digitalWrite(led2, LOW);}
if (temp > t+2){digitalWrite(led3, H
IGH);}
if (temp > t+3){digitalWrite(led3, LOW);}
if (temp > t+3){digitalWrite(led4, HIGH);}
if (temp > t+4){digitalWrite(led4, LOW);}
if (temp > t+4){digitalWrite(led5, HIGH);}
if (temp > t+5){digitalWrite(led5, LOW);}
if (temp > t+5){digitalWrite(led6, HI
GH);}
if (temp > t+6){digitalWrite(led6, LOW);}
if (temp > t+6){digitalWrite(led7, HIGH);}
if (temp > t+7){digitalWrite(led7, LOW);}
if (temp > t+7){digitalWrite(led8, HIGH);}
if (temp > t+8){digitalWrite(led8, LOW);}
if (temp > t+8){digitalWrite(led9,
HIGH);}
if (temp > t+9){digitalWrite(led9, LOW);}
if (temp > t+9){digitalWrite(led10, HIGH);}
if (temp > t+10){digitalWrite(led10, LOW);}
if (temp > t+10){digitalWrite(led11, HIGH);}
if (temp > t+11){digitalWrite(led11, LOW);}
if (temp > t+11){digitalWrite
(led12, HIGH);}
if (temp > t+12){digitalWrite(led12, LOW);}
if (temp > t+12){digitalWrite(led13, HIGH);}
if (temp > t+133){digitalWrite(led13, LOW);}
if (temp > t+13){digitalWrite(led14, HIGH);}
if (temp > t+14){digitalWrite(led14, HIGH);}




15. Wärme und Abkühlung § 2x NTC 10k - Seite 063
// Newton Abkühlung
int NTC1 = A0;
int NTC2 = A1;
int n1;
int n2;
int t1;
int t2;
unsigned long time;
void setup()
{
Serial.begin(9600);
pinMode(NTC1, INPUT);
pinMode(NTC2, INPUT);
}
void loop()
{
time = millis();
n1 = analogRead(NTC1);
n2 =
analogRead(NTC2);
t1 = 0.095*(n1
-
235);
t2 = 0.095*(n2
-
235);
Serial.println(time);
Serial.println(t1);
Serial.println(t2);
delay(10000);
}



16. Wärmeabsorption  § 2x NTC 10k- Seite 065
// Wärme
-
Absorption
int NTC1 = A0;
int NTC2 = A1;
int n1;
int n2;
int t1;
int t2;
unsigned long t
ime;
void setup()
{
Serial.begin(9600);
pinMode(NTC1, INPUT);
pinMode(NTC2, INPUT);
}
void loop()
{
time = millis();
n1 = analogRead(NTC1);
n2 = analogRead(NTC2);
t1 = 0.095*(n1
-
235);
t2 = 0.095*(n2
-
235);
Serial.println(time);
Serial.println(t1);
Serial.println(t2);
delay(10000);
}


17. Licht fehlt  § Laser- Seite 069



18. Stroboskop § IR-LED IR-Transistor IRF520 ATtiny  2xLED - Seite 021




19. Digitales ZOETROPE / Wundertrommel / Stroboskop / Kaiserpanorama (in Öst.)
§
IR-LED IR-Transistor IRF520 ATtiny  2xLED Schrittmotor L293D - Seite 073
// Zoetrop
int L0 = 1;//MotorRechts
int L1 = 2;
int L3 = 3; //MotorLinks
int L4 = 4;
int blitz = 0; //LED
int t = 3;
void setup()
{
pinMode(L0, OUTPUT);
pinMode(L1, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(blitz, OUTPUT);
}
void loop()
{
for (int x = 0; x<20; x++)
{
digitalWrite(L3, HIGH);
digitalWrite(L4, LOW);
digitalWrite(L0, HIGH);
digitalWrite(L1, LOW);
delay(t);
digitalWrite(L3, HIGH);
digitalWrite(L4, LOW);
digitalWrite(L
0, LOW);
digitalWrite(L1, HIGH);
delay(t);
digitalWrite(L3, LOW);
digitalWrite(L4, HIGH);
digitalWrite(L0, LOW);
digitalWrite(L1, HIGH);
delay(t);
digitalWrite(L3, LOW);
digitalWrite(L4, HIGH);
digitalWrite(L0, HIGH);
digitalWrite(L1, LOW);
delay(t);
}
digitalWrite(blitz, HIGH);
delay(1);
digitalWrite(blitz, LOW);
}


20. Lissajous-Figuren § Laserpointer 2xMotor - Seite 077


21. Prismentisch / Rückstrahler / Brechungsindex § 78L05 BS170 L239D  - Seite 079
//Prismentisch
int motorPin = 2;
int dirPin = 3;
int s=3; //Speed Motor
int x=0;
void setup()
{
pinMode(motorPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop()
{
digitalWr
ite(dirPin,HIGH);
for (x; x<514; x++)
{
digitalWrite(motorPin,HIGH);
delay(s);
digitalWrite(motorPin,LOW);
delay(s);
}
x=0;
digitalWrite(dirPin,LOW);
delay(1000);
for( x; x<514; x++)
{
digitalWrite(motorPin,HIGH);
delay(s);
digitalWrite(motorPin,LOW);
delay(s);
}
x=0;
delay(1000);
}




22. Farben § RGB-LED BS170 - Seite 083
// Newton
-
Scheibe
int rot = 11;
int gruen = 10;
int blau = 9;
int x; // Zähler
int d = 20; // einstellbare verzögerung
void setup()
{
pinMode(rot, OUTPUT);
pinMode(gruen, OUTPUT);
pinMode(blau, OUTPUT);
}
void lo
op()
{
for ( x=0; x<255; x++)
{
analogWrite(rot, x); // Rot erscheint
delay(d);
}
for ( x=0; x<255; x++)
{
analogWrite(gruen, x); // Gruen erscheint
delay(d);
}
for ( x=255; x>0; x
--
)
{
analogWrite(rot, x); // Rot erlischt
delay(d);
}
for ( x=0; x<255;
x++)
{
analogWrite(blau, x); // Blau erscheint
delay(d);
}
for (x=255; x>0; x
--
)
{
analogWrite(gruen, x); // Gruen erlischt
delay(d);
}
for ( x=0; x<255; x++)
{
analogWrite(rot, x);// Rot erscheint
delay(d);
}
for ( x=255; x>0; x
--
)
{
analogWrite(blau, x);
// Blau erlischt
delay(d);
}
for ( x=255; x>0; x
--
)
{
analogWrite(rot, x);// Rot erlischt
delay(d);
}
}



23. Farbtemperatur des Lichts / Kelvin / Farbtemperatur - Seite 089
// Farbtemperatur
int rot = 11;
int gruen = 10;
int blau = 9;
int NTC = A0;
intmvolt;
int temp;
void setup()
{
Serial.be
gin(9600);
pinMode(rot, OUTPUT);
pinMode(gruen, OUTPUT);
pinMode(blau, OUTPUT);
pinMode(temp, INPUT);
}
void loop()
{
mvolt = analogRead(NTC)*4.9;
temp=(mvolt
-
1340)/45.7;
Serial.println(temp);
analogWrite(rot, 0); analogWrite(gruen,0); analogWrite(blau,0);
if(temp < 12){analogWrite(rot, 0); analogWrite(gruen,0); analogWrite(blau,
255);delay(1000);}
if(temp >= 12 && temp < 13){analogWrite(rot, 0); analogWrite(gruen,0);
analogWrite(blau, 255);}
if(temp >= 13 && temp < 14){analogWrite(rot, 25); analogWrite(gru
en,25);
analogWrite(blau,255);}
if(temp >= 14 && temp < 15){analogWrite(rot, 50); analogWrite(gruen,50);
analogWrite(blau,255);}
if(temp >= 15 && temp < 16){analogWrite(rot, 75); analogWrite(gruen,75);
analogWrite(blau,255);}
if(temp >= 16 && temp < 17){an
alogWrite(rot, 100); analogWrite(gruen,100);
analogWrite(blau,255);}
if(temp >= 13 && temp < 14){analogWrite(rot, 150); analogWrite(gruen,150);
analogWrite(blau,255);}
if(temp >= 14 && temp < 15){analogWrite(rot, 200); analogWrite(gruen,200);
analogWrite(b
lau,255);}
if(temp >= 15 && temp < 16){analogWrite(rot, 200); analogWrite(gruen,200);
analogWrite(blau,255);}
if(temp >= 16 && temp < 17){analogWrite(rot, 220); analogWrite(gruen,220);
analogWrite(blau,255);}
if(temp >= 13 && temp < 14){analogWrite(rot, 23
0); analogWrite(gruen,230);
analogWrite(blau,255);}
if(temp >= 14 && temp < 15){analogWrite(rot, 240); analogWrite(gruen,240);
analogWrite(blau,255);}
if(temp >= 15 && temp < 16){analogWrite(rot, 255); analogWrite(gruen,255);
analogWrite(blau,255);}
if(temp >= 16 && temp < 17){analogWrite(rot, 255); analogWrite(gruen,255);
analogWrite(blau,190);}
if(temp >= 13 && temp < 14){analogWrite(rot, 255); analogWrite(gruen,255);
analogWrite(blau,130);}
if(temp >= 14 && temp < 15){analogWrite(rot, 255); analogW
rite(gruen,255);
analogWrite(blau,0);}
if(temp >= 15 && temp < 16){analogWrite(rot, 255); analogWrite(gruen,255);
analogWrite(blau,0);}
if(temp >= 16 && temp < 17){analogWrite(rot, 100); analogWrite(gruen,100);
analogWrite(blau,255);}
if(temp >= 17 && temp
< 18){analogWrite(rot, 150); analogWrite(gruen,150);
analogWrite(blau,255);}
if(temp >= 18 && temp < 19){analogWrite(rot, 200); analogWrite(gruen,200);
analogWrite(blau,255);}
if(temp >= 19 && temp < 20){analogWrite(rot, 200); analogWrite(gruen,200);
anal
ogWrite(blau,255);}
if(temp >= 20 && temp < 21){analogWrite(rot, 220); analogWrite(gruen,220);
analogWrite(blau,255);}
if(temp >= 21 && temp < 22){analogWrite(rot, 230); analogWrite(gruen,230);
analogWrite(blau,255);}
if(temp >= 22 && temp < 23){analogWrit
e(rot, 240); analogWrite(gruen,240);
analogWrite(blau,255);}
if(temp >= 23 && temp < 24){analogWrite(rot, 255); analogWrite(gruen,255);
analogWrite(blau,255);}
if(temp >= 24 && temp < 25){analogWrite(rot, 255); analogWrite(gruen,255);
analogWrite(blau,190)
;}
if(temp >= 25 && temp < 26){analogWrite(rot, 255); analogWrite(gruen,255);
analogWrite(blau,130);}
if(temp >= 26 && temp < 27){analogWrite(rot, 255); analogWrite(gruen,255);
analogWrite(blau,0);}
if(temp >= 27 && temp < 28){analogWrite(rot, 255);
analogWrite(gruen,255);
analogWrite(blau,0);}
if(temp >= 28 && temp < 29){analogWrite(rot, 255); analogWrite(gruen,180);
analogWrite(blau,0);}
if(temp >= 29 && temp < 30){analogWrite(rot, 255); analogWrite(gruen,75);
analogWrite(blau,0);}
if(temp >= 30){an
alogWrite(rot, 255); analogWrite(gruen,0);
analogWrite(blau,0);}
delay(1000);
}



24. Infrarot und Ultraviolett § BPW41 100k - Seite 093
// Infrarot Detektor
int sensor = A0;
int s;
void setup()
{
pinMode(sensor, INPUT);
Serial.begin(9600);
}
void loop()
{
s = analogRead (sensor);
Serial.println(s);
}
25. Schreib
-
Wischer
// Wisch
-
Schreiber
int LED1 = 0;
int LED2 = 1;
int LED3 = 2;
int LED4 = 3;
int LED5 = 4;
int t = 3;
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode
(LED5, OUTPUT);
}
void loop()
{
// Buchstabe H als Beispiel
// Die LEDs werden von oben nach unten gelesen
// Erste Spalte
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,HIGH);
delay(t);
// zweite Spalte
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
delay(t);
// dritte Spalte
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,HIGH);
delay(t);
// Leere Spalte
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
delay(t);
// nun muss das A folgen
}


25. Wisch-Schreiber fehlt § 5LEDs - Seite 021

// Wisch-Schreiber
int LED1 = 0;
int LED2 = 1;
int LED3 = 2;
int LED4 = 3;
int LED5 = 4;

int t = 3;
void setup()
{
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
}
void loop()
. 96
{
// Buchstabe H als Beispiel
// Die LEDs werden von oben nach unten gelesen
// Erste Spalte
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,HIGH);
delay(t);
// zweite Spalte
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
delay(t);
// dritte Spalte
digitalWrite(LED1,HIGH);
digitalWrite(LED2,HIGH);
digitalWrite(LED3,HIGH);
digitalWrite(LED4,HIGH);
digitalWrite(LED5,HIGH);
delay(t);
// Leere Spalte
digitalWrite(LED1,LOW);
digitalWrite(LED2,LOW);
digitalWrite(LED3,LOW);
digitalWrite(LED4,LOW);
digitalWrite(LED5,LOW);
delay(t);
// nun muss das A folgen
}


26. Schallgeschwindigkeit / Ultraschallmessung § HC-SR04  - Seite 099
                               // HC-SR04 Ultraschallmessung
int duration;              // Pulsdauer
int sendpin = 2;        // Zur Triggerung des SR04
int sensorpin = 3;     // Echo-Empfang
int abstand = 5;       // Abstand der reflektierenden Oberfläche in Metern
int tempo;               // Geschwindigkeit

void setup()
{
pinMode(sendpin, OUTPUT);
pinMode(sensorpin, INPUT);
Serial.begin(9600); // serieller Monitor aktiv
}

void loop()
{
digitalWrite(sendpin, LOW);
delay(2);
digitalWrite(sendpin, HIGH); // Puls von 10 Mikrosekunden
senden
delay(10);
digitalWrite(sendpin, LOW)
;
duration = pulseIn(sensorpin, HIGH); // Zeit zwischen Puls und Echo
tempo = duration/(abstand * 10);
Serial.println(tempo);
delay(4988); // Pulsdauer
-
Kompensation
}



27. Töne und Geräusche § ECM 10k 470nF BC547 npn 1N4148 - Seite 101
// Mikro
-
Test
int micro = A0;
int mic;
void setup()
{
pinMode(mic
ro, INPUT);
Serial.begin(9600);
}
void loop()
{
mic = analogRead (micro);
Serial.println(mic);
}
// Pegeldetektor
int micro = A0;
int mic;
void setup()
{
pinMode(micro, INPUT);
Serial.begin(9600);
}
void loop()
{
mic = analogRead (micro);
if(mic>510){
digitalWrite(13,HIGH);}
Serial.println(mic);
digitalWrite(13, LOW);
}



28. Luft-Druckmessung 250..1400mbar / Staubsauger-Testgerät § MPX-2010DP MPL503  InjektionsSpritze 50ml - Seite 105
// Druckmessung
int druckplus = A0;
int druckmin = A1;
int dp;
int dm;
int dp_mb;//millibar
int dm_mb;
voidsetup()
{
pinMode(druckplus, INPUT);
pinMode(druckmin,
INPUT);
Serial.begin(9600);
}
voidloop()
{
dp = analogRead (druckplus);
dm = analogRead (druckmin);
dp_mb=dp * 19.6;
dm_mb=dm * 19.6;
Serial.write(„diffmBar „);
Serial.println(dp_mb
-
dm_mb);
delay(1000);
}




29. Genauer Wegaufnehmer
§  HC-SR04 - Seite 109

//HC-SR04 Abstandsmessung
du
ration = pulseIn(sensorpin, HIGH);
afstand = duration/58; // Teilung durch 58 ergibt den Abstand
in Zentimetern
Serial.println(afstand);
// SR04 Abstandsmessung
unsigned long duration;
int abstand;
int sendpin = 2;
int sensorpin = 3;
void setup()
{
Serial.begin(9600); }
void loop()
{
pinMode(sendpin, OUTPUT);
digitalWrite(sendpin, LOW);
delay(2);
digitalWrite(sendpin, HIGH);
delay(10);
digitalWrite(sendpin, LOW);
pinMode(sensorpin, INPUT);
duration = pulseIn(sensorpin, HIGH);
abstand = duration / 0.0
58; // Teilung durch 0,058 ergibt
den Abstand in 1/100 mm
Serial.println(abstand);
delay(100);
}


30. Elastizität / Biegetest  Elastizitätsmodul DMS  § HC-SR04- - Seite 111


//HC-SR04 Abstandsmessung
du
ration = pulseIn(sensorpin, HIGH);
afstand = duration/58; // Teilung durch 58 ergibt den Abstand
in Zentimetern
Serial.println(afstand);
// SR04 Abstandsmessung
unsigned long duration;
int abstand;
int sendpin = 2;
int sensorpin = 3;
void setup()
{
Serial.begin(9600); }
void loop()
{
pinMode(sendpin, OUTPUT);
digitalWrite(sendpin, LOW);
delay(2);
digitalWrite(sendpin, HIGH);
delay(10);
digitalWrite(sendpin, LOW);
pinMode(sensorpin, INPUT);
duration = pulseIn(sensorpin, HIGH);
abstand = duration / 0.0
58; // Teilung durch 0,058 ergibt
den Abstand in 1/100 mm
Serial.println(abstand);
delay(100);
}


31. Kraftmessung / Federwaage § Linearpotentiometer 10k - Seite 115
Das Poti erzeugt eine Spannung von 435 mV/Kilogramm
Das entspricht einem Wert von 44,38 mV/N

// Eichkurve Kraftmesser
int slider = A0;
int v;
void setup()
{
pinMode(slider, INPUT);
Serial.begin(9600);
}
void loop()
{
v = analogRead
(slider);
Serial.println(v);
delay(1000);
}




32. Verbesserter Biegetest  §  HC-SR04- Seite 117
// Biegemessung mit Kraftmessgerät
int duration;
int abstand;
int sendpin = 2;
int sensorpin = 3;
int forcepin = A0;
int aufnehmer;
void setup()
{
Serial.begin(9600);
}
void loop()
{
pinMode(sendpin, OUTPUT);
digitalWrite(sendpin, LOW);
delay(2);
digitalWrite(sendpin, HIGH);
delay(10);
digitalWrite(sendpin, LOW);
pinMode(sensorpin, INPUT);
duration = pulseIn(sensorpin, HIGH);
abstand = duration / 5.8; // Teilen durch 5.8 ergibt den Abs
tand
in MIllimetern
aufnehmer = analogRead(forcepin);
Serial.println(abstand);
Serial.println(aufnehmer);
delay(10);
}




33. Drehmoment-Messung
§ Spiralfeder Potentiometer 10k
- Seite 119
// Motorkraftmesser
int slider = A0;
int v;
void setup()
{
pinMode(slider, INPUT);
Serial.begin(9600);
}
void
loop()
{
v = analogRead (slider);
Serial.println(v);
delay(1000);
}



34. Magnete § Hall-Sensor 95A  Stab-Magnet  Scheiben-magnet  - Seite 123

// Hall-Sensor U18  
SS495A-SP Honeywell Board Mount Hall Effect / Magnetic Sensors Flat TO-92
int latch = A0;
int v;
void setup()
{
pinMode(latch, INPUT);
Serial.begin(9600);
}
void loop()
{
v = analogRead (latch);
if(v>200)
{ Serial.print(“Noordpol”); }
delay(1000);
}




35. Magnetische Induktion
§ Luftspule 55mm  50Wdg Cu=0,35mm - Seite 127

// Induktion
int spule = A0;
int mag;
int magnet;
void setup()
{
pinMode(spule, INPUT);
Serial.begin(9600);
}
void loop()
{
mag =analogRead(spule);
magnet = mag*4.9; // Umwandlung in Millivolt
Serial.println(mag);
}



36. Anemometer
/ Luftströmung  § Lüfter LCD-Display 2x16 Zeichen HD44780 1602 - Seite 131

// Anemometer 1
int fan = A1;
int f;
void setup()
{
pinMode(fan, INPUT);
Serial.begin(9600);
}
void loop()
{
f = analogRead (fan);
Serial.println(f);
}



// Anemometer 2
// include the library code:
#include <LiquidCrystal.h>
// initialize
the library with the numbers of the interface pins
LiquidCrystallcd(12, 11, 5, 4, 3, 2); // Data lines
int wind= A2;
int w;
void setup()
{
// set up the LCD’s number of rows and columns:
lcd.begin(16, 2);
// Textausgabe bei Programmstart
lcd.print(“Arduin
o Display”);
}
void loop()
{
lcd.setCursor(0,1);
w = analogRead(wind);
lcd.print(w);
delay(3000);
}

Nachwort - Seite 115
Der Autor Willem van Dreumel ist Hobby-Elektroniker der ersten Stunde.
Seine erste Veröffentlichung bei Elektor (damals noch Elektuur) erfolgte im Jahre 1973.
Seit dieser Zeit veröffentlichte der Autor Dutzende von Artikeln und Bücher;
unter anderem zu den Themen ZX 81 und MSX-Computer – und gegenwärtig auch zur kleinen, aber leistungsfähigen ATtiny-Plattform.





Quelle:
https://www.elektor.de/physik-experimente-mit-arduino





DIN A4 ausdrucken
*********************************************************

Impressum: Fritz Prenninger, Haidestr. 11A, A-4600 Wels, Ober-Österreich, mailto:schaltungen@schaltungen.at
ENDE









Untergeordnete Seiten (1): Buchbesprechung
Comments