Miniaturisierte Verkehrsampeln in einer Kreuzung mit Warnung bei schlechten Durchfahrt: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(18 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 59: Zeile 59:


== Funktionaler Systementwurf/Technischer Systementwurf ==
== Funktionaler Systementwurf/Technischer Systementwurf ==
[[Datei:Funktionaler Systementwurf eines Verkehrsampelns.png|44px|gerahmt|zentriert|Skizze eines funktionalen Systementwurf eines Verkehrsampelns]]
[[Datei:Funktionaler Systementwurf eines Verkehrsampelns.png|150px|gerahmt|zentriert|Skizze eines funktionalen Systementwurf eines Verkehrsampelns]]
<!-- Füllen Sie Ihre Projektskizze bis hierher aus. Fügen Sie einen Projektplan unten ein.  -->
<!-- Füllen Sie Ihre Projektskizze bis hierher aus. Fügen Sie einen Projektplan unten ein.  -->


Zeile 90: Zeile 90:
|-
|-
| 4
| 4
|Lumetheus LED  Farbe weiß
| Lumetheus LED 5mm Farbe weiß 14.000 mcd 4 Stück Leuchtdiode extra hell 3V weiße Diode 2 Pin LEDs
| [[Datei:Lumetheus LED 5mm Farbe weiß 14.000 mcd 25 Stück Leuchtdiode extra hell 3V weiße Diode 2 Pin LEDs.jpg|mini|.jpg|128px]]
|-
| 5
|Micro Taktilen Druckschalter
|Micro Taktilen Druckschalter
4 Stück Micro Tactile Switch 6 x 6 x 6 mm 2 pins,Mikro Schalter Tactile Drucktaster Für Steckbrett Elektronische Schaltung
Stück Micro Tactile Switch 6 x 6 x 6 mm 2 pins,Mikro Schalter Tactile Drucktaster Für Steckbrett Elektronische Schaltung
| [[Datei:Chanzon Taktilen Druckschalter Micro Tactile Switch 6 x 6 x 6 mm 2 pins 20 Stück Mikro Schalter Tactile Drucktaster Für Steckbrett Elektronische Schaltung....jpg|mini|128px]]
| [[Datei:Chanzon Taktilen Druckschalter Micro Tactile Switch 6 x 6 x 6 mm 2 pins 20 Stück Mikro Schalter Tactile Drucktaster Für Steckbrett Elektronische Schaltung....jpg|mini|128px]]
|-
|-
| 5
| 6
|Draht Klingeldraht Kabel Isolierung
|Draht Klingeldraht Kabel Isolierung
| 8 farbige 30AWG Verzinnte Kupfer Solid Kabel
| 8 farbige 30AWG Verzinnte Kupfer Solid Kabel
|[[Datei:280M Wire Wrapping Draht Klingeldraht Kabel Isolierung Test 30AWG Verzinnte Kupfer Solid Kabel.jpg|mini|.jpg|128px]]
|[[Datei:280M Wire Wrapping Draht Klingeldraht Kabel Isolierung Test 30AWG Verzinnte Kupfer Solid Kabel.jpg|mini|.jpg|128px]]
|-
|-
| 6
| 7
|Schrumpfschlauch
|Schrumpfschlauch
|Schrumpfschlauch mit 12 Verschiedene Größen
|Schrumpfschlauch mit 12 Verschiedene Größen
|[[Datei:560-tlg Schrumpfschlauch mit 12 Verschiedene Größen.jpg|mini|.jpg|128px]]
|[[Datei:560-tlg Schrumpfschlauch mit 12 Verschiedene Größen.jpg|mini|.jpg|128px]]
|-
|-
| 7
| 8
|  Jumper Wire Kabel & Breadboard
| 1 x 65Stk. Jumper Wire Kabel M2M und 1 x Mini Breadboard 400 Pins kompatibel mit Arduino und Raspberry Pi
|[[Datei:AZDelivery Breadboard Kit - 3 x 65Stk. Jumper Wire Kabel M2M und 3 x Mini Breadboard 400 Pins kompatibel mit Arduino und Raspberry Pi.jpg|mini|.jpg|128px]]
|-
| 9
| PVC Rohr Rund starre Kunststoffrohr
| PVC Rohr Rund starre Kunststoffrohr
|4 Stück PVC Rohr Rund starre Kunststoffrohr 8mm ID 10mm AD 500mm Weiß für Kabelmuffe
|4 Stück PVC Rohr Rund starre Kunststoffrohr 8mm ID 10mm AD 500mm Weiß für Kabelmuffe
|[[Datei:4 Stück PVC Rohr Rund starre Kunststoffrohr 8mm ID 10mm AD 500mm Weiß Kabelmuffe.jpg|mini|.jpg|128px]]
|[[Datei:4 Stück PVC Rohr Rund starre Kunststoffrohr 8mm ID 10mm AD 500mm Weiß Kabelmuffe.jpg|mini|.jpg|128px]]
|-
|-
| 8
| 10
|  USB Anschlusskabel
|  USB Anschlusskabel
|0,3 m USB Anschlusskabel SW USB Stecker Typ A zu B für Arduino UNO, MEGA, usw...
|0,3 m USB Anschlusskabel SW USB Stecker Typ A zu B für Arduino UNO, MEGA, usw...
|[[Datei:0,3 m USB Anschlusskabel SW USB Stecker Typ A zu B für Arduino UNO, MEGA, usw.....jpg|mini|.jpg|128px]]
|[[Datei:0,3 m USB Anschlusskabel SW USB Stecker Typ A zu B für Arduino UNO, MEGA, usw.....jpg|mini|.jpg|128px]]
|-
| 11
|  Lötzinn Draht Lötmittel zum Elektrolöten und Heimwerken
|Lötzinn (100g per 1mm)
|[[Datei:Lötzinn 1mm, Lötdraht Elektronik, Lötzinn Draht Lötmittel zum Elektrolöten und Heimwerken (100g per 1mm).jpg|mini|128px]]
|-
| 12
| Sperrholzplatte
|1x 500g quadratische Sperrholzplatte (500mm x 500mm x 4mm)
|[[Datei:Sperrholzplatte, Kiefer, 4 mm.jpg|mini|128px]]
|-
| 13
| Bretter-Box mit Schublade
|1x Bretter-Box mit Schublade(50cm x 3,5cm x 20cm)
|[[Datei:Bretter-Box mit Schublade.jpg|mini|128px]]
|-
|-
| 14
|6 Stück Resistor
|Resistor 100 Ohm und 1000 Ohm
|[[Datei:B2Q Kohleschicht Widerstand Resistor 100 Ohm 1W 5% 10 Stück (0024).jpg|mini|128px]]
|-
|-
|}
|}


