Benutzer-Werkzeuge

Webseiten-Werkzeuge


projektesose24:m-o:projektdokumentation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
projektesose24:m-o:projektdokumentation [2024/09/29 20:50]
jana_alexandra
projektesose24:m-o:projektdokumentation [2024/09/30 02:05] (aktuell)
jana_alexandra
Zeile 13: Zeile 13:
 > **Abbildung 2:** Putzroboter M-O "​Microbe Obliterator"​ > **Abbildung 2:** Putzroboter M-O "​Microbe Obliterator"​
  
-Seine Hauptaufgabe ist es, einer zuvor definierten Streckein Form einer schwarzen Linie auf einer möglichst ebenen Oberflächezu folgen und dabei mittels einer an den Armen angebrachten Rolle die besagte Oberfläche zu reinigen. Das Ziel ist es, eine möglichst originalgetreue Abbildung seines Verhaltens aus dem Film zu erschaffen. Dies wird in erster Linie durch den begrenzten Arbeitsbereich ermöglicht,​ da M-O im Film seine Arbeit ebenfalls nur im Bereich einer klar definierten Linie verrichten darf.\\ ​+Seine Hauptaufgabe ist es, einer zuvor definierten Strecke in Form einer schwarzen Linie auf einer möglichst ebenen Oberfläche zu folgen und dabei mittels einer an den Armen angebrachten Rolle die besagte Oberfläche zu reinigen. Das Ziel ist es, eine möglichst originalgetreue Abbildung seines Verhaltens aus dem Film zu erschaffen. Dies wird in erster Linie durch den begrenzten Arbeitsbereich ermöglicht,​ da M-O im Film seine Arbeit ebenfalls nur im Bereich einer klar definierten Linie verrichten darf.\\ ​
  
 Das allein reicht jedoch nicht aus, um eine originalgetreue Abbildung von M-O darzustellen,​ weshalb weitere Überschneidungen von Verhalten und Aussehen zum Film benötigt werden. Um den Beginn seines Arbeitsprozesses,​ sowie seine Arbeitsbereitschaft anzukündigen,​ soll er zudem - wie im Film - seine Arme samt der Rolle bewegen können. In unserem Fall soll er die Arme zu Beginn enthusiastisch hochwerfen und anschließend wieder runternehmen,​ um mit seiner Aufgabe anzufangen. ​ Das allein reicht jedoch nicht aus, um eine originalgetreue Abbildung von M-O darzustellen,​ weshalb weitere Überschneidungen von Verhalten und Aussehen zum Film benötigt werden. Um den Beginn seines Arbeitsprozesses,​ sowie seine Arbeitsbereitschaft anzukündigen,​ soll er zudem - wie im Film - seine Arme samt der Rolle bewegen können. In unserem Fall soll er die Arme zu Beginn enthusiastisch hochwerfen und anschließend wieder runternehmen,​ um mit seiner Aufgabe anzufangen. ​
