🚧 Musteraufgaben mündliches ABI Informatik

Eine mündliche ABI-Prüfung besteht aus einer 20 Minuten Vorbereitungszeit mit der Aufgabe und einer 20 Minuten Prüfung, wobei ca. 10 Minuten der Prüfling Zeit bekommt, seine Lösungen der Aufgabenteile vor zu stellen und 10 Minuten weitere Fragen über praktisch alle Themengebiete gestellt werden dürfen…

Hinweis: Dies sind keine “offiziellen” Aufgaben sondern Musteraufgaben, die den Projekt-Charakter meines (unseres) Informatik-Unterrichts wieder spiegeln.
Der Umfang einer konkreten Prüfungs-Aufgabenstellung ist hier übertrieben, es sollen die möglichen Fragestellungen beleuchtet werden.

1 Katzenklappe mit KI und IoT

Eine Katzenklappe mit RFID-Modul soll nur bekannte Tiere ins Haus lassen. Das Verhalten des Tieres wird protokolliert und soll auf mittels KI-Verfahren auf Unregelmäßigkeiten aufmerksam machen. Mehrere Katzenklappen sollen vernetzbar sein, eine App für die Steuerung der Klappe und Darstellung der Daten ist zu entwickeln…

Bild Blockschaltbild

1.1 Katzenklappen Hardware

1.1.1 RFID-Modul mit SPI

Die Katzen haben einen RFID-Token mit einer spezifischen zunächst 4 Byte langen, als GZ speicherbaren UID (Unique Identification Number) implantiert oder ein Halsband mit einem solchen Token.
Zur Identifikation einer Katze ist ein RFID-Lesemodul verbaut und wird über eine SPI-Schnittstelle mit dem µC verbunden (Arduino-Forsa S18).
Nachfolgend das Timing-Diagramm der sich wiederholenden Abfrage ob ein RFID-Token erkannt wird:

SPI Timing Diagramm
SPI Timing Diagramm
  1. Erklären Sie am Beispiel des Timing-Diagramms die Funktionsweise der SPI Datenübertragung.
  2. Mit welchem SPI-Mode werden die Daten übertragen, Begründung.
  3. Wird MSB- oder LSB-First übertragen, Begründung.
  4. Mit welcher Frequenz wird übertragen, begründete Abschätzung reicht.

1.1.2 Klappenfreigabe über Servo

Ein Modellbauservo ist an PC7 (Timer-PWM möglich) angeschlossen und entriegelt die Klappe für eine identifizierte Katze. Dabei gibt es drei Modi: Zu, ReinRaus, NurRein (Tierarztmodus)
Bei Pulsweite 1,0ms ist Klappe zu bei 1,5ms ist Klappe im Tierarztmodus und bei 2.0ms im ReinRaus-Modus. Periodendauer ist 20ms.

  1. Wie kann so ein Signal mit dem µC erzeugt werden, 2 Vorschläge?
  2. Skizzieren Sie den Code für die Operationen setup(), zu() und auf().
Servo PWM-Signal
Servo PWM-Signal

Sensoren zur Erkennung der Türbewegungsrichtung

Eine Sensoreinheit soll erkennen, ob ein Tier rein- oder rausgegangen ist. Eine einfache Lösung sind zwei Schnappschalter🔗 Srein, Sraus an der Tür, die schliessen, wenn die Tür durchquert wird. Die Schalter sind mit VCC und den µC Portpins PA1, PA2 verbunden und haben eine Prelldauer von 10 ms. Eine Operation leseSensor():tRichtungTyp liest die Schalter aus und gibt beim Durchqueren der Tür die Richtung zurück. Aufgaben:

  1. C-Code für setup()
  2. Prellen erklären mit Impulsdiagramm
  3. Wie können Schalter verarbeitet werden, zwei typische Verfahren nennen
  4. Wie kann dabei “entprellt” werden..
  5. Code für Operation leseSensor():tRichtungTyp erstellen, skizzieren..

Zustandsdiagramm beurteilen