== Umsetzung (HW/SW) ==
== Umsetzung (HW/SW) ==
<br/>
'''Löten und Verkabelung von LED Ampel Modul , LED Farbe weiß, Ultraschall Sensor (Entfernung Sensor) und der Micro Taktilen Druckschalter :''' <br/>
Jeder LED Ampel Modul , LED Farbe weiß, Ultraschall Sensor (Entfernung Sensor) und der Micro Taktilen Druckschalter wird mit einer bestimmte Drahts Kabel Isolierungsfarbe durch weiß Löten verbunden und danach in dem gefertigten runden PVC Rohres  Ampelpfosten hin gefügt und geklebt .
<br/>
'''Fertigung des  runden PVC Rohres in 4 Stück Ampelpfosten:''' <br/>
der PVC Rohr von 500mm wird in 4 Stücke geschnitten und jeder Stück muss auf seine Oberfläche geschnitten werden sodass das  LED Ampel Modul , LED Farbe weiß und der Micro Taktilen Druckschalter genau in ihre Plätze passen wie das folgendes Bild es darstellt.
<gallery widths="600" heights="600" >
Datei:Ampelpfosten.jpg|600px|Abb.Ampelpfosten
</gallery>
<br/>
'''Montage/Assembling:''' <br/>
Der Sperrholzplatte wird in seine Mittelfels quadratisch mit vier Löcher gebohrt . Die 4 Ampelpfosten werden in den 4 Löcher  der Sperrholzplatte gefügt und geklebt . Danach kommt das gesamte auf dem Bretter-Box mit Schublade  und wird mit Schrauber festgebunden. In der Schublade des Bretter-Box befindet sich der Arduino Microcontroller und einen  Breadboard .Alle Verlängerungskabel von LED Ampel Modul , LED Farbe weiß, Ultraschall Sensor (Entfernung Sensor) und der Micro Taktilen Druckschalter werden in  Arduino Microcontroller und in  Breadboard eingesteckt und das Programm wird durch den USB Anschlusskabel in Arduino Microcontroller hochgeladen. So wie das gesamte  durch das folgendes Bild gezeigt.
<gallery widths="600" heights="600" >
Datei:Gesamtes System.jpg|600px|Abb.Gesamtes System
</gallery>
<br/>
'''Programmierugsplan:''' <br/>
<gallery widths="600" heights="600" >
Datei:Programmierungsablauf.png|600px|Abb.Programmierugsplan
</gallery>
<br/>
<br/>
'''Code fürs Programm:''' <br/>
'''Code fürs Programm:''' <br/>
<div style="width:1100px; height:800px; overflow:scroll; border: hidden">
<div style="width:1100px; height:800px; overflow:scroll; border: hidden">
<syntaxhighlight lang="cpp" style="border: none; background-color: #EFF1C1; font-size:larger">
<syntaxhighlight lang="cpp" style="border: none; background-color: #EFF1C1; font-size:larger">
//****************************************************************************//
//      Hochschule Hamm-Lippstadt - Studiengang B. Mechatronik - SoSe 22      *
//*****************************************************************************
// Modul          :  GET-Praktikum                                          *
//                                                                            *
// Datum          : 10. 01. 2023                                            *
//                                                                            *
// Funktion        :  Ampel in einer Kreuzung steuern                        *
//                                                                            *
// Implementation  : Arduino IDE vers. 1.8.16                                *
//                                                                            *
// Hardware        : Arduino MEGA                                            *
//                                                                            *
// Device          :    LED-leuchte                                          *
//                                                                            *
// Prüfer          : Prof. Schneider,Prof.Göbel und Herr  Ebmeyer            *
//                                                                            *
// Authoren        :Delmas Ngoumtsa & Christian Teyou
//                                                                            *
// Gruppe          : 2.5                                                *
//                                                                            *
//*****************************************************************************
int rote_LED1=26;
int rote_LED1=26;
int orange_LED1=24;  // Ampel für Verkehr auf Straße 1
int orange_LED1=24;  // Ampel für Verkehr auf Straße 1
Zeile 184: Zeile 192:
   unsigned long ZeitLang = 1000;// Zeit Ansteurung
   unsigned long ZeitLang = 1000;// Zeit Ansteurung
   unsigned long ZeitKurz = 500;
   unsigned long ZeitKurz = 500;


int fussgruene_LED1=36;// Ampel für Fußgänger auf Straße 1
int fussgruene_LED1=36;// Ampel für Fußgänger auf Straße 1
Zeile 235: Zeile 242:
   pinMode (fussgruene_LED1,OUTPUT);
   pinMode (fussgruene_LED1,OUTPUT);
   pinMode (fussorange_LED1,OUTPUT);
   pinMode (fussorange_LED1,OUTPUT);
 
                                    // Stustände von LEDs Pins
   pinMode(Weiss2V, OUTPUT);
   pinMode(Weiss2V, OUTPUT);
   pinMode(Weiss2R, OUTPUT);
   pinMode(Weiss2R, OUTPUT);
Zeile 251: Zeile 258:
  pinMode (ECHO2V,INPUT);
  pinMode (ECHO2V,INPUT);
  pinMode (TRIG2V,OUTPUT);
  pinMode (TRIG2V,OUTPUT);
                                  // Stustände von Ultraschlalle Pins
   pinMode (ECHO1R,INPUT);
   pinMode (ECHO1R,INPUT);
  pinMode (TRIG1R,OUTPUT);
  pinMode (TRIG1R,OUTPUT);
Zeile 257: Zeile 264:
  pinMode (ECHO2R,INPUT);
  pinMode (ECHO2R,INPUT);
  pinMode (TRIG2R,OUTPUT);
  pinMode (TRIG2R,OUTPUT);
  Serial.begin(9600);
}
}


