Kostenloser Versand ab €74,95 NL

Vor 16:00 bestelt = Heute versendet

Schnelle Lieferung mit DHL

XNUMX Tage Rückgaberecht *


Land

Raspberry Pi Projekt: Magic 8 Ball

Bei diesem Raspberry Pi Projekt werden wir eines verwenden Raspberry Pi und mache Sense HAT zu einem Magic 8-Ball!

 Dieser Leitfaden behandelt: 

  • Anforderungen
  • Schaltungsbau
  • Upgrade und Update
  • Neue Datei erstellen
  • Programmierung (Textversion)
  • Programmierung (SenseHat)
  • Shake
  • Anfänger 40% 40%
  • 30 45-min 45% 45%
  • Kostet 146,15 € 55% 55%

Schritt 2: Erstellen einer Schaltung

Wir werden zuerst den Sense HAT anbringen Raspberry Pi. Dies erreichen Sie, indem Sie die Schrauben an der Unterseite entfernen Raspberry Pi und ziehen Sie die Abstandshalter fest, dann verbinden wir den 40-poligen GPIO-Header mit dem Raspberry Pi. Sie können jetzt den 40-poligen GPIO-Header des Sense HAT anschließen. Befestigen Sie dann den Sense HAT von oben, indem Sie Schrauben von oben durch den Sense HAT in die Abstandshalter schrauben. Es sollte so aussehen:

Bild eines AstroPi

Schritt 3: Update und Upgrade

Aktualisieren und aktualisieren Sie zunächst Ihr System, indem Sie die folgenden Befehle in ein Terminalfenster eingeben (während Sie mit dem Internet verbunden sind):

sudo apt-get update
sudo apt-get upgrade

Installieren Sie nun die Sense HAT-Softwarepakete:

sudo apt-get install sense-hat
sudo pip-3.2 install pillow

Starten Sie abschließend das neu Raspberry Pi Um die Installation abzuschließen:

sudo reboot

Schritt 4: Neue Datei erstellen

In diesem Projekt bauen Sie Ihren eigenen Magic 8 Ball mit Ihrem Raspberry Pi, ein Sense HAT und etwas Python-Code. Ein Magic 8 Ball ist ein Spiel, bei dem Sie eine geschlossene Frage stellen, sie schütteln und eine Vorhersage erhalten.

Wenn nicht Raspberry Pi und über Sense HAT verfügen, können Sie den Sense HAT-Emulator hier oder den integrierten Sense HAT-Emulator für Windows in jedem Schritt in diesem Projekt verwenden.

Eine gute Möglichkeit, Ihren Code zeitweise zu schreiben und zu testen, ist die Verwendung von IDLE 3, einer Entwicklungsanwendung für Python. Sie schreiben Ihren Code in Python 3. 

Klik op Menu > Programmeren > Python 3 (IDLE)Zodra het Python-shellvenster is geladen,
klik je op Bestand en Nieuw bestand. Dit opent een teksteditorvenster waarin je je code kunt schrijven,
opslaan en testen. Sla het lege bestand op als magic8ball.py door te klikken op Bestand en Opslaan als.

Schritt 5: Programmierung (Textversion)

Eine gute Möglichkeit, Ihr Magic 8 Ball-Programm zu starten, besteht darin, zunächst eine Textversion eines Magic 8 Ball-Programms zu erstellen. Lassen Sie uns darüber nachdenken, was ein Magic 8 Ball bewirkt. Zuerst stellt man eine Frage, schüttelt den Ball, dreht ihn um und liest eine zufällig ausgewählte Antwort vor. Aus diesem Grund benötigen Sie eine Liste mit Antworten und eine Möglichkeit, eine zufällig auszuwählen und diese Antwort auf dem Bildschirm anzuzeigen.

Zunächst müssen Sie die Auswahlfunktion aus der Zufallsbibliothek und die Schlaffunktion aus der Zeitbibliothek importieren. Geben Sie Folgendes in Ihre magic8ball.py-Textdatei ein:

from random import choice
from time import sleep

Mit der Druckfunktion können Sie Text für den Benutzer Ihres Programms auf den Bildschirm drucken. Typ:

print("Stel een vraag")

Dann muss eine Pause eingelegt werden, bevor das Programm mit einer Antwort antwortet, sodass der Benutzer eine Frage stellen kann. Mithilfe der Zeitbibliothek können Sie das Programm auffordern, eine bestimmte Zeitspanne zu warten, beispielsweise so:

sleep(3)

Das Programm pausiert für drei Sekunden. Sie können diesen Wert anpassen, um die Zeit zu verlängern oder zu verkürzen. Erstellen Sie nun eine Liste mit Antworten, die das Programm auf die Frage geben kann. Listen können auf die gleiche Weise wie Variablen benannt werden; zum Beispiel Zahl = [1, 2, 3, 4]. Diese Liste namens „Nummer“ enthält vier Elemente. Ihre Liste enthält Textzeichenfolgen, die auf dem Bildschirm angezeigt werden. Diese Texte werden ziemlich lang sein. Geben Sie Folgendes ein, um Ihre Liste zu erstellen:

replies = ['Tekenen wijzen op ja',      
'Zonder twijfel',
'Je kunt erop vertrouwen',
'Reken er niet op',
'Het ziet er goed uit',
'Kan het nu niet voorspellen',
'Het is beslist zo',
'Outlook is niet zo goed'
]

Schließlich ist eine Anweisung erforderlich, um ein Element zufällig aus der Liste auszuwählen und es dann auf dem Bildschirm anzuzeigen. Sie können hierfür die Zufallsbibliothek verwenden, indem Sie Folgendes eingeben:

