Inhaltsverzeichnis:
- Schritt 1: Benötigte Materialien
- Schritt 2: Einrichten des LFSR (Linear Feedback Shift Register)
- Schritt 3: Einrichten der Siebensegmentanzeige
- Schritt 4: Erstellen des Spielmoduls
- Schritt 5: Das Spiel spielen
Video: CPE 133 Endgültiges Projekt Dezimal zu Binär - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Binärzahlen sind eines der ersten Dinge, die einem in den Sinn kommen, wenn man an digitale Logik denkt. Binärzahlen können jedoch für Neulinge ein schwieriges Konzept sein.
Dieses Projekt wird denjenigen helfen, die sowohl neu als auch erfahren mit binären Zahlen sind, die Umwandlung von Dezimalzahlen zu meistern. Durch die Erstellung eines Spiels werden wir Benutzer auf ihre Konvertierungsfähigkeiten testen. Dieses Spiel wird auf einem Basys3-Board ausgeführt und in Verilog programmiert.
Schritt 1: Benötigte Materialien
Die folgenden Materialien werden benötigt, um dieses Dezimal-zu-Binär-Konvertierungsspiel zu erstellen:
- Xilinx Vivado Design Suite-Software
- Digilent Basys3 FPGA-Board
- USB-zu-Micro-USB-Kabel
Schritt 2: Einrichten des LFSR (Linear Feedback Shift Register)
Ein LFSR (Linear Feedback Shift Register) ist ein Modul zur Erzeugung von „zufälligen“Zahlen.
Ein LFSR ist nicht vollständig zufällig, da es Pseudo-Zufallszahlen erzeugt, bei denen Zahlen generiert werden, die zufällig erscheinen, aber nicht zufällig sind.
Ein LFSR ist ein Schieberegister, dessen Eingangsbit eine lineare Funktion seines vorherigen Zustands ist, was bedeutet, dass das LFSR eine endliche Anzahl von Zahlen durchläuft. Speziell für dieses Spiel verwendet das LFSR nur 8 Bit, um die Dezimalzahl, die es generieren kann, auf 255 zu begrenzen.
Taste L (btnL) wird verwendet, um die Nummer auf dem LFSR zurückzusetzen.
Dieses LFSR-Modul wurde nicht von den Machern dieses Spiels erstellt. Das LFSR-Modul wurde von John Knight, Professor an der Carleton University, entwickelt. Der Link zu seinem Modul ist unten enthalten.
www.doe.carleton.ca/~jknight/97.478/97.478_…
Schritt 3: Einrichten der Siebensegmentanzeige
Auf dem Basys3-Board und vielen anderen Geräten wird eine Sieben-Segment-Anzeige verwendet, um alphanumerische Zeichen anzuzeigen.
Das Sieben-Segment-Anzeigemodul, das in diesem Spiel verwendet wird, wandelt eine Binärzahl in eine Dezimalzahl um und zeigt sie als Dezimalzahl an.
Bei Verwendung des zuvor besprochenen LFSR-Moduls wird eine zufällig generierte Zahl auf der Sieben-Segment-Anzeige ausgegeben.
Das Sieben-Segment-Display-Modul wurde nicht von den Machern dieses Spiels entwickelt. Das Sieben-Segment-Anzeigemodul wurde von Joseph Callenes-Sloan, Professor der California Polytechnic State University, bereitgestellt. Das pdf zum Modul ist unten angehängt.
Schritt 4: Erstellen des Spielmoduls
Spiel erstellen (Haupt-) Modul.
Dieses Modul verwendet das LFSR-Modul, um eine Zufallszahl zu generieren und diese dann auf der Sieben-Segment-Anzeige auszugeben.
Das Modul verwendet dann einen Always-Block, der die Zufallszahl zurücksetzt. Dies funktioniert auf der positiven Flanke von Button R (btnR), was bedeutet, dass es nur funktioniert, wenn Button R gedrückt wurde.
Der Block Second Always arbeitet auf der positiven Flanke des Takts (clk). Wenn Taste C (btnC) gedrückt wird, wird überprüft, ob die Nummer auf der Sieben-Segment-Anzeige mit der von den Schaltern (sw) eingegebenen Nummer übereinstimmt. Dieser Block setzt ein Flag (setze das Flag-Register (Flag) auf 1) und ändert die MessageVal-Leitung, je nachdem, ob der Benutzer gewonnen oder verloren hat.
Der Dritte-immer-Block arbeitet auch auf der positiven Flanke des Takts. Wenn das Flag gesetzt ist, wird ssegInputVal auf den Draht messageVal auf der Sieben-Segment-Anzeige gesetzt. Wenn das Flag nicht gesetzt ist, wird weiterhin die Zufallszahl (randomVal) ausgegeben.
Schritt 5: Das Spiel spielen
Anweisungen:
- Der Benutzer wird die Taste R drücken, um ein neues Spiel zu erstellen oder die Zahl auf der Sieben-Segment-Anzeige zu ändern.
- Der Benutzer wird die ersten 8 Schalter nach oben (1) oder unten (0) umlegen, um die Binärzahl einzugeben.
- Schaltfläche C wird verwendet, um zu überprüfen, ob der Benutzer gewonnen oder verloren hat.
- Wenn der Benutzer gewonnen hat, wird '111' auf dem Sieben-Segment-Display angezeigt.
- Wenn der Benutzer verloren hat, wird auf der Sieben-Segment-Anzeige „0“angezeigt.
- Um ein neues Spiel zu starten, kann jederzeit die Taste R gedrückt werden.
Empfohlen:
So fügen Sie Ihrem Projekt ein E-Ink-Display hinzu: 12 Schritte (mit Bildern)
So fügen Sie Ihrem Projekt ein E-Ink-Display hinzu: Viele Projekte beinhalten die Überwachung irgendeiner Art von Daten, wie z. B. Umgebungsdaten, wobei häufig ein Arduino zur Steuerung verwendet wird. In meinem Fall wollte ich den Salzgehalt in meinem Wasserenthärter überwachen. Vielleicht möchten Sie über Ihr Heimnetzwerk auf die Daten zugreifen
Projekt RC: 7 Schritte
Projekt RC: Dieses instructable wurde in Erfüllung der Projektanforderung des Makecourse an der University of South Florida (www.makecourse.com) erstellt. Als Überblick besteht die Idee dieses Projekts darin, ein einführendes Verständnis der Elektronik zu erlangen, S
HAIKU, wenn Mode und Technologie verschmelzen. TfCD-Projekt. TU Delft.: 4 Schritte
HAIKU, wenn Mode und Technologie verschmelzen. TfCD-Projekt. TU Delft.: Haiku ist ein von Mucahit Aydin entwickeltes Konzept für einen MSc-Studiengang der TU Delft. Das Hauptprinzip dieses Kimonos ist es, das Gefühl zu verstärken, von jemandem umarmt zu werden. Dazu zeigt der Kimono nach Berührung ein Muster. Wie? Durch implementieren
Das Akrophobie-Projekt – wikiHow
The Acrophobia Project: Hallo Leute, das war also ein recht interessantes Projekt. In der Schule musste unsere Klasse ein Projekt namens "If This, Then That" durchführen, bei dem wir einen Arduino verwenden mussten, um alles zu machen. Wir konnten buchstäblich alles auswählen, solange wir ein Arduino verwendeten. Es
So fügen Sie jedem Projekt eine WLAN-Steuerung hinzu -- ESP32-Anfängerleitfaden: 5 Schritte
So fügen Sie jedem Projekt eine WLAN-Steuerung hinzu || ESP32-Anfängerhandbuch: In diesem Projekt zeige ich Ihnen, wie einfach / schwierig es ist, einen ESP32 mit der Arduino IDE zu verwenden, um jedem Elektronikprojekt eine WiFi-Steuerung hinzuzufügen. Unterwegs zeige ich Ihnen, wie Sie mit dem ESP32 einen einfachen WLAN-Server erstellen und wie Sie