void loop()  
void loop()  
{  
{
 
Serial.print("Abstand ist : ");
Serial.print(Abstand1V);
Serial.println(" cm");
 
Serial.print("Abstand ist : ");
Serial.print(Abstand1R);
Serial.println(" cm");
 
 
   Zeit = millis();
   Zeit = millis();
Serial.print("Zeit =  ");
   for ( i= 0 ; i < 30; i++  )
Serial.println( Zeit);
 
   for ( i= 0 ; i < 100; i++  )
  {
  {
   Serial.print("Ziklus Nr. ");
   Serial.print("Ziklus Nr. ");
Zeile 285: Zeile 277:
  {
  {
  digitalWrite (rote_LED1,LOW);  
  digitalWrite (rote_LED1,LOW);  
  digitalWrite (fussrote_LED1,HIGH);
  digitalWrite (fussrote_LED1,HIGH);     // Durchführung und Abruf von Supfonktionen
   
   
  digitalWrite (orange_LED1,LOW);
  digitalWrite (orange_LED1,LOW);
Zeile 307: Zeile 299:
  digitalWrite (gruene_LED1,LOW);
  digitalWrite (gruene_LED1,LOW);
  digitalWrite (fussgruene_LED1,LOW);
  digitalWrite (fussgruene_LED1,LOW);
 
                                    // Durchführung und Abruf von Supfonktionen
 
  digitalWrite (orange_LED2,HIGH);
  digitalWrite (orange_LED2,HIGH);
  digitalWrite (fussorange_LED2,HIGH);
  digitalWrite (fussorange_LED2,HIGH);
Zeile 334: Zeile 325:
   }   
   }   
  Schalter1();
  Schalter1();
  Schalter2();
  Schalter2();                                 // Durchführung und Abruf von Supfonktionen
if(  Zeit > 15000)
if(  Zeit > 15000)
   {
   {
Zeile 348: Zeile 339:
   digitalWrite (gruene_LED1,HIGH);
   digitalWrite (gruene_LED1,HIGH);
   digitalWrite (fussgruene_LED1,LOW);
   digitalWrite (fussgruene_LED1,LOW);
 
 
 
   Zweite_Ultraschallt();
   Zweite_Ultraschallt();
 
   }
   }
   if( Zeit > 5000 && Zeit < 8000)
   if( Zeit > 5000 && Zeit < 8000)
   {
   {
Zeile 364: Zeile 352:
  digitalWrite (gruene_LED1,LOW);
  digitalWrite (gruene_LED1,LOW);
  digitalWrite (fussgruene_LED1,LOW);
  digitalWrite (fussgruene_LED1,LOW);
                                                  // Durchführung und Abruf von Supfonktionen
 
  digitalWrite (orange_LED2,HIGH);
  digitalWrite (orange_LED2,HIGH);
  digitalWrite (fussorange_LED2,HIGH);
  digitalWrite (fussorange_LED2,HIGH);
Zeile 386: Zeile 373:
  digitalWrite (gruene_LED2,HIGH);
  digitalWrite (gruene_LED2,HIGH);
  digitalWrite (fussgruene_LED2,LOW);
  digitalWrite (fussgruene_LED2,LOW);
 
 
  Erste_Ultraschallt();
  Erste_Ultraschallt();
   }
   }
Zeile 393: Zeile 379:
   }
   }
}
}
void Schalter1()
void Schalter1()       //  Supfonktion für die Taster der erste Strasse
 
   {
   {
   Taster1  =digitalRead(Pin_Taster1);
   Taster1  =digitalRead(Pin_Taster1);
Zeile 408: Zeile 393:
  digitalWrite (fussgruene_LED1,LOW);  
  digitalWrite (fussgruene_LED1,LOW);  
  delay(3000);
  delay(3000);
  digitalWrite (gruene_LED2,HIGH);
digitalWrite (rote_LED1,HIGH);
digitalWrite (fussrote_LED1,LOW);
  digitalWrite (orange_LED1,LOW);
  digitalWrite (orange_LED1,LOW);
  digitalWrite (fussorange_LED1,LOW);
  digitalWrite (fussorange_LED1,LOW);
 
digitalWrite (fussgruene_LED1,HIGH);
delay(5000);
digitalWrite (gruene_LED2,LOW);
digitalWrite (rote_LED1,LOW);
digitalWrite (fussgruene_LED1,LOW);
digitalWrite (rote_LED1,LOW);
   Erste_Ultraschallt();
   Erste_Ultraschallt();


Zeile 416: Zeile 409:
   }
   }