print(choice(replies))

Speichern Sie Ihren Code, indem Sie auf Datei und Speichern klicken. Führen Sie dann Ihr Programm aus, um zu testen, ob es funktioniert, indem Sie auf „Ausführen“ und „Modul ausführen“ klicken. Im IDLE 3-Shell-Fenster sollte die Ausgabe „Frage stellen“ angezeigt werden.

Schritt 6: Sense HAT programmieren

Nachdem Sie nun den Textdruck im Python 3-Shell-Fenster auf Ihrem Bildschirm haben, ändern wir den Code so, dass der Text über die LED-Matrix auf Ihrem Sense HAT scrollt. Dazu müssen Sie die Sense HAT-Bibliothek verwenden und die Druckfunktionen durch die Sense HAT-Funktion show_message ersetzen.

Fügen Sie im Abschnitt „Importierte Module“ die folgenden Zeilen hinzu:

from sense_hat import SenseHatsense = SenseHat()

Ersetzen Sie dann „print“ durch „sense.show_message“ in Ihrem Code. Es gibt zwei Orte, an denen Sie dies tun müssen. Speichern Sie Ihr Programm, indem Sie Strg + S auf Ihrer Tastatur drücken. Drücken Sie F5, um Ihr Programm auszuführen und zu testen. Möglicherweise stellen Sie fest, dass sich der Text langsam über die LED-Matrix bewegt Raspberry Pi Schriftrollen. Um das Scrollen des Textes zu beschleunigen, können Sie „scroll_speed=(0.06)“ zu Ihren Textzeichenfolgen hinzufügen, wie folgt:

 

 

from sense_hat import SenseHat from random import choice from time import sleep sense = SenseHat() sense.show_message("Frage stellen", scroll_speed=0.06) sleep(3) Antworten = ['Zeichen deuten auf Ja', 'Ohne Zweifel' , „Sie können sich darauf verlassen“, „Verlassen Sie sich nicht darauf“, „Es sieht gut aus“, „Kann es jetzt nicht vorhersagen“, „Das ist es definitiv“, „Die Aussichten sind nicht so gut“ ] sense.show_message (Auswahl (Antworten), scroll_speed=0.06)

Schritt 7: Schütteln

Bei traditionellen Magic 8 Balls muss die Person, die eine Frage stellt, diese schütteln, bevor eine Antwort gegeben wird. Dies kann mit einem Sense HAT simuliert werden, indem der Beschleunigungsmesser verwendet wird, der Vibrationen und Bewegungen misst. In den meisten Smartphones sind Beschleunigungsmesser zu finden, die die Ausrichtung des Bildschirms ändern, je nachdem, wie Sie das Gerät halten.

Lassen Sie uns den Beschleunigungsmesser am Sense HAT verwenden, um Änderungen in der Größe der g-Kraft auf jeder Achse (x, y und z) zu erkennen, bevor wir den Teil Ihres Programms ausführen, der dem Benutzer eine zufällige Reaktion liefert.

while True:    
x, y, z = sense.get_accelerometer_raw().values()

x = abs(x)

y = abs(y)

z = abs(z)

Beachten Sie, dass Groß- und Kleinschreibung und Einrückung in Python sehr wichtig sind. Stellen Sie sicher, dass Sie nach einer Zeile mit Doppelpunkt 4 Leerzeichen zum Einrücken verwenden. Durch die Verwendung von „abs“ wird jede Zahl in eine positive Zahl umgewandelt. Das bedeutet, dass die Richtung der Schwingung ignoriert und die Stärke der Schwingung berücksichtigt wird! Jetzt ist es an der Zeit, in unserem Code eine Bedingung festzulegen, die prüft, ob sich die x-, y- und z-Achse geändert (d. h. verschoben) hat, bevor eine zufällige Antwort ausgewählt wird. Wenn keine Bewegung erkannt wird, erfolgt keine Reaktion.

if x > 2 or y > 2 or z > 2 :

sense.show_message(choice(replies))

else:

sense.clear()

Das Programm prüft, ob die Achsen x, y und z größer als der Wert 2 sind. Durch Ändern dieses Wertes können Sie die Empfindlichkeit des Programms gegenüber Bewegungen anpassen. Wenn Sie möchten, dass jemand das hat Raspberry Pi und Sense HAT wirklich kräftig geschüttelt werden muss, verwenden Sie einen höheren Wert. Speichern Sie Ihr Programm, indem Sie Strg + S auf Ihrer Tastatur drücken. Drücken Sie F5, um Ihr Programm auszuführen und zu testen. Ihr Code sollte so aussehen:

from sense_hat import SenseHat from random import choice from time import sleep sense = SenseHat() sense.show_message("ask a questions", scroll_speed=0.08) sleep(3) replies = ["YES!", "No", "Vielleicht" , „Auf jeden Fall!“, „Natürlich nicht!“, ] while True: x, y, z = sense.get_accelerometer_raw().values() x = abs(x) y = abs(y) z = abs(z) wenn x > 2 oder y > 2 oder z > 2: sense.show_message(choice(replies)) sonst: sense.clear()


Und das war es! Hat es nicht geklappt? Schauen Sie sich die vorherigen Schritte noch einmal an, um zu sehen, was schief gelaufen ist. Hat es funktioniert? Dann schauen Sie sich unsere Projekte an!

Die Bewertung von www.elektronicavoorjou.nl bei WebwinkelKeur-Bewertungen ist 9.3 / 10 basierend auf 5020 Bewertungen.