![]()
| Magische Kugel mit Feder![]()
![]() Der Näherungssensor N erzeugt, sobald die Kugel über ihn rollt, ein Signal. Daraufhin wird der hinter dem Sensor positionierte Elektromagnet M eingeschaltet.
Er erzeugt ein elektromagnetisches Feld, das auf die Kugel einwirkt und dazu führt, dass sie mit erhöhter Kraft auf die Feder einwirkt. Das wiederum hat zur
Folge, dass die Kugel mit erhöhter Kraft von der Feder in entgegengesetzte Richtung katapultiert wird. Die Schwierigkeit unserer Schaltung besteht darin, im richtigen
Moment Elektromagnet ein- und auszuschalten. Schaltplan![]() Die Koordination der Vorgänge übernimmt in der Schaltung Arduino Nano. Es werden lediglich zwei seiner Pins richtig in Anspruch genommen. Mit dem Pin 2,
der als Ausgang parametriert wird, wird der Elektromagnet A2 geschaltet. Damit der Ausgang nicht überlastet und beschädigt wird, erfolgt das Ein- und Ausschalten des
Elektromagnets mithilfe des Transistors T1. Der Transistor muss in der Lage sein, den Strom, der von dem Elektromagneten beansprucht wird, zu schalten. Trotz, dass die
Einschaltung der Spule nur für sehr kurze Zeit erfolgt, kann es notwendig sein, ihn mit einem Kühlkörper zu versehen. In unserem Beispiel kommt die Stromaufnahme
der Spule des Elektromagnetes auf ca. 4,5 A.
Testschaltung![]() ![]() Der Näherungssensor und Magnet sind am Ende unter der Kugelbahn montiert. Programm (Sketch)// *******************************************************************************************// Magische Kugel mit Feder // "Perpetuum Mobile" mit einem Elektromagnet // Eine Schaltung mit Arduino NANO // Arduino IDE - V 2.3.5 // ******************************************************************************************* int E_Magnet = 2; // Ausgang Elektromagnet int Abstandssensor = 3; // Eingang Näherungssensor int Vorgang_Start_Stop = 4; // Ausgang Anzeige LED für Vorgangsdauer int Zeit_bis_Magnet_Ein = 100; // Wartezeit in ms int Zeit_Magnet_An = 140; // Magnet Einschaltzeit int Zeit_keine_Aktion = 1000; // Ruhezeit // ******************************************************************************************* void setup(void) { pinMode (E_Magnet, OUTPUT); // Pin-Konfiguration (Ausgang) pinMode (Vorgang_Start_Stop, OUTPUT); // Pin-Konfiguration (Ausgang) pinMode (Abstandssensor, INPUT); // Pin-Konfiguration (Eingang) } // ******************************************************************************************* void loop(void) { if (digitalRead(Abstandssensor) == HIGH) { // Kugel erkannt digitalWrite(Vorgang_Start_Stop, HIGH); // Vorgang-Anzeige-LED Ein delay (Zeit_bis_Magnet_Ein); // Zeit bis E-Magnet-EIN digitalWrite(E_Magnet, HIGH); // E-Magnet Ein delay (Zeit_Magnet_An); // Zeit E-Magnet AN digitalWrite(E_Magnet, LOW); // E-Magnet AUS delay (Zeit_keine_Aktion); // Wartezeit bevor Wiederholung digitalWrite(Vorgang_Start_Stop, LOW); // Vorgang-Anzeige-LED Aus } } // ******************************************************************************************* KurzvideoKurzvideo Weitere Themen:
|