void Schalter2()
void Schalter2()     //  Supfonktion für die Taster der zweite Strasse


   {
   {
Zeile 431: Zeile 424:
  digitalWrite (fussgruene_LED2,LOW);  
  digitalWrite (fussgruene_LED2,LOW);  
  delay(3000);
  delay(3000);
digitalWrite (rote_LED1,HIGH);
digitalWrite (fussrote_LED2,LOW);
  digitalWrite (orange_LED2,LOW);
  digitalWrite (orange_LED2,LOW);
  digitalWrite (fussorange_LED2,LOW);
  digitalWrite (fussorange_LED2,LOW);
 
digitalWrite (fussgruene_LED2,HIGH);
delay(5000);
digitalWrite (fussgruene_LED2,LOW);
digitalWrite (rote_LED1,LOW);
   Zweite_Ultraschallt();
   Zweite_Ultraschallt();


  }
  }
   }
   }
 
 
  void Erste_Ultraschallt()
  void Erste_Ultraschallt()
  {
  {
    
    
Erste_Ultraschallt1();
Erste_Ultraschallt1();
   }
   }
   void Zweite_Ultraschallt()
   void Zweite_Ultraschallt()
  {
  {
Zeile 454: Zeile 447:


   }
   }
 
   void Erste_Ultraschallt1() //  Supfonktion für den vorderen und hinteren Ultraschall der erste Strasse
 
   void Erste_Ultraschallt1()
   {  
   {  
digitalWrite (TRIG1V,LOW);
digitalWrite (TRIG1V,LOW);
Zeile 465: Zeile 456:
float Distance1V = pulseIn(ECHO1V,HIGH);
float Distance1V = pulseIn(ECHO1V,HIGH);
Abstand1V = Distance1V / 58.0;
Abstand1V = Distance1V / 58.0;
Serial.print("Abstand ist : ");
Serial.print(Abstand1V);
Serial.println(" cm");
digitalWrite (TRIG1R,LOW);
digitalWrite (TRIG1R,LOW);
delayMicroseconds(2);  
delayMicroseconds(2);  
Zeile 477: Zeile 463:
float Distance1R = pulseIn(ECHO1R,HIGH);
float Distance1R = pulseIn(ECHO1R,HIGH);
Abstand1R = Distance1R / 58.0;
Abstand1R = Distance1R / 58.0;
Serial.print("Abstand ist : ");
Serial.print(Abstand1R);
Serial.println(" cm");
   a1V = digitalRead (rote_LED1);  
   a1V = digitalRead (rote_LED1);  
     digitalWrite (rote_LED1,HIGH);
     digitalWrite (rote_LED1,HIGH);
Zeile 494: Zeile 474:
     if(a1V ==  LOW && Abstand1V <10)
     if(a1V ==  LOW && Abstand1V <10)
     {
     {
      digitalWrite (rote_LED1,HIGH);
  digitalWrite(Weiss1V,HIGH );
  digitalWrite(Weiss1V,HIGH );
   delay(10);
   delay(10);
  digitalWrite (rote_LED1,HIGH);
   digitalWrite(Weiss1V,LOW );
   digitalWrite(Weiss1V,LOW );
   delay(5);  
   delay(5);
  digitalWrite (rote_LED1,HIGH);  
   digitalWrite(Weiss1V,HIGH );
   digitalWrite(Weiss1V,HIGH );
   delay(10);
   delay(10);
  digitalWrite (rote_LED1,HIGH);
   digitalWrite(Weiss1V,LOW );
   digitalWrite(Weiss1V,LOW );
   delay(5);
   delay(5);
Zeile 507: Zeile 491:
     if(a1V ==  LOW && Abstand1R <10)
     if(a1V ==  LOW && Abstand1R <10)
     {
     {
  digitalWrite (rote_LED1,HIGH);
   digitalWrite(Weiss1R,HIGH );
   digitalWrite(Weiss1R,HIGH );
   delay(10);
   delay(10);
  digitalWrite (rote_LED1,HIGH);
   digitalWrite(Weiss1R,LOW  );
   digitalWrite(Weiss1R,LOW  );
   delay(5);  
   delay(5);  
  digitalWrite (rote_LED1,HIGH);
   digitalWrite(Weiss1R,HIGH );
   digitalWrite(Weiss1R,HIGH );
   delay(10);
   delay(10);
  digitalWrite (rote_LED1,HIGH);
   digitalWrite(Weiss1R,LOW  );
   digitalWrite(Weiss1R,LOW  );
   delay(5);
   delay(5);
  digitalWrite (rote_LED1,HIGH);
     }
     }
     delay(tW);     
     delay(tW);     
Zeile 522: Zeile 510:
delay(0 );
delay(0 );
     }
     }
 
  void Zweite_Ultraschallt1() //  Supfonktion für den hinteren und vorderen Ultraschall der zweite Strasse
 
  void Zweite_Ultraschallt1()
   {  
   {  
digitalWrite (TRIG2V,LOW);
digitalWrite (TRIG2V,LOW);
Zeile 533: Zeile 519:
float Distance2V = pulseIn(ECHO2V,HIGH);
float Distance2V = pulseIn(ECHO2V,HIGH);
Abstand2V = Distance2V / 58.0;
Abstand2V = Distance2V / 58.0;
Serial.print("Abstand ist : ");
Serial.print(Abstand2V);
Serial.println(" cm");
digitalWrite (TRIG2R,LOW);
digitalWrite (TRIG2R,LOW);
delayMicroseconds(2);  
delayMicroseconds(2);  
Zeile 545: Zeile 526:
float Distance2R = pulseIn(ECHO2R,HIGH);
float Distance2R = pulseIn(ECHO2R,HIGH);
Abstand2R = Distance2R / 58.0;
Abstand2R = Distance2R / 58.0;
Serial.print("Abstand ist : ");
Serial.print(Abstand2R);
Serial.println(" cm");
a2V = digitalRead (rote_LED2);  
a2V = digitalRead (rote_LED2);  


Zeile 562: Zeile 538:
     if(a2V ==  LOW && Abstand2V <10)
     if(a2V ==  LOW && Abstand2V <10)
     {
     {
      digitalWrite (rote_LED2,HIGH);
  digitalWrite(Weiss2V,HIGH );
  digitalWrite(Weiss2V,HIGH );
   delay(10);
   delay(10);
  digitalWrite (rote_LED2,HIGH);
   digitalWrite(Weiss2V,LOW );
   digitalWrite(Weiss2V,LOW );
   delay(5);  
   delay(5);  
  digitalWrite (rote_LED2,HIGH);
   digitalWrite(Weiss2V,HIGH );
   digitalWrite(Weiss2V,HIGH );
   delay(10);
   delay(10);
  digitalWrite (rote_LED2,HIGH);
   digitalWrite(Weiss2V,LOW );
   digitalWrite(Weiss2V,LOW );
   delay(5);
   delay(5);
  digitalWrite (rote_LED2,HIGH);
     }
     }
     delay(tW);
     delay(tW);
Zeile 575: Zeile 556:
     if(a2V ==  LOW && Abstand2R <10)
     if(a2V ==  LOW && Abstand2R <10)
     {
     {
   
  digitalWrite (rote_LED2,HIGH);
   digitalWrite(Weiss2R,HIGH );
   digitalWrite(Weiss2R,HIGH );
   delay(10);
   delay(10);
  digitalWrite (rote_LED2,HIGH);
   digitalWrite(Weiss2R,LOW  );
   digitalWrite(Weiss2R,LOW  );
   delay(5);  
   delay(5);
  digitalWrite (rote_LED2,HIGH);  
   digitalWrite(Weiss2R,HIGH );
   digitalWrite(Weiss2R,HIGH );
   delay(10);
   delay(10);
  digitalWrite (rote_LED2,HIGH);
   digitalWrite(Weiss2R,LOW  );
   digitalWrite(Weiss2R,LOW  );
   delay(5);
   delay(5);
  digitalWrite (rote_LED2,HIGH);
     }
     }
     delay(tW);     
     delay(tW);     
Zeile 589: Zeile 574:
digitalWrite (rote_LED2,LOW);
digitalWrite (rote_LED2,LOW);
delay(0 );
delay(0 );
     }
     }    


</syntaxhighlight>
</syntaxhighlight>
</div>
</div>
== Komponententest ==
== Komponententest ==


== Ergebnis ==
== Ergebnis ==
{{#ev:youtube|https://www.youtube.com/watch?v=d5gBx5cKAHM| 600 | |}}


== Zusammenfassung ==
== Zusammenfassung ==
=== Lessons Learned ===
=== Lessons Learned ===
Während der Durchführung des Projektes wir sind auf paar Probleme gestoßen worden vor allem
- Das Kleben von Micro Taktilen Druckschalter hat zur folge das diese sich nicht mehr drücken lässt.
- Die  Ampelpfosten mit runden PVC Rohr war eine schlechte Wahl ,denn die Verkabelung war eng und unzuverlässig: Besser wäre ein 3D Präzise gedruckte Ampelpfosten.
- Die schlechte Verkabelung in  Ampelpfosten hat zu folge dass manche LED Ampel Modul nicht leuchten.


== Projektunterlagen ==
== Projektunterlagen ==
=== Projektplan ===
=== Projektplan ===
=== Projektdurchführung ===
<gallery widths="600" heights="600" >
 
Datei:Photo.png|600px|Abb.Projektplan
== YouTube Video ==
</gallery>
 
== Weblinks ==
 
== Literatur ==
 
 
 
<!-- Fügen Sie diesen Footer hinzu.  -->
----
→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2021|WS 21/22: Angewandte Elektrotechnik (BSE)]]
 
== Anforderungen ==
 
== Funktionaler Systementwurf/Technischer Systementwurf ==
 
 
<!-- Füllen Sie Ihre Projektskizze bis hierher aus. Fügen Sie einen Projektplan unten ein.  -->


== Komponentenspezifikation ==
== Umsetzung (HW/SW) ==
== Komponententest ==
== Ergebnis ==
== Zusammenfassung ==
=== Lessons Learned ===
== Projektunterlagen ==
=== Projektplan ===
=== Projektdurchführung ===
=== Projektdurchführung ===


Zeile 644: Zeile 607:
== Literatur ==
== Literatur ==
Schreiter, D. (2019). Arduino: Kompendium: Elektronik, Programmierung und Projekte (1. Aufl. 2018). BMU Verlag.
Schreiter, D. (2019). Arduino: Kompendium: Elektronik, Programmierung und Projekte (1. Aufl. 2018). BMU Verlag.
<!-- Fügen Sie diesen Footer hinzu.  -->
<!-- Fügen Sie diesen Footer hinzu.  -->
----
----
→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2021|WS 21/22: Angewandte Elektrotechnik (BSE)]]
→ zurück zur Übersicht: [[:Kategorie:ProjekteET_MTR_BSE_WS2021|WS 21/22: Angewandte Elektrotechnik (BSE)]]