Vorgegebene Aufzählungsdatentypen:

enum tModusTyp {ZU,REINRAUS,TIERARZT}; // Modus der Tür
enum tRichtungTyp {NIX,REIN,RAUS}; // Tier geht rein oder raus

Beschreibung der Operationen:

  • leseRFID():GZ gibt die ID des RFID-Tags zurück. Hier zunächst vereinfacht als GZ.
  • bestimmeTModus(rfid:GZ):tModusTyp gibt für das Tier den Türklappenmodus zurück.
  • stelleServo(m:tModusTyp) stellt die Türverriegelung ein.
  • leseSensor():tRichtungTyp gibt die Richtung zurück durch die die Klappe durchschritten wurde.
  • speichereBewegung(rfid:GZ,richtung:tRichtungTyp) speichert die Benutzung der Klappe.

Ist das Zustandsdiagramm brauchbar, beurteilen Sie es anhand dieser Szenarien, schlagen Sie ggfs. Verbesserungen vor:

  1. Bekannte Katze geht zur Klappe schaut durch die Tür und geht wieder.
  2. Zwei Katzen sind an der Klappe eine will rein die andere raus, der RFID-Leser gibt abwechselnd die IDs der Katzen zurück.
Zustandsdiagramm Katzenklappe
Zustandsdiagramm Katzenklappe
Lösungsvorschlag
  1. Die Klappe wird entriegelt, aber da die Tür nicht durchschritten wird nicht mehr gesperrt. stelleServo(ZU) als entry/ in den den Zustand RUHE verschieben.
  2. Es könnte die falsche Katze verarbeitet werden.

1.1.3 Speicherung der UID

Synopsis: [mezmedia.de/technische-informatik/µc-arduino-stm32/1-1d-c-datentypen/]

  1. Welche Speicherbausteinart empfehlen Sie, Begründung.
  2. Zeichen Sie das Blockschaltbild für die gewählte Bausteinart und erklären Sie seine Funktionsweise, Ablauf des Lesens und des Schreibens, wie wird gespeichert.Es können bis zu 10 Katzen-UIDs „gelernt“ werden, welche Datenstruktur empfehlen Sie, skizzieren Sie Speicherung für 2 Katzen.

Akku-Management und Anzeige mit gemultiplexten 7-Segment LEDs

Synopsis: [mezmedia.de/technische-informatik/µc-arduino-stm32/3-1-ad-da-wandlung/] [mezmedia.de/technische-informatik/digitaltechnik/2-7-zeitmultiplex-anzeigen/]

RTC über I2C anschließen

Synopsis: [mezmedia.de/technische-informatik/µc-arduino-stm32/3-7-i2c-schnittstelle/]

1.2 Katzenklappen Software

1.2.1 Katzenverhalten protokollieren

Die Ausflüge der Katzen sollen protokolliert werden können, diese Informationen werden dabei erfasst:

  1. ID der Katze {0..9}, Zeitmarke (Datum, Uhrzeit), Rein oder Raus
  2. Erstellen Sie ein ERM für die Datenspeicherung und folgende SQL-Anweisungen…
  3. Welche OOP-Datenstruktur wäre geeignet, Skizzieren Sie ein Klassendiagramm und begründen Sie Ihren Entwurf.

Katzenverhalten mit KI analysieren

Wie kann das Verhalten der Katze aus den protokollierten Daten auf Anomalien überprüft werden und auffälliges Verhalten erkannt werden…

1.3 Katzenklappe im Netzwerk und IoT

Vernetzen mehrerer Katzenklappen, WLAN, Reichweite.
Wie können die Daten mehrerer Klappen verarbeitet werden?

Möglich: Human – Interface mit HTML

Responsive-Webdesign. CSS-Query, HTML-Formular (get, post)
Bild der Katze, verschiedene Bildformate?

Im Prüfungsgespräch Fragestellungen zu Rechnerarchitektur

Synopsis: [mezmedia.de/category/technische-informatik/rechnerarchitektur/]