Sonntag, 17. Juni 2012

Brushless Motoren montieren

WP_000208 WP_000211
Brushless Motor und entsprechende Teile
WP_000210
Motor mit Propeller und Fahrtenregler
Nach über einem Monat habe ich endlich die Motoren zu meinem Projekt “Quadrocopter” erhalten. Ärgerlich war, dass das Paket beim Zollamt abgeholt werden musste, weil die entsprechende Rechnung am Paket nicht vorhanden war. Somit hat sich die Montage um eine Woche verzögert.
Quadrocopter_08 Quadrocopter_10
Motor am Rumpf montiert und verkabelt
Nachdem ich wieder die Stellen markiert, gekörnt, angebohrt und gebohrt habe, konnte ich die Motoren montieren. Anschließend kam die Verkabelung dran. Da mir die entsprechenden Y-Verbindungen für die Fahrtenregler fehlten, lötete ich einige Stecker zusammen. Folgend kam die Verkabelung und die Verbindungen auf dem Rumpf. Leider finde ich die Verkabelung noch nicht ganz gelungen, und ich denke, das mache ich am nächsten Wochenende nochmal.
Quadrocopter_09
Mit dem Arduino Nano 3.0 wurde durch geprüft
Nachdem ich alles mehr oder wenig provisorisch verkabelt hatte, schrieb ich für den Arduino ein kleines Programm zum regulieren des PWM Signals. Mit einem Potentiometer konnte ich die Ansteuerung des Fahrtenreglers vornehmen. Zuerst habe ich ein kleines Netzteil verwendet, das sich aber nach dem Anschluss des zweiten Fahrtenreglers als zu schwach herausstellte, und nahm daher den Akku. Mit Vorsicht drehte ich langsam am Potentiometer und staunte, dass ich bereits bei ca. 20% erst einmal anhalten musste, da mir sonst auf dem Tisch weggeflogen wäre. Gemessen an einem Rotor, könnte man schon meinen, dass einer  reichen würde, den ganzen Rumpf hochzuziehen. Später habe ich dann auf dem Boden im Wohnzimmer weiter getestet und drehte auf ca. 50%. Es flatterten schon die Gardinen und meiner Freundin wurde kalt, durch den starken Wind von den Rotoren.
Quadrocopter_11
Passt gerade so auf dem Schreibtisch
Inzwischen hat mein Projekt eine gewisse Größe erreicht. Auf dem Bild zu sehen: mein Quadrocopter auf meinem Schreibtisch.
Nun bleibt noch die Programmierung der Steuerung übrig.

Sonntag, 10. Juni 2012

Landestützen und Halterung für den Akku

Quadrocopter_07
Akku-Halter, Access Point und Mikrocontroller
Allmählich nimmt mein Quadrocopter Gestalt an. Leider sind meine Motoren noch nicht eingetroffen, habe jedoch erfahren, dass ich sie vom Zoll abholen darf. Da hat wohl der Versender versäumt, erforderliche Rechnungen an das Paket zu kleben. Wie dem auch sei, habe ich zunächst weiter am Rumpf gearbeitet. Diesmal überlegte ich, wo ich eigentlich alles platzieren soll. Also Akku, Mikrocontroller und Access Point. Nach einigem Überlegen sägte, schleifte und bohrte ich an einer Halterung für den Akku. Anschließend kümmerte ich mich um ein fehlendes Teil, dass für die Landestütze notwendig war.
WP_000201
Provisorische Ladestation für den Akku von meiner Bohrmaschine
Etwas geplagt hat mich mein Akku für die Bohrmaschine, bis ich darauf kam einfach den Lipo Akku zu verwenden. Jetzt ist die stufenlose Kontrolle weg, dafür habe ich viel Power an der Bohrspitze.
WP_000200
Lipo Akku an meiner Bohrmaschine. Nicht zum Nachammen geeignet
Nachdem ich eine etwas umständliche Lösung hatte, konnte ich mit den fehlenden Teilen fortfahren. Hier ein Loch, dort noch eins und die Landestützen waren fertig. Nun kam das Licht, damit ich in der Luft erkenne, wo rechts und links ist. Als ich nach den passenden LEDs suchte, stellte ich fest, dass ich keine entsprechenden Farben habe. Über 100 LEDs sind in meiner Kiste und man sollte meinen, alles zu haben, was man braucht.
WP_000206
Lichttest
Nun stehe ich noch vor der Steuerung, die ich noch nicht fertig programmiert habe. Mit der App für das Handy kann man derzeitig nur eine LED ein- und ausschalten, und die Anwendung zum kalibrieren steht auch noch nicht.