Aktuelle Version vom 10. Januar 2023, 23:57 Uhr

Autoren: Delmas Ngoumtsa & Christian Teyou
Betreuer: Prof. Göbel & Prof. Schneider

→ zurück zur Übersicht: WS 20/21: Angewandte Elektrotechnik (BSE)
→ zurück zur Übersicht: WS 21/22: Angewandte Elektrotechnik (BSE)
→ zurück zur Übersicht: WS 22/23: Angewandte Elektrotechnik (BSE)


Einleitung

In laufende des GET-Fachpraktikum an der Hochschule Hamm-Lippstadt im Studiengang Mechatronik soll ein Projekt je Team realisiert werden. Das Ziel des Projekts ist eine“ miniaturisierte Verkehrsampeln in einer Kreuzung mit Warnung bei schlechter Durchfahrt“ zu herstellen. Dies dient zu Vermeidung bzw. Verringern von möglichen Unfälle in einer Verkehrskreuzung, indem es den Straßenverkehr reguliert. Die Regelung wird durch drei unterschiedlichen farbigen LEDs (rote, orange ,grüne ) und ein weiße LED als Blitzer bei Fehler durchgefügt. Die LED werden auf einen Zirkus von 2 Minuten. Diese entspricht dass, die rote LED sollte einen Beleuchtungsdauer von 1 Minuten ,die orange 10 Sekunden und die grüne 50 Sekunden. Dazu kommt auch einen Taster für den vorfahrt von Fußgänger, die nach 30 Sekunden einer Betätigung den Zirkus wieder nach Anfang bringen soll und nur nach 2 Minuten die Möglichkeit den Zirkus wieder abzubrechen .

Anforderungen

Tabelle 1: Testbare, atomare Anforderungen
ID Inhalt Ersteller Datum Geprüft von Datum
1 Die Ampeln bestehen aus drei Lampen mit verschiedenen Farben(R=rote , O=orange und G=grün) . Delmas Ngoumtsa & Christian Teyou 04.10.2022
2 Jede Lampe muss eine bestimmte Zeit lang zyklisch leuchten. Delmas Ngoumtsa & Christian Teyou 04.10.2022
3 Ein Berührungssensor muss vor die Lampe eingebaut Werden und nur während der beleuchtenden roten Lampe aktiviert werden. Delmas Ngoumtsa & Christian Teyou 04.10.2022
4 Eine zusätzliche weiße Lampe in der miete der Straße und in paar Meter höher muss zwei oder drei Mal blinken nach Aktivierung des Sensors Delmas Ngoumtsa & Christian Teyou 04.10.2022

Funktionaler Systementwurf/Technischer Systementwurf

Skizze eines funktionalen Systementwurf eines Verkehrsampelns

Komponentenspezifikation

Tabelle 2: Liste aller Komponenten
ID Komponente Bezeichnung Bild
1 Arduino Microcontroller 1x ATMEGA 2560 R3 Board CH340 Mega2560 R3 Compatible Atmega2560-16AU
2 Arduino Ultraschall Sensor (Entfernung Sensor) 4x HC-SR04
3 Arduino LED Ampel Modul 16 x LED Ampel Modul Creative DIY Mini-Ampel 3,3-5V 8mm
4 Lumetheus LED Farbe weiß Lumetheus LED 5mm Farbe weiß 14.000 mcd 4 Stück Leuchtdiode extra hell 3V weiße Diode 2 Pin LEDs
.jpg
5 Micro Taktilen Druckschalter 8 Stück Micro Tactile Switch 6 x 6 x 6 mm 2 pins,Mikro Schalter Tactile Drucktaster Für Steckbrett Elektronische Schaltung
6 Draht Klingeldraht Kabel Isolierung 8 farbige 30AWG Verzinnte Kupfer Solid Kabel
.jpg
7 Schrumpfschlauch Schrumpfschlauch mit 12 Verschiedene Größen
.jpg
8 Jumper Wire Kabel & Breadboard 1 x 65Stk. Jumper Wire Kabel M2M und 1 x Mini Breadboard 400 Pins kompatibel mit Arduino und Raspberry Pi
.jpg
9 PVC Rohr Rund starre Kunststoffrohr 4 Stück PVC Rohr Rund starre Kunststoffrohr 8mm ID 10mm AD 500mm Weiß für Kabelmuffe
.jpg
10 USB Anschlusskabel 0,3 m USB Anschlusskabel SW USB Stecker Typ A zu B für Arduino UNO, MEGA, usw...
.jpg
11 Lötzinn Draht Lötmittel zum Elektrolöten und Heimwerken Lötzinn (100g per 1mm)
12 Sperrholzplatte 1x 500g quadratische Sperrholzplatte (500mm x 500mm x 4mm)
13 Bretter-Box mit Schublade 1x Bretter-Box mit Schublade(50cm x 3,5cm x 20cm)
14 6 Stück Resistor Resistor 100 Ohm und 1000 Ohm

