Dosenautomat: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Zeile 152: Zeile 152:
===Programmcode===
===Programmcode===
Programmcode in Bearbeitung.
Programmcode in Bearbeitung.
<small>
{| class="wikitable"
{| class="wikitable"
|-
|-
Zeile 182: Zeile 181:
int selectedServo = 0;              //
int selectedServo = 0;              //
</syntaxhighlight>
</syntaxhighlight>
</small>
<!-- 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.  -->
|}
|}

Version vom 5. Oktober 2023, 20:02 Uhr

Autor: Bartos Schwichtenberg
Betreuer: noch offen


Einleitung

Das Projekt befasst sich mit der Entwicklung eines "Dosenautomaten mit Dreifachauswahl" im Rahmen des Studiengangs Ba. Mechatronik im 5. Semester. Dieser innovative Automat zeichnet sich durch drei wesentliche Komponenten aus: 1. drei Aktuatoren (Motoren zur Fachauswahl), 2. Sensorik Nr. 1 (Tasteneingabe durch Benutzer), 3. Sensorik Nr. 2 (Beleuchtung für Fachentnahme).

Anforderungen

Tabelle 1: Anforderung an die Komponente
ID Inhalt Ersteller Datum Geprüft von Datum
1 Die drei Aktuatoren (Servomotor) müssen bewegbar sein. Bartos Schwichtenberg 05.10.2023 AUTOR XX.10.2023
2 Das Chiplesegerät muss den Chip (korrekten) erkennen. Bartos Schwichtenberg 05.10.2023 AUTOR XX.10.2023
3 Das OLED-Display muss Bereitschaftsbetrieb anzeigen. Bartos Schwichtenberg 05.10.2023 AUTOR XX.10.2023
4 Die LED soll die Spannungsversorgung (5V über USB) des Systems anzeigen. Bartos Schwichtenberg 05.10.2023 AUTOR XX.10.2023
5 TEXT........TEXT........TEXT. AUTOR XX.10.2023 AUTOR XX.10.2023
6 TEXT........TEXT........TEXT. AUTOR XX.10.2023 AUTOR XX.10.2023
7 TEXT........TEXT........TEXT. AUTOR XX.10.2023 AUTOR XX.10.2023
8 TEXT........TEXT........TEXT. AUTOR XX.10.2023 AUTOR XX.10.2023

Tabelle 1 zeigt die funktionalen Anforderungen.

Funktionaler Systementwurf/Technischer Systementwurf

Komponentenspezifikation

Tabelle 2: Liste aller Komponenten (in Bearbeitung)
ID Komponente Bezeichnung Abbildung
1 Taster/Tastenfeld in Bearbeitung Beispiel
2 OLED-Display in Bearbeitung Beispiel
3 Status-LED grün in Bearbeitung Beispiel
4 Status-LED rot in Bearbeitung Beispiel
5 Chiplesegerät mit Chip in Bearbeitung Beispiel
6 Plexiglas in Bearbeitung Beispiel
7 Verbrauchsmaterial Holz, Schrauben, Holzleim, Kabel, Lötzinn, Schrumpfschlauch Beispiel

Umsetzung (HW/SW)

Gehäuse

Die Abbildung 4 und 5 zeigt das Gehäuse. Es ist aus Holzplatten zusammen geleimt und verschraubt. Als Schutz dient auf der Vorderseite eine Plexiglasscheibe. Zur einfachen Auffüllung ist auf der Rückseite ein Eingabefach. Die Steuerung der Aktuatoren, Sensoren, Mikrokontroller ist im Gehäuse eingebaut. Die Bedienelektronik befindet sich auf der Vorderseite des Geräts.

Schaltung

Zum Einsatz kommt der Mikrokontroller.

Code

Es wird ein Code in auf den Mikrocontroller geschrieben.

Programmcode

Programmcode in Bearbeitung.

//Bibliotheken
#include <Servo.h>                  //Bibliothek <Servo.h> hinzugefügt

// Initialisierung der Pins
const int startButton = 2;          //Start-Knopf ist auf DigitalPort 2
const int button1 = 3;              //Knopf-Nr.-1 ist auf DigitalPort 3
const int button2 = 4;              //Knopf-Nr.-2 ist auf DigitalPort 4
const int button3 = 5;              //Knopf-Nr.-3 ist auf DigitalPort 5
const int redLED = 6;               //rote LED ist auf DigitalPort 6
const int yellowLED = 7;            //gelbe LED ist auf DigitalPort 7
const int greenLED = 8;             //grüne LED ist auf DigitalPort 8
const int servo1Pin = 9;            //Servo 1 ist auf DigitalPort 9
const int servo2Pin = 10;           //Servo 2 ist auf DigitalPort 10
const int servo3Pin = 11;           //Servo 3 ist auf DigitalPort 11

// Initialisierung der Servos
Servo servo1;                       //Servo ist ein servo1 
Servo servo2;                       //Servo ist ein servo2
Servo servo3;                       //Servo ist ein servo3

// Initialisierung der Variablen
bool servoRunning = false;          //
bool buttonPressed = false;         //
int selectedServo = 0;              //

Komponententest

Tabelle 3: Test der Anforderungen (in Bearbeitung)
ID Inhalt Getestet von Datum
1 Der Automat muss mit 5V Spannung versorgt werden. *Bearbeiter* **.**.2023
2 Die LED soll aufleuchten, damt die Spannungsversorgung angezeigt wird. *Bearbeiter* **.**.2023
3 OLED-Display muss aufleuchten und vorgegebenen Text ausgeben. *Bearbeiter* **.**.2023
4 Chiplesegerät muss den korrekten Chip erkennen. *Bearbeiter* **.**.2023
5 OLED-Display zeigt die Auswahlbereitschaft an. *Bearbeiter* **.**.2023
6 Durch Tastenauswahl muss tastenabhöngig der richtige Motor (Servo) angesteuert werden. *Bearbeiter* **.**.2023
7 Informierung des Benutzer zur Entnehmung der Ware (OLED, LED). *Bearbeiter* **.**.2023

Tabelle 3 zeigt, welche Anforderung vom welchen Bearbeiter getestet wurde

Ergebnis

Zusammenfassung

Lessons Learned

Projektunterlagen

Projektplan

Projektdurchführung

YouTube Video

Weblinks

Literatur


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