Sonntag, 3. Juni 2012

Beschleunigungssensor auslesen mit einem Arduino Nano 3.0



image
Arduino Nano 3.0 und Modul mit einem Beschleunigungssensor
Zugegeben habe ich etwas lange gebraucht, um zu verstehen, wie ich diesen Sensor auslesen kann. Das liegt einerseits daran, dass ich bisher noch nichts mit I²C oder SPI gemacht habe. Nachdem ich die Anleitung gelesen hatte, habe ich erst mal nur Bahnhof verstanden. Das änderte sich, als ich es hinbekam, die gemessenen Daten auszulesen.
Da frage ich mich manchmal, warum ich das nicht gleich verstanden habe. Zum Glück gibt es ja google, das mich hin und wieder auf die richtige Seite bringt. Allerdings enthielten die Erklärungen teilweise große Lücken im Verlauf. Vielleicht schaffe ich es hier in meinem Blog dies näher und leichter zu erläutern. Und wenn nicht, kann hier entsprechend auch einen Kommentar abgeben werden für Verbesserungen. Dafür bin ich immer offen.
Zunächst haben wir hier den Sensor von Bosch Sensortec, den BMA020. Auf den 2 Bildern ist das Modul zu sehen, auf den der Sensor gelötet ist. Im Grunde ist es der kleine schwarze SMD Chip, der die Beschleunigung ausliest. Das Modul selbst besteht aus verschiedenen Schaltungen, um z.B. eine stabile Spannungsversorgung zu gewährleisten. Bestellt habe ich mir das Modul bei Amazon, wobei hier anzumerken ist, das der eigentliche Händler ELV ist. Für die Montage selbst müssen die Steckleisten verlötet werden.
imageimage
Unterseite mit den bestückten SMD KomponentenOberseite mit den Beschriftungen und Ausrichtungen des Sensors
Als zweites habe ich den Arduino Nano 3.0, der mit einem ATMega 328 bestückt ist und für seine Baugröße zahlreiche Ein- und Ausgänge bereit stellt. Für das Auslesen, brauchen wir Pin A4 und Pin A5 für die I²C Verbindung zum Sensor Modul.
image
Arduino Nano 3.0
Jetzt müssen die beiden nur richtig verbunden werden. Hierzu sind nur wenige Kabelverbindungen notwendig, wie bereits hier im Schaltbild zu sehen ist.
image
Links der Beschleunigungssensor, rechts der Arduino Nano 3.0
Als weiteres benötigen wir in C geschriebenes Programm. Hierfür habe ich in verschiedenen Foren gesucht und wurde auch fündig. Am Ende ist dieser Code  herausgekommen.
#include <Wire.h>
#define AccelerometerAddress 0x38
#define Axis_X_Out1 0x02
#define Axis_X_Out2 0x03
#define Axis_Y_Out1 0x04
#define Axis_Y_Out2 0x05
#define Axis_Z_Out1 0x06
#define Axis_Z_Out2 0x07

void setup()
{
  Wire.begin();
  Serial.begin(9600);
}

void loop()
{
  Serial.println();
  Serial.print("X1:");
  Serial.print(readAcceleration(Axis_X_Out1), BIN);
  Serial.print("SX2:");
  Serial.print(readAcceleration(Axis_X_Out2), BIN);
  Serial.print("@Y1:");
  Serial.print(readAcceleration(Axis_Y_Out1), BIN);
  Serial.print("SY2:");
  Serial.print(readAcceleration(Axis_Y_Out2), BIN);
  Serial.print("@Z1:");
  Serial.print(readAcceleration(Axis_Z_Out1), BIN);
  Serial.print("SZ2:");
  Serial.print(readAcceleration(Axis_Z_Out2), BIN);
 
  delay(500);
}