Zeile 24: Zeile 24:
 ===== Methodenteil ===== ===== Methodenteil =====
 ==== Überblick über das Gesamtsystem ==== ==== Überblick über das Gesamtsystem ====
 +Unser Roboter besteht grundlegend aus den folgenden vier Baugruppen:
 +
 +  - Linienerkennung
 +  - Fortbewegung
 +  - Gestikulation
 +  - Ausgabe von Audiodateien im MP3-Format
 +
 +Aufgrund von Zeitmangel, unzureichendem Programmierspeicherplatz sowie ausgelasteten Digitalpins,​ konnte die ursprünglich geplante fünfte Baugruppe nicht umgesetzt werden: Das **Generieren von Augen über LED-Matrizen**. ​
 +
 +{{:​projektesose24:​m-o:​m-o_angeschlossen_an_akku_und_powerbank.jpg?​nolink&​300|M-O angeschlossen an Akku und Powerbank}}
 +{{:​projektesose24:​m-o:​m-o_aufbau.jpg?​nolink&​300|M-O Aufbau}}
 +{{:​projektesose24:​m-o:​schaltung_3.jpg?​nolink&​300|M-O Innenleben - Schaltung}}\\ ​
 +
 +> **Abbildung 3:** Aufnahmen von unserem gegenwärtigen Roboter, M-O.
 +
 ==== Systembestandteile im Detail ==== ==== Systembestandteile im Detail ====
 +
 +**1.) Linienerkennung**\\ ​
 +\\ 
 +Zu Beginn der Projektphase hatten wir ursprünglich Ultraschallsensoren zur Hinderniserkennung und räumlichen Orientierung eingeplant. Doch alsbald erinnerten wir uns daran, wie M-O sich im Film fortbewegt: Er folgt einer fest definierten Strecke, um seine Putzarbeit zu verrichten. Es ist ihm untersagt vom Weg abzuweichen. Aus diesem Grund haben wir uns dafür entschieden einen Infrarotsensor anstelle eines Ultraschallsensors zu integrieren. Infrarotsensoren nutzen den photoelektrischen Effekt zur Detektion. Das vom Sensor ausgehende Infrarotlicht wird von einem Objekt reflektiert und vom Phototransistor empfangen. Die Reflexion kann hierbei durch ein Objekt oder eine unterschiedlich gefärbte Fläche entstehen. Somit lassen sich Infrarotsensoren u.a. zur Linienerkennung einsetzen. Für eine erfolgreiche Linienerkennung,​ musste zunächst die Reichweite der Infrarotsensoren ermittelt werden, welche von Modell zu Modell unterschiedlich ausfällt. Durch Ausprobieren,​ Nachjustieren und Verstellen der Stellschraube (Potentiometer) konnten wir die Sensorreichweite,​ welche nur wenige Millimeter beträgt, ausmachen. Der Programmcode zum Ansteuern und Testen der Infrarotsensoren befindet sich unter den [[projektdokumentation#​Programmcode und Rohdaten|Rohdaten]] dieser Seite.
 +
 +**2.) Fortbewegung**\\ ​
 +\\ 
 +Die Art der Fortbewegung durch den Raum wurde im ersten Aufgabenpaket geklärt. Nun galt es diese auch zu ermöglichen durch erfolgreiches Ansteuern der mit LEGO-Rädern bestückten Schrittmotoren. Das größte Aufgabenpaket bestand darin, die Nema 11 Schrittmotoren mit den DRV8834 Schrittmotortreiberträgern zu verbinden. Insbesondere musste die Spulenanordnung der Schrittmotoren berücksichtigt werden: Die Pins B2/B1 des Drivers werden mit der Spule D/B des Schrittmotors verbunden. A1/A2 entsprechend mit A/C. Diese Aufgabe stellte insofern eine kleine Herausforderung dar als das wir zu Beginn des Projekts zunächst mit einem anderen Driver, dem DRV8825, zu Testzwecken gearbeitet haben.\\ ​
 +
 +Eine weitere Aufgabe bestand darin, die Strombegrenzung für den Driver zu berechnen und am Potentiometer einzustellen. Dieser Schritt ist wichtig, denn wenn eine zu hohe Referenzspannung beim Driver vorliegt, können Schäden am Motor, aufgrund einer zu hohen Schrittrate,​ entstehen. Unser Motor zieht bei jeder Phase 0.67 Ampere bei 3.8 Volt. Die Referenzspannung am Driver ergibt sich aus der Division des Nennstroms mit zwei: 0.67 Ampere / 2 = 0.335. Mithilfe eines Multimeters können wir die am Driver anliegende Spannung messen und durch Drehen der Stellschraube korrekt einstellen.\\ ​
 + 
 +Obwohl alle Einstellungen von uns mehrfach geprüft wurden, fuhr M-O noch nicht erwartungsgemäß einer Linie hinterher. Dies hing mit der Einstellung der Schritte pro Umdrehung im Programmcode zusammen.\\ ​
 +
 +Zunächst mussten wir feststellen,​ welches der Räder sich nach vorne bewegen würde. Aufgrund der spiegelverkehrten Befestigung,​ drehte sich ein Schrittmotor zwangsläufig in die entgegengesetzte Richtung. Dementsprechend musste entweder die Schrittzahl vom linken oder vom rechten Rad negativ gesetzt werden. Dies ließ sich durch schlichtes Ausprobieren schnell ausmachen. Um eine Kurvendrehung zu ermöglichen,​ musste zuletzt die Schrittzahl des entsprechenden Rades herabgesetzt werden, in welche Richtung M-O sich bewegt. Wenn M-O bspw. nach links abbiegen soll, so muss das linke Rad deutlich weniger Schritte pro Umdrehung ausführen als das rechte Rad, um ein Abbiegen zu ermöglichen.\\ ​
 +
 +{{:​projektesose24:​m-o:​drv8834_schaltung.png?​nolink|Schaltplan für den Anschluss eines Mikrocontrollers an einen DRV8834 Schrittmotortreiberträger}}
 +> **Abbildung 4:** Schaltplan für den Anschluss eines Mikrocontrollers an einen DRV8834 Schrittmotortreiberträger. [[projektdokumentation#​Quellenverzeichnis|1.)]]
 +
 +{{:​projektesose24:​m-o:​nema_11_schrittmotor_spulenanordnung.png?​nolink|Schaltplan des bipolaren Schrittmotors - Spulenanordnung}}\\ ​
 +> **Abbildung 5:** Schaltplan des bipolaren Schrittmotors. Die Anordnung der Spulen ist beim Anschluss des Schrittmotors an den Driver zu beachten. [[projektdokumentation#​Quellenverzeichnis|2.)]]
 +
 +**3.) Gestikulation**\\ ​
 +\\ 
 +Unter Gestikulation verstehen wir die Arm- und Kopfbewegungen von M-O während einzelner Phasen seines Lebenszyklus. So soll er bspw. seine Arme samt Putzrolle emporheben, um seine Arbeitsbereitschaft zu signalisieren. Diese Gesten unterstreichen seine Persönlichkeit und sind Szenen aus dem Film nachempfunden. Um diese Bewegungen zu ermöglichen,​ müssen jedoch die Standardpositionen der Servomotoren aufeinander abgestimmt werden. Der linke und rechte Servomotor hatten jeweils eine andere Ausgangseinstellung,​ was bei der Befestigung der Arme berücksichtigt werden musste. Durch ständiges Nachjustieren der Arme und Verändern der Gradzahl im Programmcode,​ konnten die Servomotoren schließlich aufeinander abgestimmt werden, sodass beide Arme synchron nach oben bewegt wurden. Die gleiche Herangehensweise verwendeten wir, um die Auf- und Abbewegung des Kopfes einzustellen. ​
 +
 +**4.) Ausgabe von Audiodateien im MP3-Format**\\ ​
 +\\ 
 +Um dem Bild von M-O möglichst nahe zu kommen, konnten wir nicht auf seine einzigartige,​ niedliche Stimme verzichten! Bei der letzten umgesetzten Baugruppe bestand die Aufgabe darin, Audioausgaben über einen Arduino Nano und unter Verwendung eines simplen Piezolautsprechers zu ermöglichen. Wir entschieden uns für drei Audioausschnitte,​ die während einzelner Phasen seines Lebenszyklus abgespielt werden sollten:​\\ ​
 +\\ 
 +{{:​projektesose24:​m-o:​m-o_name.mp3|M-O_Name}}\\ ​   ​
 +{{:​projektesose24:​m-o:​m-o_scream.mp3|M-O_Scream}}\\ ​
 +{{:​projektesose24:​m-o:​m-o_confirmation.mp3|M-O_Confirmation}}\\ ​  
 +
 +> Nicht eingebundene Audiodateien:​\\ ​
 +{{:​projektesose24:​m-o:​m-o_woah.mp3|M-O_Woah}}\\ ​
 +{{:​projektesose24:​m-o:​m-o_complain_and_scream.mp3|M-O_Complain and Scream}}\\ ​
 +
 +Nicht eingebundene Audiodateien stellten Alternativen zu den bestehenden dar. 
 +Um kurze Audioausschnitte auf einem Arduino Nano abspielen zu können, müssen wir zunächst die Größe der MP3-Dateien anpassen. Mithilfe des kostenlosen Audio-Editors Audacity, stellen wir ein 16-bit-Format ein und setzen die Projektrate auf das kleinstmöglichste Niveau (8000 Hz). Anschließend exportieren wir die Dateien. Um die Dateien nun einbinden zu können, dekodieren wir sie mithilfe einer Software genannt „EncodeAudio“ für Windows. Der dekodierte Code wird direkt in die Zwischenablage kopiert und kann einfach im Programmcode eingefügt werden. Einzig verändert werden musste die eingebundene Bibliothek „PCM.h“. Aufgrund der Inkompatibilität der Bibliotheken „Servo.h“ und „PCM.h“,​ bedingt durch gleiche Timer-Konfiguration (Timer 1), mussten wir auf die alternative Bibliothek „FlagPCM.h“ umsteigen, welche einen anderen Timer verwendet, um nicht in Konflikt mit der Servo-Bibliothek zu geraten.\\ ​
 + 
 +Das Abspielen von Audiodateien nimmt mit Abstand den größten Teil vom Programmierspeicherplatz ein. Unter Berücksichtigung der anderen Baugruppen, werden 95% des Speichers für M-Os Anwendung belegt. Dies ist einer der Gründe, weshalb die nächste Baugruppe - mit einem Programmierspeicherplatz von 8% - nicht implementiert wurde. ​
 +
 +**5.) Generieren von Augen über LED-Matrizen**\\ ​
 +\\  ​
 +Die Augen generierenden LED-Matrizen hätten M-Os Bild vervollständigt. An sich ist der Programmcode fertig. Es gibt drei verschiedene Modi, um seinen Gemütszustand auszudrücken:​ neutral, wütend und angestrengt/​konzentriert. Der Code müsste lediglich in Zusammenhang mit dem Hauptprogramm gebracht werden, gäbe es da nicht das Problem mit dem mangelnden Speicherplatz. Zudem ist unklar, ob erneut Bibliotheken in Konflikt geraten, aufgrund gleicher Timer-Konfigurationen. Außerdem könnte sich die Schaltung ans Breadboard als schwierig erweisen, zudem so gut wie alle Digitalpins am Arduino Nano belegt sind. Möglicherweise gelingt es zukünftigen Gruppen, Ideen für diese Probleme zu entwickeln.
 +
 +----
  
 {{ :​projektesose24:​m-o:​schaltplan_m-o_steckplatine.png?​nolink |Steckplatine M-O}} {{ :​projektesose24:​m-o:​schaltplan_m-o_steckplatine.png?​nolink |Steckplatine M-O}}
-> **Abbildung ​3:** Steckplatine von M-O erstellt mit dem open-source Programm [[https://​fritzing.org/​|Fritzing]]. \\ Da die LED-Matrizen noch nicht im Gesamtsystem ​ integriert sind, werden sie im gegenwärtigen Schaltplan nicht aufgeführt. ​+> **Abbildung ​6:** Steckplatine von M-O erstellt mit dem open-source Programm [[https://​fritzing.org/​|Fritzing]]. \\ Da die LED-Matrizen noch nicht im Gesamtsystem ​ integriert sind, werden sie im gegenwärtigen Schaltplan nicht aufgeführt. ​
  
 ^Pinbelegung am Arduino Nano                                    ^^ ^Pinbelegung am Arduino Nano                                    ^^
Zeile 41: Zeile 103:
 |**<​color #​7092be>​D11</​color>​**|Base-Pin Transistor ​             | |**<​color #​7092be>​D11</​color>​**|Base-Pin Transistor ​             |
  
-> **Abbildung ​X:** Pinbelegungstabelle. Ausschließliche Verwendung von Digitalpins.+> **Abbildung ​7:** Pinbelegungstabelle. Ausschließliche Verwendung von Digitalpins. 
 + 
 +----
  
 ==== Liste verwendeter Bauteile ==== ==== Liste verwendeter Bauteile ====
Zeile 78: Zeile 142:
 Das Zusammenfügen der Einzelbestandteile erfolgte mittels einer Heißklebepistole. Zur Verbesserung der Stabilität der Konstruktion,​ empfehlen wir Nachbau-Interessierten,​ den Einsatz von Schrauben und Ähnlichem. Um die Verkabelung der elektrotechnischen Bestandteile mit der Steckplatine zu ermöglichen,​ wurden mehrere Löcher in die obere und untere Holzbasis gebohrt. Das Zusammenfügen der Einzelbestandteile erfolgte mittels einer Heißklebepistole. Zur Verbesserung der Stabilität der Konstruktion,​ empfehlen wir Nachbau-Interessierten,​ den Einsatz von Schrauben und Ähnlichem. Um die Verkabelung der elektrotechnischen Bestandteile mit der Steckplatine zu ermöglichen,​ wurden mehrere Löcher in die obere und untere Holzbasis gebohrt.
   * **Gehäuse:​**   * **Gehäuse:​**
-  * mehrere DIN-A3 Blätter harte Pappe +  * mehrere DIN-A3 Blätter harte Pappe, Orientierung an einem Papiermodell von [[https://​paper-replika.com/​index.php/​disney/​m-o-paper-model|Paper Replika]]. [[projektdokumentation#​Quellenverzeichnis|4.)]]
-\\ +
  
-{{:​projektesose24:​m-o:​piezolautsprecher_und_transistor_2.jpg?​nolink&​300|Schaltung des Piezolautsprechers ​und Transistors}} +===== Ergebnis ​und Diskussion =====
-{{:​projektesose24:​m-o:​piezolautsprecher_und_transistor_1.jpg?​nolink&​300|Schaltung des Piezolautsprechers und Transistors}}\\  +
-\\  +
-Eine ganze Reihe an Bildern...\\  +
-\\  +
-{{:​projektesose24:​m-o:​m-o_angeschlossen_an_akku_und_powerbank.jpg?​nolink&​300|}} +
-{{:​projektesose24:​m-o:​m-o_aufbau.jpg?​nolink&​300|}} +
-{{:​projektesose24:​m-o:​schaltung_3.jpg?​nolink&​300|}}\\  +
-\\ +
  
-> Audiodateiendie während des Lebenszyklus abgespielt werden:\\  +Aus eigener Sicht haben wir ca. 90% des Projekts abgeschlossen. Zuerst der Überblickwozu unser Roboter jetzt in der Lage ist
-{{:​projektesose24:​m-o:m-o_name.mp3|M-O_Name}}\\ ​    +M-O kann den gesamten geplanten Arbeitszyklus,​ trotz einiger Mängel, durchführenDas bedeutet, dass er mittels den angebrachten Motoren und Line-Tracking-Sensoren eine bestimmte, durch eine schwarze Linie gekennzeichnete Strecke ablaufen kann. Er ist dabei in der Lage, Kurven zu erkennen und er kann seine Tätigkeit beim Auftreffen auf eine schwarze Oberfläche beendenBei den zuletzt durchgeführten Testfahrten gab es keine größeren Probleme hinsichtlich der Stabilität der Räder und er konnte die gegebene Strecke relativ gleichmäßig abfahren. Nur bei den ersten Testfahrten gab es einige Konstruktions-Pannen, dazu später mehr.\\ 
-{{:​projektesose24:​m-o:​m-o_scream.mp3|M-O_Scream}}\\  +
-{{:​projektesose24:​m-o:​m-o_confirmation.mp3|M-O_Confirmation}}\\   ​+
  
-> Nicht eingebundene ​Audiodateien:\\  +Während des Arbeitszyklus verlaufen die Bewegungen des Kopfes und der Arme größtenteils plangemäß,​ was bedeutet, dass alle Winkel der Servomotoren korrekt konfiguriert sind und gleichmäßige Bewegungen stattfinden. Die von den Armen getragene Rolle erfüllt grundlegend ihre Aufgabe. Sie schleift zwar mehr über den Boden als dass sie rollt, doch dies reicht aus, da das Putzen wie bereits gesagt nicht unsere Priorität bei diesem Projekt war. 
-{{:​projektesose24:​m-o:m-o_woah.mp3|M-O_Woah}}\\ ​ +Er ist ebenfalls in der Lage, die von uns ausgewählten ​Audiodateien ​über den Piezolautsprecher auszugeben. Zwar lässt die Audioqualität etwas zu wünschen übrig, doch vorerst reichte es uns aus, dass die gewählten Dateien zum richtigen Zeitpunkt und größtenteils verständlich abgespielt wurden. 
-{{:​projektesose24:​m-o:​m-o_complain_and_scream.mp3|M-O_Complain and Scream}}\\ +Mit dem originalgetreu aussehenden Gehäuse und den großen LED-Matrizen, die sich am Kopf des Roboters befinden, ist auch das optische Erscheinungsbild zu einem gelungenen Ergebnis gekommen. Gleichzeitig sind Gehäuse und Gerüst im Inneren stabil genug, um das Gleichgewicht der gesamten Konstruktion zu halten, wodurch er bei den Testfahrten nicht so aussieht, als ob er jederzeit umfallen könnte
 +Zwar besteht das Gehäuse, dessen Herstellung relativ zeitaufwendig war, nur aus Pappe, doch es ist stabil genug und beeinträchtigt bei Fahrten nicht.\\ 
  
 +Es gibt dennoch einige Mängel, die den finalen Entwurf eben nicht perfekt machen:
 +Wie bereits erwähnt, gab es einige Pannen bei den Testfahrten,​ die sich auf den Zusammenbau unserer Konstruktion zurückführen lassen. Da wir für die Befestigung der Konstruktion ausschließlich Heißkleber verwendeten,​ bildet das Gerüst des Körpers zwar eine stabile Basis, doch die außen angefügten Räder fielen des Öfteren von den Motoren ab. An dieser Stelle wollten wir genug Kleber für einen festen Halt aber auch nicht zu viel Kleber am Motor verwenden, aufgrund der Sorge, dass die Räder verkleben könnten und sich nicht mehr an den Motor drücken lassen. Dies passierte ebenfalls einige Male und war nicht so leicht zu kurieren. Dadurch fielen die Räder allerdings auch ab und eine andere Methode zur Befestigung,​ wie zum Beispiel Schrauben, wäre möglicherweise idealer gewesen.
 +Doch auch an den Armen und vor allem dem Kopf wäre eine stabilere Verbindung praktisch gewesen. Hier reichte der Heißkleber zum Verbinden am Gerüst aus, doch die kleinen Mikro-Servomotoren,​ die wir verwendeten,​ sind nicht für größere Gewichte geeignet. Bei den Testfahrten reichten die Motoren zwar aus, um Arme und Kopf zu bewegen, doch der Kopf fing des Öfteren, aufgrund der ruckartigen Bewegung, an hin- und her zu wackeln. Größere und stabilere Motoren könnten das Problem lösen, doch die Mikro-Servos reichen für unsere Zwecke trotzdem aus.\\ ​
  
-{{:​projektesose24:​m-o:​drv8834_schaltung.png?​nolink|Schaltplan für den Anschluss eines Mikrocontrollers an einen DRV8834 Schrittmotortreiberträger}} +Zusammengefasst gab es einige Herausforderungen in der Konstruktion,​ die durch eine bessere Planung leichter zu lösen gewesen wärenDoch die Konstruktion hält und das Projekt ist größtenteils funktionsfähigAnsonsten gibt es noch einige Aspekte, die wir, aufgrund von Zeitgründen,​ nicht ausbauen konntenDiese könnten zukünftig von uns, oder einer anderen Gruppe erweitert werden:​\\ ​
-> **Abbildung 4:** Schaltplan für den Anschluss eines Mikrocontrollers an einen DRV8834 Schrittmotortreiberträger[[projektdokumentation#​Quellenverzeichnis|1.)]]+
  
-{{:​projektesose24:​m-o:​nema_11_schrittmotor_spulenanordnung.png?​nolink|Schaltplan des bipolaren Schrittmotors - Spulenanordnung}}\\ ​ +Das Erste was fehlt ist ein festliegender Akku für die Schrittmotoren,​ sowie die externe Stromquelle für den Arduino Nano. Wie in den Videos zu sehen ist, mussten wir bis zuletzt Powerbank und Akku bei jeder Testfahrt mithalten, da wir noch keinen Platz für eine Befestigung finden konnten (der Innenraum ist mit den technischen Bestandteilen ausgelastet).  
-> **Abbildung 5:** Schaltplan des bipolaren SchrittmotorsDie Anordnung ​der Spulen ​ist beim Anschluss ​des Schrittmotors ​an den Driver zu beachten[[projektdokumentation#​Quellenverzeichnis|2.)]]+Dann wäre da das Gehäuse für die ArmeM-O besitzt eigentlich noch rundliche Arme, für die ein weiteres Gehäuse, vorzugsweise auch aus Pappe, angebracht werden müsste. Aus Zeitgründen und aufgrund von Prioritäten,​ war dies allerdings nebensächlich. 
 +Des Weiteren fehlt noch die Inbetriebnahme ​der LED-Matrizen. Zwar befinden sich die LED-Matrizen bereits im Kopf, doch wir konnten sie bisher noch nicht verkabeln. Beide von uns verwendeten Breadboards sind nahezu vollständig ausgenutzt, weshalb es schwierig ​ist, sämtliche Kabel der LEDs anzubringen. Ein weiteres Breadboard wäre vermutlich vonnöten, doch auch die begrenzte Anzahl an digitalen Pins auf dem Arduino Nano stellt ein Problem dar. Die LED-Matrizen haben wir bereits vollständig programmiert,​ doch selbst dann gibt es noch das Problem, dass wir bereits ca. 95% des Arduino-Speicherplatzes verwenden und der LED-Code benötigt weitere 8%. Dies liegt vor allem an der Größe der Audiodateien,​ die wir verwenden, da diese einen Großteil des Speicherplatzes ausnutzenDa der Code zur Verfügung steht, müsste lediglich der Gesamtcode komprimiert werden, um mehr Speicherplatz freizugebenStattdessen könnte der verfügbare Speicherplatz selbst erhöht werden bspw. durch den Einsatz eines anderen Mikrocontrollers (Arduino Unooder mithilfe einer zusätzlichen SD-Karte. 
 +Zuletzt könnte in Zukunft der Lebenszyklus des Roboters erweitert werden. In unserem Fall besitzt der Roboter einen Arbeitsstrang,​ der beim Auftreffen auf eine schwarze Oberfläche endet, doch es könnten noch Erweiterungen,​ wie zum Beispiel eine alternative Startsequenz,​ etabliert werden, wie es in unserem ursprünglichen Plan gedacht war. 
 +\\ 
  
-===== Ergebnis und Diskussion ===== 
 {{:​projektesose24:​m-o:​m-o_testfahrt_auf_gerader_strecke.mp4|M-O:​ Testfahrt auf gerader Strecke}}\\ ​ {{:​projektesose24:​m-o:​m-o_testfahrt_auf_gerader_strecke.mp4|M-O:​ Testfahrt auf gerader Strecke}}\\ ​
-> **Video 1:** Jungfernfahrt auf gerader Strecke. ​(Die Kurvenerkennung über die Infrarotsensoren erfolgt zwar einwandfrei,​ doch aufgrund ​der eingestellten Schrittzahl/​Schritte pro Umdrehung der Räder, ist M-O nicht in der Lage, rechtzeitig die Kurve zu kriegen.) Das Abbiegen ist noch nicht geglückt.\\ ​+> **Video 1:** Jungfernfahrt auf gerader Strecke. ​Aufgrund ​der im Abschnitt [[projektdokumentation#​Systembestandteile im Detail|Systembestandteile im Detail]] unter dem Punkt Fortbewegung genannten Hindernisse, ist das Abbiegen ​zu diesem Zeitpunkt ​noch nicht geglückt.\\ ​
  
 {{:​projektesose24:​m-o:​m-o_testfahrt_-_fehlgeschlagenes_abbiegen.mp4|M-O:​ Testfahrt im Kreis}}\\ ​ {{:​projektesose24:​m-o:​m-o_testfahrt_-_fehlgeschlagenes_abbiegen.mp4|M-O:​ Testfahrt im Kreis}}\\ ​
Zeile 118: Zeile 176:
  
 ===== Programmcode und Rohdaten ===== ===== Programmcode und Rohdaten =====
-<note important>​Ergänzende Bemerkungen zu den Files!</​note>​ 
   * {{:​projektesose24:​m-o:​m-o_programmcode.zip|}}\\   * {{:​projektesose24:​m-o:​m-o_programmcode.zip|}}\\
   * {{:​projektesose24:​m-o:​m-o_rohdaten.zip|}}\\ ​   * {{:​projektesose24:​m-o:​m-o_rohdaten.zip|}}\\ ​
projektesose24/m-o/projektdokumentation.1727635805.txt.gz · Zuletzt geändert: 2024/09/29 20:50 von jana_alexandra