Umsetzung (HW/SW)


Löten und Verkabelung von LED Ampel Modul , LED Farbe weiß, Ultraschall Sensor (Entfernung Sensor) und der Micro Taktilen Druckschalter :
Jeder LED Ampel Modul , LED Farbe weiß, Ultraschall Sensor (Entfernung Sensor) und der Micro Taktilen Druckschalter wird mit einer bestimmte Drahts Kabel Isolierungsfarbe durch weiß Löten verbunden und danach in dem gefertigten runden PVC Rohres Ampelpfosten hin gefügt und geklebt .
Fertigung des runden PVC Rohres in 4 Stück Ampelpfosten:
der PVC Rohr von 500mm wird in 4 Stücke geschnitten und jeder Stück muss auf seine Oberfläche geschnitten werden sodass das LED Ampel Modul , LED Farbe weiß und der Micro Taktilen Druckschalter genau in ihre Plätze passen wie das folgendes Bild es darstellt.


Montage/Assembling:
Der Sperrholzplatte wird in seine Mittelfels quadratisch mit vier Löcher gebohrt . Die 4 Ampelpfosten werden in den 4 Löcher der Sperrholzplatte gefügt und geklebt . Danach kommt das gesamte auf dem Bretter-Box mit Schublade und wird mit Schrauber festgebunden. In der Schublade des Bretter-Box befindet sich der Arduino Microcontroller und einen Breadboard .Alle Verlängerungskabel von LED Ampel Modul , LED Farbe weiß, Ultraschall Sensor (Entfernung Sensor) und der Micro Taktilen Druckschalter werden in Arduino Microcontroller und in Breadboard eingesteckt und das Programm wird durch den USB Anschlusskabel in Arduino Microcontroller hochgeladen. So wie das gesamte durch das folgendes Bild gezeigt.


Programmierugsplan:


Code fürs Programm:

int rote_LED1=26;
int orange_LED1=24;  // Ampel für Verkehr auf Straße 1
int gruene_LED1=22;

int rote_LED2=31;
int orange_LED2=33;  // Ampel für Verkehr auf Straße 2
int gruene_LED2=35;

  bool Taster1 = 0; // Taster für Fußgänger,die die Traße 1 überqueren möchten
  bool Taster2 = 0; // Taster für Fußgänger,die die Traße 2 überqueren möchten
  
int Pin_Taster1=13;// Pin wo die Pin_Taster1 eingelesen wird
int Pin_Taster2=12;// Pin wo die Pin_Taster2 eingelesen wird

  unsigned long Zeit = 0;
  unsigned long ZeitLang = 1000;// Zeit Ansteurung
  unsigned long ZeitKurz = 500;

int fussgruene_LED1=36;// Ampel für Fußgänger auf Straße 1
int fussorange_LED1=38;
int fussrote_LED1=40;

int fussgruene_LED2=49;// Ampel für Fußgänger auf Straße 2
int fussorange_LED2=51;
int fussrote_LED2=53;

int i ; // Anzahl Inkrimete

int Weiss1V = 10; // Weiße Melder für vordere Ampel für Verkehr auf Straße 1
int Weiss1R = 8; // Weiße Melder für Rückseite Ampel für Verkehr auf Straße 1

int Weiss2V = 6; // Weiße Melder für vordere Ampel für Verkehr auf Straße 2
int Weiss2R = 4; // Weiße Melder für Rückseite Ampel für Verkehr auf Straße 2

int ECHO1V = 32; // Pins des 1. vorderen Ultraschallsensor für Verkehr auf Straße 1
int TRIG1V = 30;
float Abstand1V = 0; // gelieferte Abstand von der 1. vorderen Ultraschallsensor für Verkehr auf Straße 1

int ECHO2V = 25; // Pins des 2. vorderen Ultraschallsensor für Verkehr auf Straße 1
int TRIG2V = 23;
float Abstand2V = 0; // gelieferte Abstand von der 2. vorderen Ultraschallsensor für Verkehr auf Straße 1

int ECHO1R = 44; // Pins des 1. Rückseite Ultraschallsensor für Verkehr auf Straße 1
int TRIG1R = 42;
float Abstand1R = 0; // gelieferte Abstand von der 1. Rückseite Ultraschallsensor für Verkehr auf Straße 1

int ECHO2R = 43; // Pins des 2. Rückseite Ultraschallsensor für Verkehr auf Straße 1
int TRIG2R = 41;
float Abstand2R = 0; // gelieferte Abstand von der 2. Rückseite Ultraschallsensor für Verkehr auf Straße 1

int a1V ; // Taster für Bedingung des 1. vorderen Ultraschallsensor für Verkehr auf Straße 1
int a2V ; // Taster für Bedingung des 2. vorderen Ultraschallsensor für Verkehr auf Straße 1


int tW = 30;// Zeit des Weißen Melder für  Verkehrsampel

void setup() 
{
  pinMode(Weiss1V, OUTPUT);
  pinMode(Weiss1R, OUTPUT);
  pinMode (rote_LED1,OUTPUT);
  pinMode (orange_LED1,OUTPUT);
  pinMode (gruene_LED1,OUTPUT);
  pinMode (Pin_Taster1,INPUT);
  pinMode (fussrote_LED1,OUTPUT);
  pinMode (fussgruene_LED1,OUTPUT);
  pinMode (fussorange_LED1,OUTPUT);
                                     // Stustände von LEDs Pins
  pinMode(Weiss2V, OUTPUT);
  pinMode(Weiss2R, OUTPUT);
  pinMode (rote_LED2,OUTPUT);
  pinMode (orange_LED2,OUTPUT);
  pinMode (gruene_LED2,OUTPUT);
  pinMode (Pin_Taster2,INPUT);
  pinMode (fussrote_LED2,OUTPUT);
  pinMode (fussgruene_LED2,OUTPUT);
  pinMode (fussorange_LED2,OUTPUT);

  pinMode (ECHO1V,INPUT);
 pinMode (TRIG1V,OUTPUT);

 pinMode (ECHO2V,INPUT);
 pinMode (TRIG2V,OUTPUT);
                                   // Stustände von Ultraschlalle Pins
  pinMode (ECHO1R,INPUT);
 pinMode (TRIG1R,OUTPUT);

 pinMode (ECHO2R,INPUT);
 pinMode (TRIG2R,OUTPUT);
}