byte readAcceleration(byte address)
{
  byte val = 0x00;
  Wire.beginTransmission(AccelerometerAddress);
  Wire.write(address);
  Wire.endTransmission();
  Wire.requestFrom(AccelerometerAddress, 1);
  val = Wire.read();
  return val;
}
Die Ausgabe kann über die Serielle Verbindung gelesen werden.
Um eine gewisse Übersicht zu behalten, habe ich darauf geachtet, dass der Code auch wirklich kurz gehalten ist und keine unnötigen weiteren Funktionen hat.
Mit #include wird die Library eingebunden, die für die I²C Verbindung erforderlich ist. Die darauf folgenden #define sind Adressen für das auslesen des Sensors. Die erste davon ist die Adresse vom Sensor selbst, da an dem I²C Bus auch mehrere Geräte oder Module Angeschlossen werden können. Mit “Axis_X_Out1” werden die ersten zwei Bits gelesen. Um die eine Achse von ihren Werten vollständig zu erhalten, ist anschließend die Abfrage mit der Adresse “Axis_X_Out2” erforderlich. Zusammengesetzt sind es dann 10 Bits. Die ersten 2 Bits sagen aus, mit wie viel G einwirkt. Die weiteren 8 Bits geben dann den eigentlichen Wert wieder. Das gleiche gilt auch für die weiteren 2 Achsen.
Nun zur Methode “byte readAcceleration(byte address)”. Sie erledigt die eigentliche Aufgabe, die gewünschten Daten aus dem Sensor zu bekommen. Mit “Wire.beginTransmisson” und der Übergabe der Adresse zum Sensor stellen wir eine Verbindung her. Anschließend mit “Wire.write” übergeben wir nun die Adresse für eine der Achsen und mit “Wire.endTransmission” geben wir hier ebenfalls die Adresse des Sensors, um die Verbindung zu beenden. Im folgenden muss noch die Methode “Wire.requestFrom” mit der Adresse des Sensors und ein weiterer Wert für die Anzahl zu erwartenden Bytes.
So, das war die Beschreibung zum Code, der auf dem Arduino ausgeführt wird. Nun will man ja auch das ganze auf dem Bildschirm sehen.
image
Alle Werte der 3 Achsen, allerdings noch in Binär. Das ist für die meisten schlecht zu lesen.
Zur Not kann auch der Serial Monitor vom Arduino Programm verwendet werden, oder man schreibt sich eine Desktop Anwendung, die das auch visualisiert.
image
Desktop Anwendung für die Visualisierung der gemessenen Daten aus dem Sensor.
Da die Beschreibung der Anwendung meinen Rahmen für einen Blog Eintrag sprengen würde, belasse ich es hierbei. Als Hinweis gebe ich jedoch, wer hier mit dem .Net Framework arbeitet, benutzt am besten die Klasse “SerialPort”. Die kann alles, was man für das Auslesen zu einer seriellen Verbindung benötigt.

Gelötet, Löcher gebohrt und zusammengeschraubt

Das Wetter draußen zeichnete sich mehr mit Regen als Sonnenschein, was mich dazu bewegte, mich weiter mit meinem Sommerprojekt zu beschäftigen.
Diese Woche stellte ich fest, dass ich keine richtigen Kabelverbindung für den Netduino habe. So konnte ich nur beschränkt auf dem Arduino mit den Sensoren und Servos entwickeln. Daher dachte ich, dass ich einen eigenen Shield für den Netduino löte. Nach hin und her überlegen, was ich gebrauchen könnte an Steckaufsätzen und wie ich später die Sensoren miteinander verbinde, habe ich es geschafft, etwas passendes zu entwickeln.
Quadrocopter_02
Shield für den Netduino
Eigentlich habe ich relativ lange daran gelötet, dennoch denke ich, dass es ich gelohnt hat. Endlich mal wieder was tun, was nicht am Computer erledigt werden kann!
Quadrocopter_03
Netduino mit meinem Shield. Passt prima, jetzt erst mal testen
Erst wollte ich den Beschleunigungssensor extra auf dem Rumpf montieren. Später entschied ich mich, den Sensor mit auf den Shield anzubringen.
Quadrocopter_04
Der von Bosch BMA 020 Beschleunigungssensor
Und zu guter Letzt schaffte ich es, am Sonntag alle erforderlichen Löcher zu bohren und könnte endlich meinen Rumpf zusammen schrauben. Jetzt fehlen im Grunde nur noch die Löcher für die Motoren. Ich hoffe die kommen nun bald an.
Quadrocopter_05
Der Rumpf für den Quadrocopter

Mittwoch, 30. Mai 2012

Rumpf für den Quadrocopter

