Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

projektesose24:int_regal:projektplanung

Das intelligente Bücherregal - Projektplannung


Inhaltsverzeichnis

Einleitung

Mithilfe des intelligenten Bücherregals ist man in der Lage, ein bestimmtes Buch schnell und einfach in seinem Regal zu finden, indem eine LED an der Stelle des gewünschten Buches aufleuchtet und das Buch leicht herausgeschoben wird. Nie wieder im Leben muss man Bücher sortieren oder verzweifelt suchen.


Ziele und Prioritäten

Auf jeden Fall muss es können:

  • LED-Strip an einer bestimmten Stelle des Buches aufleuchten lassen
  • Buch an einer bestimmten Stelle herausschieben
  • Mithilfe der Datenbank wissen, wo welches Buch steht

Am besten sollte es können:

  • Benutzeroberfläche zur Suche und Erweiterung von Büchern

Was nett wäre (nice to have):

  • Suche auch nach Autor, Buchreihe oder Genre
  • Verknüpfung der Datenbank mit einem Scanner, der die ISBN einscannt und die Daten des Buches automatisch in die Datenbank hinzufügt
  • LED-Strip auch als Raumbeleuchtung/Regalbeleuchtung nutzbar
  • Bücher sollten auch gelöscht werden können


Szenario-Skizze

szenario_skizze2.jpg


Teilaufgaben und Arbeitspakete

Teilaufgaben und Schnittstellen

1. Datenbank der Bücher und ihrer Positionen
Es gibt eine Datenbank, erstellt mit SQL, die alle Bücher im Regal, anhand ihrer Position und ihres Titels verwaltet. Der Nutzer kann zu Beginn entscheiden, ob er ein neues Buch hinzufügen möchte, und damit einen neuen Eintrag in der Datenbank erstellt, oder ob er nach einem bestimmten Buch suchen möchte. Wenn man ein Buch suchen möchte, muss man den Titel eingeben, der in der Datenbank gesucht werden soll. Bei erfolgreicher Suche wird an das Programm dann die dazu gespeicherte Position zurückgegeben.

2. LED-Ansteuerung: Aufleuchten der jeweiligen LED an der Stelle des gesuchten Buches
Am Regalbrett, auf dem die Bücher stehen, ist vor den Büchern ein LED-Strip befestigt. Sucht der Nutzer ein bestimmtes Buch und die Suche in der Datenbank ist erfolgreich, kann die LED vor dem Buch angesteuert und zum Leuchten gebracht werden, so dass der Nutzer das Buch findet. (Dafür wird dementsprechend ein Individually-addressable-LED-Strip benötigt, damit alle LEDs einzeln ansteuerbar sind).

3. Herausschieben des gesuchten Buches
Der Roboter ist in der Lage, das gesuchte Buch ein wenig nach vorne zu schieben. Dafür gibt es hinter den Büchern eine Schiene, auf der sich ein Schlitten mithilfe eines Motors nach rechts und links bewegen kann. Auf diesem Schlitten gibt es zusätzlich eine “Scheerengitterkonstruktion” (siehe Zeichnung), die sich mit Hilfe einer Gewindestange nach vorne und hinten bewegen kann. Am Ende dieser Konstruktion gibt es eine Stange, die bspw. mit Schaumstoff gepolstert ist, sodass das gesuchte Buch nicht beschädigt wird.

scheerengitter.jpg

4. Main-Programm zur Verknüpfung aller Teilbereiche
Das Main-Programm (geschrieben in Python) verbindet die unterschiedlichen Teilbereiche miteinander. Es läuft auf einem Raspberry Pi 4. Es stellt als erstes eine Oberfläche zur Verfügung, über die der Nutzer entscheiden kann, ob er ein neues Buch hinzufügen will oder ob er ein schon existierendes Buch suchen will. Entscheidet der Nutzer sich für ein neues Buch, kann er den Titel, sowie die Position eingeben, was in der Datenbank gespeichert wird. Entscheidet der Nutzer sich dafür ein Buch zu suchen, kann der Titel eingegeben werden und die Datenbank gibt die dazugehörige Position an das Programm zurück. Anschließend sorgt das Programm dafür, dass die entsprechende LED aufleuchtet (Aufruf einer zugehörigen LED-Funktion) und, dass sich die Schiene an die richtige Position bewegt (Aufruf einer zugehörigen Motor-Funktion). Der LED-Strip, sowie die Motoren sind mit dem Raspberry Pi verbunden.


Arbeitspakete

exemplarsiches Bücherregal:

  • exemplarische Bücherreihe bauen
    • Holzbrett besorgen (evtl. zuschneiden)
    • Vorrichtung zur Befestigung der Schiene
    • passende Bücher (Bücher sollten sehr ähnliche Breitenmaße haben für möglichst normierte Positionen)

Datenbank:

  • Konzipierung (ER-Modell)
  • Erstellen der Datenbank mit SQL
  • Schnittstelle zum Main-Programm
    • Funktion zum Suchen eines Buches schreiben (Python)
    • Funktion zum Einfügen eines Buches schreiben (Python)

LED-Ansteuerung:

  • LED-Strip kaufen
  • Schnittstelle zum Raspberry Pi: Kommunikation herstellen
  • LED-Strip an Regalbrett anbringen
  • Funktion zur Ansteuerung schreiben
    • Übergabe und Verarbeitung der Position

Schiebekonstruktion:

  • Besorgungen der Einzelteile
  • Einzelteile zu einem System zusammenbauen
    • Scheerengitterkonstruktion bauen
    • Gewinde mit Scheerengitter verbinden
    • Gewinde über flexible Kupplung mit Motor verbinden
    • Motor (für Gewindestange) auf Schlitten befestigen
    • Schlitten an Schiene befestigen
    • Motor (für Schlitten) über Band mit Schlitten auf Schiene fahren lassen
    • System auf dem Bücherbrett befestigen
  • Schnittstelle: Motor-Funktion schreiben
    • Übergabe der Position
    • Fahren des Schlittens zur Position → Verknüpfung Motor und Position (Welcher Wert bedeutet welche Position?)
    • Aus- und Einfahren der Scheerengitterkonstruktion

Main-Program:

  • Verknüpfung der Schnittstellen
  • User-Interface zur Suche oder Eingabe eines Buches


Materialliste

  • Raspberry Pi 4
  • Individually-addressable-LED-Strip (mit möglichst vielen LEDs pro Meter)
  • Jumper Kabel
  • Schiene
  • Schlitten
  • 2x limit switch
  • Motoren
    • Stepper-Motor für Scheerengitter
    • Stepper-Motor, mit Gewindestange kompatibel
  • Scheerengitterkonstruktion
    • Gewindestange
    • Scheerengitter
    • Verbindung Gewindestange und Scheerengitter
    • Verbindung Schlichten und Motor → Band
    • Polsterung
    • Flexible Kuppplung (Verbindung Gewindestange und Motor)
  • Holzbrett
  • Verbindung Holzbrett und Schiene
  • expemlarische, normierte Bücher (aus Holz oder Pappe)


Risiken

Es könnte schwierig für den Roboter werden, wenn die Bücher unterschiedlich breit sind, bzw. wenn es sehr dünne Bücher gibt. Wahrscheinlich werden wir am Anfang zum Entwickeln erst einmal mit normierten Holzblöcken o.Ä. (als Buchersatz) arbeiten.


Gantt-Diagramm

projektesose24/int_regal/projektplanung.txt · Zuletzt geändert: 2024/06/27 13:25 von XeniaN