void loop() 
{
  Zeit = millis();
  for ( i= 0 ; i < 30; i++  )
 {
  Serial.print("Ziklus Nr. ");
  Serial.println( i );

  if( Zeit < 5000 )
 {
 digitalWrite (rote_LED1,LOW); 
 digitalWrite (fussrote_LED1,HIGH);     // Durchführung und Abruf von Supfonktionen
 
 digitalWrite (orange_LED1,LOW);
 digitalWrite (fussorange_LED1,LOW); 
  
  digitalWrite (gruene_LED1,HIGH);
  digitalWrite (fussgruene_LED1,LOW);

Zweite_Ultraschallt();

  }

  if( Zeit > 5000 && Zeit < 8000)
  {
  digitalWrite (orange_LED1,HIGH);
 digitalWrite (fussorange_LED1,HIGH);
 
  digitalWrite (rote_LED1,LOW);
  digitalWrite (fussrote_LED1,HIGH);
  
 digitalWrite (gruene_LED1,LOW);
 digitalWrite (fussgruene_LED1,LOW);
                                     // Durchführung und Abruf von Supfonktionen
 digitalWrite (orange_LED2,HIGH);
 digitalWrite (fussorange_LED2,HIGH);
 
  digitalWrite (rote_LED2,LOW);
  digitalWrite (fussrote_LED2,LOW);
  
 digitalWrite (gruene_LED2,LOW);
 digitalWrite (fussgruene_LED2,HIGH);
  }
  if( Zeit > 8000 && Zeit < 15000)
  {
  
digitalWrite (orange_LED2,LOW);
 digitalWrite (fussorange_LED2,LOW);
 
  digitalWrite (rote_LED2,LOW);
  digitalWrite (fussrote_LED2,HIGH);
  
 digitalWrite (gruene_LED2,HIGH);
 digitalWrite (fussgruene_LED2,LOW);
 
  Erste_Ultraschallt();

  }  
 Schalter1();
 Schalter2();                                  // Durchführung und Abruf von Supfonktionen
if(  Zeit > 15000)
  {
  Zeit = Zeit - 16000;
if( Zeit < 3000 )
  {
 digitalWrite (rote_LED1,LOW); 
 digitalWrite (fussrote_LED1,HIGH);
 
 digitalWrite (orange_LED1,LOW);
 digitalWrite (fussorange_LED1,LOW); 
  
  digitalWrite (gruene_LED1,HIGH);
  digitalWrite (fussgruene_LED1,LOW);
  
  Zweite_Ultraschallt();
  }
  if( Zeit > 5000 && Zeit < 8000)
  {
  digitalWrite (orange_LED1,HIGH);
 digitalWrite (fussorange_LED1,HIGH);
 
  digitalWrite (rote_LED1,LOW);
  digitalWrite (fussrote_LED1,HIGH);
  
 digitalWrite (gruene_LED1,LOW);
 digitalWrite (fussgruene_LED1,LOW);
                                                   // Durchführung und Abruf von Supfonktionen
 digitalWrite (orange_LED2,HIGH);
 digitalWrite (fussorange_LED2,HIGH);
 
  digitalWrite (rote_LED2,LOW);
  digitalWrite (fussrote_LED2,LOW);
  
 digitalWrite (gruene_LED2,LOW);
 digitalWrite (fussgruene_LED2,HIGH);
  }
  if( Zeit > 8000 && Zeit < 15000)
  {
  
digitalWrite (orange_LED2,LOW);
 digitalWrite (fussorange_LED2,LOW);
 
  digitalWrite (rote_LED2,LOW);
  digitalWrite (fussrote_LED2,HIGH);
  
 digitalWrite (gruene_LED2,HIGH);
 digitalWrite (fussgruene_LED2,LOW);
 
 Erste_Ultraschallt();
  }
  }
  }
}
void Schalter1()       //  Supfonktion für die Taster der erste Strasse
  {
  Taster1  =digitalRead(Pin_Taster1);
  if ( Taster1 == LOW)
  {
  delay(0);
  
 digitalWrite (orange_LED1,HIGH);
 digitalWrite (fussorange_LED1,HIGH);
  digitalWrite (rote_LED1,LOW);
  digitalWrite (fussrote_LED1,HIGH);
 digitalWrite (gruene_LED1,LOW);
 digitalWrite (fussgruene_LED1,LOW); 
 delay(3000);
  digitalWrite (gruene_LED2,HIGH);
 digitalWrite (rote_LED1,HIGH);
 digitalWrite (fussrote_LED1,LOW);
 digitalWrite (orange_LED1,LOW);
 digitalWrite (fussorange_LED1,LOW);
 digitalWrite (fussgruene_LED1,HIGH);
delay(5000);
 digitalWrite (gruene_LED2,LOW);
digitalWrite (rote_LED1,LOW);
digitalWrite (fussgruene_LED1,LOW);
digitalWrite (rote_LED1,LOW);
  Erste_Ultraschallt();

 }
  }