Nach zwei Einkäufen im Baumarkt hatte ich das notwendige Material, um endlich den Rumpf herzustellen. Zunächst hatte ich alles im Kopf, entschied mich jedoch auch mal etwas auf Papier zu bringen, damit ich kein Teil vergesse zurecht zu schneiden. Auch wenn man nicht viele Teile für den Rumpf braucht, so dachte ich das es für die Orientierung sehr nützlich sein kann.
Also nahm ich meinen Zeichenblog, Stift, Lineal und einen Radiergummi. Der Anspitzer blieb mal wieder unberührt. Ich skizzierte das typische Kreuz, dass die meisten für Quadrocopter verwenden. Entscheidend war der Maßstab, damit ich die Abmessungen und Proportionen abbilden konnte. Aus meiner Skizze ging schließlich folgende Teile hervor:
  • 4xQuadratrohre mit jeweils 300mm Länge (für die Rotoren)
  • 4xQuadratrohre mit jeweils 84mm Länge (wird nicht gebraucht)
  • 2xFlächen mit einem Durchmesser von 200mm (für die Elektronik)
image
Angefertigte Skizze für die Teile
Die vier 84mm Quadratrohre habe ich später nicht geschnitten. Dafür ein weiteres Schmaleres Rohr von 200mm um zwei der langen 300mm Quadratrohre zu verbinden. Damit dürfte sich die Stabilität erhöhen.
Für den Entwicklungsstand habe provisorisch weitere Teile zugeschnitten, dass dafür da ist, erst mal am Boden die Feinjustierung vor zunehmen. Da noch Material übrig blieb, habe ich mir zusätzlich die teile für die Landestützen angefertigt. Vielleicht bekomme ich das hin, dass die mit einem Servo auch eingeklappt werden können.
image
Alle Teile für den Rumpf, und die zum Kalibrieren
Leider ist meine Kamera defekt und die Bilder mit dem Handy sind nicht gerade die besten. Dabei macht die prima HD Videos. Das sollte jedoch zum Dokumentieren reichen.

Sonntag, 6. Mai 2012

UART WiFi Server Client Module (TLG10UA03)

image
Kabel, USB UART, Antenne und das WiFI Modul(TLG10UA03)

Letzte Woche habe ich das Modul UART WiFi Server Client Module aus China erhalten. Es war zwar relativ günstig, dafür muss man allerdings ca. 3 – 4  Wochen warten. Der Versand ist kostenfrei.

In Ebay bin ich nach zahlreichen Suchen von Modulen auf diese WLAN Lösung gestoßen, und dachte mir, das ist genau das Richtige: Dinge über Funk zu steuern. Die Beschreibung des Artikels zeigte die technischen Daten und einige Inhalte aus der Konfiguration Oberfläche. Aufgeregt nahm ich das Paket mit den chinesischen Schriftzeichen auseinander. Eine Anleitung hat man sich aus Gewichtsgründen gespart (denke ich). Gut verpackt mit Luftpolstern und antistatischen Tüten entnahm ich schließlich das Modul.

Wie jeder, so wollte auch ich zunächst die Funktionalität prüfen. Also erst mal zurück auf die Webseite und nach der Anleitung sehen. Dies war nötig, um festzustellen, wo die Kabel eigentlich verbunden werden. An dem USB UART sind die Pins alle gekennzeichnet. Auf das WiFi Modul traf dies leider nicht zu, wobei der Platz für einen Aufdruck recht gering ist.

Alles verbunden, lud ich das Programm UART WiFi herunter. Ich dürfte wohl nicht der Einzige sein, der behauptet, dass dieses Programm einige Verbesserungen vertragen könnte. Dennoch sollte das für die Konfiguration keinen Abbruch tun. Als ich soweit war, versuchte ich die Verbindung herzustellen, aber ohne Erfolg.

image image
Unter Windows XP Unter Windows 7

Ich prüfte die Steckverbindung, nahm ein anderes USB UART Modul, stellte Diagnosen mit einem Serial Monitor an. Kein Hinweis, nur dass keine Antwort kam. Der Tipp mit dem Arduino Tool und dem Serial Monitor, um “+++” zu senden funktionierte auch nicht.

