update documentation
This commit is contained in:
parent
6245d1308a
commit
e1a17808f7
24 changed files with 1749 additions and 1014 deletions
70
client/docs/source/gettingStarted/thridProgram.rst
Normal file
70
client/docs/source/gettingStarted/thridProgram.rst
Normal file
|
@ -0,0 +1,70 @@
|
|||
Mein drittes Programm
|
||||
#####################
|
||||
|
||||
Der offizielle compAIR-Bot ist mit einer Reihe von Sensoren ausgestattet. Die wichtigsten sind die Infrarotsensoren und -sender, die an der Vorderseite des Roboters angebracht sind. Insgesamt gibt es fünf IR-Sensoren.
|
||||
|
||||
Um loszulegen, muss man zunächst das entsprechende Modul wie folgt importieren:
|
||||
|
||||
.. code-block:: python
|
||||
:linenos:
|
||||
|
||||
from compLib.IRSensor import IRSensor
|
||||
|
||||
|irSensor|
|
||||
|
||||
|
||||
Wie im obigen Diagramm zu sehen ist, verfügt jeder Sensor auch über einen entsprechenden IR-Sender / Emitter. Dieser Sender kann mit ``IRSensor.set(port, enable)`` aktiviert werden.
|
||||
|
||||
Schalten wir nun alle fünf Sender ein:
|
||||
|
||||
.. code-block:: python
|
||||
:linenos:
|
||||
|
||||
from compLib.IRSensor import IRSensor
|
||||
|
||||
IRSensor.enable()
|
||||
|
||||
Diese fünf verschiedenen Sensoren befinden sich an der Vorderseite des Roboters und sind wichtig, um schwarze Linien zu erkennen.
|
||||
|
||||
Es ist sehr einfach, den Wert der Sensoren abzulesen:
|
||||
|
||||
.. code-block:: python
|
||||
:linenos:
|
||||
|
||||
from compLib.IRSensor import IRSensor
|
||||
|
||||
IRSensor.enable()
|
||||
|
||||
if IRSensor.read_all()[0] > 500:
|
||||
print("high")
|
||||
else:
|
||||
print("low")
|
||||
|
||||
**Erkennen einer schwarzen Linie**
|
||||
Um den IR-Sensor zu testen, kannst du deinen Roboter auf eine schwarze Linie stellen. Der Sensor in der Mitte sollte auf der schwarzen Linie liegen.
|
||||
|
||||
.. code-block:: python
|
||||
:linenos:
|
||||
|
||||
from compLib.IRSensor import IRSensor
|
||||
|
||||
IRSensor.enable()
|
||||
COLOR_BREAK = 900
|
||||
|
||||
if IRSensor.read_all()[2] > COLOR_BREAK:
|
||||
print("Robot is standing on a black line")
|
||||
else:
|
||||
print("Robot is NOT standing on a black line")
|
||||
|
||||
Wenn das Programm ausgeführt wird, zeigt es an, dass der Roboter auf einer schwarzen Linie steht, wenn sich der mittlere IR-Sensor des Roboters über einer schwarzen Linie befindet, und es zeigt an, dass der Roboter NICHT auf einer schwarzen Linie steht, wenn sich der mittlere IR-Sensor nicht über einer Linie befindet.
|
||||
|
||||
| In ``Zeile 1`` importieren wir das ``IRSensor``-Modul, das zur Kommunikation mit dem IR-Sensor-Board verwendet werden kann.
|
||||
| In ``Zeile 3`` wird der Sensor mit der Nummer ``3`` aktiviert. Wenn wir einen Sensor nicht aktivieren, können wir ihn nicht in unserem Programm verwenden.
|
||||
| In ``Zeile 4`` stellen wir einen Farbschwellenwert von ``900`` ein, mit dem wir später prüfen werden, ob der Sensorwert unter oder über diesem Schwellenwert liegt. Unterhalb bedeutet, dass sich eine helle Farbe unter dem IR-Sensor befindet und ein höherer Wert als ``900`` bedeutet, dass sich eine dunkle Farbe unter dem IR-Sensor befindet.
|
||||
|
||||
| In ``Zeile 6`` lesen wir den Sensor Nummer ``2`` aus und prüfen, ob der Wert über dem von uns definierten Schwellenwert von ``900`` liegt. Wenn das der Fall ist, hat der IR-Sensor eine schwarze Linie erkannt.
|
||||
|
||||
Wir werden nun das Programm so ändern, dass es alle ``0.1`` Sekunden prüft, ob sich eine schwarze Linie unter dem Roboter befindet, und wenn dies der Fall ist, eine Meldung ausgibt.
|
||||
|
||||
|
||||
.. |irSensor| image:: images/07_irSensor.webp
|
Reference in a new issue