void Schalter2()      //  Supfonktion für die Taster der zweite Strasse

  {
  Taster2  =digitalRead(Pin_Taster2);
  if ( Taster2 == LOW)
  {
  delay(0);
  
 digitalWrite (orange_LED2,HIGH);
 digitalWrite (fussorange_LED2,HIGH);
  digitalWrite (rote_LED2,LOW);
  digitalWrite (fussrote_LED2,HIGH);
 digitalWrite (gruene_LED2,LOW);
 digitalWrite (fussgruene_LED2,LOW); 
 delay(3000);
 digitalWrite (rote_LED1,HIGH);
 digitalWrite (fussrote_LED2,LOW);
 digitalWrite (orange_LED2,LOW);
 digitalWrite (fussorange_LED2,LOW);
 digitalWrite (fussgruene_LED2,HIGH); 
delay(5000);
digitalWrite (fussgruene_LED2,LOW); 
digitalWrite (rote_LED1,LOW);
  Zweite_Ultraschallt();

 }
  }  
 void Erste_Ultraschallt()
 {
  
Erste_Ultraschallt1();
  }
  void Zweite_Ultraschallt()
 {
  
Zweite_Ultraschallt1();

  }
   void Erste_Ultraschallt1()  //  Supfonktion für den vorderen und hinteren Ultraschall der erste Strasse
   { 
digitalWrite (TRIG1V,LOW);
delayMicroseconds(2); 
 digitalWrite (TRIG1V,HIGH);
 delayMicroseconds(2);  
 digitalWrite (TRIG1V,LOW);
float Distance1V = pulseIn(ECHO1V,HIGH);
Abstand1V = Distance1V / 58.0;
digitalWrite (TRIG1R,LOW);
delayMicroseconds(2); 
 digitalWrite (TRIG1R,HIGH);
 delayMicroseconds(2);  
 digitalWrite (TRIG1R,LOW);
float Distance1R = pulseIn(ECHO1R,HIGH);
Abstand1R = Distance1R / 58.0;
   a1V = digitalRead (rote_LED1); 
    digitalWrite (rote_LED1,HIGH);
    digitalWrite (fussrote_LED1,LOW);

    digitalWrite (orange_LED1,LOW);
 digitalWrite (fussorange_LED1,LOW); 
 
 digitalWrite (gruene_LED1,LOW);
 digitalWrite (fussgruene_LED1,HIGH); 
    if(a1V ==  LOW && Abstand1V <10)
    {
       digitalWrite (rote_LED1,HIGH);
 digitalWrite(Weiss1V,HIGH );
  delay(10);
   digitalWrite (rote_LED1,HIGH);
  digitalWrite(Weiss1V,LOW );
  delay(5);
   digitalWrite (rote_LED1,HIGH); 
  digitalWrite(Weiss1V,HIGH );
  delay(10);
   digitalWrite (rote_LED1,HIGH);
  digitalWrite(Weiss1V,LOW );
  delay(5);
    }
     delay(tW);
     digitalWrite(Weiss1V,LOW ); 
     if(a1V ==  LOW && Abstand1R <10)
    {
  digitalWrite (rote_LED1,HIGH);
  digitalWrite(Weiss1R,HIGH );
  delay(10);
   digitalWrite (rote_LED1,HIGH);
  digitalWrite(Weiss1R,LOW  );
  delay(5); 
   digitalWrite (rote_LED1,HIGH);
  digitalWrite(Weiss1R,HIGH );
  delay(10);
   digitalWrite (rote_LED1,HIGH);
  digitalWrite(Weiss1R,LOW  );
  delay(5);
  digitalWrite (rote_LED1,HIGH);
    }
    delay(tW);    
digitalWrite(Weiss1R,LOW );  
digitalWrite (rote_LED1,LOW);
delay(0 );
    }
 void Zweite_Ultraschallt1() //  Supfonktion für den hinteren und vorderen Ultraschall der zweite Strasse
   { 
digitalWrite (TRIG2V,LOW);
delayMicroseconds(2); 
 digitalWrite (TRIG2V,HIGH);
 delayMicroseconds(2);  
 digitalWrite (TRIG2V,LOW);
float Distance2V = pulseIn(ECHO2V,HIGH);
Abstand2V = Distance2V / 58.0;
digitalWrite (TRIG2R,LOW);
delayMicroseconds(2); 
 digitalWrite (TRIG2R,HIGH);
 delayMicroseconds(2);  
 digitalWrite (TRIG2R,LOW);
float Distance2R = pulseIn(ECHO2R,HIGH);
Abstand2R = Distance2R / 58.0;
a2V = digitalRead (rote_LED2); 

 digitalWrite (rote_LED2,HIGH);
    digitalWrite (fussrote_LED2,LOW);
    
digitalWrite (orange_LED2,LOW);
 digitalWrite (fussorange_LED2,LOW);

 digitalWrite (gruene_LED2,LOW);
 digitalWrite (fussgruene_LED2,HIGH); 
    if(a2V ==  LOW && Abstand2V <10)
    {
      digitalWrite (rote_LED2,HIGH);
 digitalWrite(Weiss2V,HIGH );
  delay(10);
  digitalWrite (rote_LED2,HIGH);
  digitalWrite(Weiss2V,LOW );
  delay(5); 
  digitalWrite (rote_LED2,HIGH);
  digitalWrite(Weiss2V,HIGH );
  delay(10);
  digitalWrite (rote_LED2,HIGH);
  digitalWrite(Weiss2V,LOW );
  delay(5);
  digitalWrite (rote_LED2,HIGH);
    }
     delay(tW);
     digitalWrite(Weiss2V,LOW ); 
     if(a2V ==  LOW && Abstand2R <10)
    {
 digitalWrite (rote_LED2,HIGH);
  digitalWrite(Weiss2R,HIGH );
  delay(10);
  digitalWrite (rote_LED2,HIGH);
  digitalWrite(Weiss2R,LOW  );
  delay(5);
  digitalWrite (rote_LED2,HIGH); 
  digitalWrite(Weiss2R,HIGH );
  delay(10);
  digitalWrite (rote_LED2,HIGH);
  digitalWrite(Weiss2R,LOW  );
  delay(5);
  digitalWrite (rote_LED2,HIGH);
    }
    delay(tW);    
digitalWrite(Weiss2R,LOW );  
digitalWrite (rote_LED2,LOW);
delay(0 );
    }

Komponententest

Ergebnis

Zusammenfassung

Lessons Learned

Während der Durchführung des Projektes wir sind auf paar Probleme gestoßen worden vor allem - Das Kleben von Micro Taktilen Druckschalter hat zur folge das diese sich nicht mehr drücken lässt. - Die Ampelpfosten mit runden PVC Rohr war eine schlechte Wahl ,denn die Verkabelung war eng und unzuverlässig: Besser wäre ein 3D Präzise gedruckte Ampelpfosten. - Die schlechte Verkabelung in Ampelpfosten hat zu folge dass manche LED Ampel Modul nicht leuchten.

Projektunterlagen

Projektplan

Projektdurchführung

YouTube Video

Weblinks

Literatur

Schreiter, D. (2019). Arduino: Kompendium: Elektronik, Programmierung und Projekte (1. Aufl. 2018). BMU Verlag.


→ zurück zur Übersicht: WS 21/22: Angewandte Elektrotechnik (BSE)