Enttäuscht schrieb ich dem Support des Händlers. Hier ein Lob, sehr schnelle Antwortzeiten selbst an einem Sonntag und hilfsbereit. Leider haben die Tipps nicht geholfen. Ich wollte das Modul schon zurück senden, um es austauschen zu lassen, doch ich konnte nicht glauben, dass das Modul nicht in Ordnung sein sollte. Nach dem “try and error” - Prinzip versuchte ich jede serielle Einstellung und hatte damit auch Erfolg. Ich erhielt mit einmal eine Antwort vom Modul, als ich die richtige Bautrate fand. Nach der Anleitung wird die Baudrate 115200 vorgeschlagen. Anscheinend wurde nach dem Test des Moduls die letzte eingestellte Bautrate nicht auf den Standard Wert gesetzt. In meinem Fall war es 9600 Baut.

image
Wenn die richtig Einstellung gesetzt ist, dürfte nach dem klicken des “Exit”-Buttons dieses Popup erscheinen.

Die Verbindung konnte nun mit dem UART WiFi Tool hergestellt werden und die Optionen wurden frei gegeben. Jetzt konnte es los gehen. Da ich zu diesem Zeitpunkt unterwegs war, hatte ich keinen kompatiblen WLAN Access Point da, um auf die Weboberfläche des Moduls zu zugreifen. Selbst die Internetfreigabe auf dem Smart Phone bietet leider nicht die gewünschte Unterstützung an.

image
Die Meldung erscheint nach dem klicken des Search-Buttons, wenn die Verbindung zum Modul hergestellt wurde.

Endlich zuhause, konnte ich die Konfiguration fortsetzen. Da zeigte sich mir, welche Verschlüsselungsarten wirklich funktionierten. Zwar hat das Modul WPA2, allerdings nur mit TKIP und nicht AES. Dafür hat mein WLAN WPA(1) mit TKIP. Ein kleiner Rückschritt, der allerdings zu verschmerzen ist. Wer sich mit der WLAN Verschlüsselung auskennt, weiss, wie wahrscheinlich jemand die WLAN Verbindung entschlüsseln könnte. Ich gab alle erforderlichen Daten ein und speicherte dies auf dem Modul. Anschließend nochmal in das UART WiFi Tool, um die Verbindung zum WLAN herzustellen. Dies geschieht auf dem zweiten Karteireiter, in dem man auf den Button für “Connect” klickt. Dies klappe allerdings nicht auf Anhieb, und es war im nachhinein nicht wirklich nachvollziehbar, warum man auf dem einen USB Port gerade keine Verbindung bekam, auf dem anderen widerum schon.

image
Verbindung zum WLAN herstellen

Der nächste Schritt bestand darin, auf die Weboberfläche zu zugreifen und den Rest einzustellen. Um dort hin zu gelangen, müssen die Verbindungen für TX und RX getrennt werden. Von meinem Router erfuhr ich die IP Adresse, die dem Modul zugewiesen wurde. Geht auch mit dem Befehl “AT+LKSTT” im UART WiFi Tool.

image
Webseite des Moduls.

Als dies auch so weit war, war nun mein Arduino an der Reihe; schnell “Copy and Paste” ich den Beispielcode vom Artikel und stellte die Kabelverbindungen her. Hierbei muss der Arduino vom USB getrennt werden, damit keine serielle Verbindung zum PC besteht.

image image image
WiFi Modul USB UART Modul Arduino Nano
Rot – 3,3V (Pin 5)
Braun – TX (Pin 6)
Weiß – RX (Pin 7)
Schwarz – GND (Pin 8)
Rot – VDD
Schwarz – GND
Braun – TX (Pin TX1)
Weiß – RX (Pin RX0)

Zusammengesteckt, nochmal auf Reset, um den Code auf dem Arduino neu zu starten und im Browser staunen. Mit dem Staunen musste ich mich allerdings noch zurück halten, da mein Browser nur das Ladesymbol am Tab zeigte. Es blieb bei einer weissen Seite, oder wie jemand anderer dies beschrieb: “Ein Überbelichtetes Foto in einem Schneesturm.”

Irgendwas haute nicht hin, und es hätte jetzt eigentlich funktionieren müssen. Ich ging nochmal alles durch. WLAN Verbindung Check, Kabelverbindung Check, auszuführenden Quellcode, den ich auf den Arduino übertrug, che… , erst jetzt sah ich, dass der Code nicht funktionieren konnte. Wahrscheinlich hat der Händler nicht gewusst, wie man im HTML bestimmte Zeichen eingibt. In der “If” Bedingungen war das “Char” für Zeilenumbruch ‘n’ geschrieben, was allerdings so ‘\n’ geschrieben wird. Naja, und ich ging weiter im Code und reduzierte den für den Test auf 2 Zeilen in der Schleife bzw. die “void loop()” Methode, mit Serial.println(“Hello World!!!”) und delay(1000).

image image
Vorher Nachher
Einige Zeichen fehlen im Code, was durch das Copy n paste entstand. Für einen Test absolut ausreichend.

Erneut den Arduino beschrieben und anschließend wieder die Kabelverbindungen hergestellt. Dann Browser aufgerufen und die Adresse des Moduls eingeben, und siehe da, es steht “Hello World!!!”.

image
Durch den loop wieder holt sich der Text Hello World immer hinzufügend.


Kurzfassung zur Konfiguration:
  1. UART Modul den Jumper für 3,3 Volt setzen.
  2. Kabel Verbindung herstellen von UART auf das WiFi Modul. (*1)
  3. USB Verbindung zum PC herstellen
  4. Prüfen welche COM Verbindung (*2)
  5. Das Tool UART-WiFi starten und COM Verbindung auswählen.
  6. COM Set Einstellungen prüfen (*3)
  7. Suchen Button klicken und auf das Popup warten.
  8. WLAN Einstellungen vor nehmen. (*4)
  9. Modify Button Klicken. Ein Popup erscheint mit dem Hinweis dass das Modul neu gestartet wird.
  10. Verbindung zum Modul wieder herstellen. (Punkt 4 und 5)
  11. Zweiten Tab Reiter und Connect Button klicken. Warten bis die Verbindung hergestellt wurde.
  12. IP Adresse auslesen, durch den Befehl “AT+LKSTT”
  13. RX und TX Kabel Verbindung trennen.
  14. IP Adresse in die Adresszeile des Browsers eingeben und warten bis die Anmeldung erscheint. (Benutzername: Admin; Passwort: 000000)
  15. Aktuelle IP Adresse oder andere IP Adresse festlegen und speichern.
  16. Auto Workmode Einschalten und Save Button klicken. (ProtocolType:TCP, C/S Mode: Server, Port:8090)
  17. Arduino mit dem Test Code beschreiben. (*5)
  18. Arduino von der USB Verbindung trennen und an eine externe Stromversorgung anschließen.
  19. Kabel Verbindungen zwischen Arduino und dem WLAN Modul herstellen.

(*1) Kabel Verbindung image
(*2) Kann über den Geräte Manager ermittelt werden image
(*3)
11520 BAUT
Data 8
Parity None
Stop 1
Es kann sein, das diese ab Werk auch eine andere Einstellung hat, wie zum Beispiel war bei mir die Baut Rate von 9600 erforderlich, zudem war auch der Transparenz Modus akiv, so das ich über die Serielle Verbindung “+++” senden musste um dies zu beenden
(*4)
SSID
Verschlüsselungsalgorithmus
Schlüssel
IP Adresse Automatisch beziehen (kann später geändert werden)
(Erweitere Einstellungen “Advance” kann in der Regel belassen werden, ggf. siehe weitere Beschreibung dazu)
(*5) void setup()
{
   Serial.begin(115200);
}

void loop()
{
    Serial.print("<h1>Hello World!!</h1>");
    delay(1000);
}

Donnerstag, 22. Dezember 2011

Altes erstes 3D Video von mir

Nachdem ich etwas aufgeräumt habe, fand ich noch einige CD Sicherungen die Tatsächlich nach Jahren noch funktionieren. Darauf habe ich dieses alte 3D Animations Video wieder gefunden, an dem ich neben der Schulzeit herum gewerkelt habe. Entschulidgt die kleine Auflösung. Mein Power Rechner eines 486iger mit 66MHz und 20MB RAM konnte Zeitgemäß nicht in einer größeren Auflösung rendern. 320 mal 160 war noch von den Berechnungszeiten annehmbar, größere Auflösungen wie wir sie heute kennen, hätte mein damaliger 486 noch heute daran gerechnet. Erstellt wurden die Video Animationen und 3D Objekte mit dem 3D Programm Monzoom Pro. Die Musik ist auch von mir. Keine Ahnung wie ich das ausgehalten habe mit den Midi Tönen.


Gehäuseentwurf für Signalleuchten (ESP32)

RGB LEDs und LIPO Akkus sind bestellt. Weil ich bereits die Abmessungen habe, kann ich schon mal mit dem Gehäuseentwurf in Blender anfangen....