Hier findest du alle relevanten Dateien und Links rund um unser ESP32 Mikrocontroller-Projekt. Im Projekt entwickeln wir gemeinsam an einem Gerät, worauf als kleines Projekt zum Anfangen das Browser Dino-Spiel gespielt werden können soll.
Wir sind eine sehr programmier-interessierte offene und freie Programmierrunde. Wir treffen uns jeden Mittwoch um 18 Uhr auf unserem Discord-Server, öfters aber auch einfach spontan zwischendurch in den Voice Channels. Komm gerne und schau einfach mal vorbei wenn das nach etwas klingt was dir auch Spaß machen würde! :DD
Keine Verpflichtungen hier, alles locker und entspannt. Die Runde soll ja eh hauptsächlich dazu dienen einfach Spaß zu haben und das zu tun worauf wir Lust haben, im Austausch und einer netten Runde aus anderen, die deine Interessen teilen. Wer weiß, vielleicht lernt man ja sogar was voneinander ;)..
Hier jetzt alle nötigen Infos, Komponenten und Schritte zum Aufsetzen, Testen und selbst Entwickeln von/an unserem aktuellen Hauptprojekt.
- ESP32-S3-DevKitC-1 N16R8
- 2.8" TFT LCD 240x320 ST7789
- Aktuell ein Switch / Button
Hier ein einfacher Weg, das Projekt bei dir einzurichten. Wir machen es hauptsächlich so, du kannst natürlich aber auch frei einen anderen wählen.
Für diesen Weg brauchst du folgende Programme herunterladen und installiert:
- Visual Studio Code: https://code.visualstudio.com/
- Git: https://git-scm.com/
- Starte VS Code, klicke links auf den Reiter
Extensionsund suche nach den folgenden beiden Erweiterungen und installiere sie:C/C++von MicrosoftESP-IDFvon Espressif Systems
- Öffne die ESP-IDF Extension über das neu dazu gekommene Espressif-Symbol in der linken Seitenleiste:
- Klappe in der nun links geöffneten Liste in ganz unten
Advancedauf - Klicke hier auf den ersten Eintrag
Open ESP-IDF Installation Manager - Wähle jetzt im oben in der Mitte geöffneten Popup
Githubaus
- Klappe in der nun links geöffneten Liste in ganz unten
- Im ESP-IDF Installation Manager (neue geöffnetes Fenster):
- Klicke auf den Button
Start Installation - Wähle
Custom Installationaus (Start Configuration Wizard) - Bei Step 2: Klicke auf
Install Python(falls das Fenster keine Rückmeldung mehr gibt, einfach warten) - Bei Step 3: Klicke auf
esp32s3(oder lass einfach den Haken beiAlldrin) und gehe dann aufContinue with Selected Targets - Bei Step 4: Klicke bei Stable Releases auf
Latest(aktuell:v5.5.3) und dann unten aufContinue Installation - Bei Step 5: Klicke auf
Continue with Selected Mirrors(die schnellsten Server werden automatisch ausgewählt) - Bei Step 6: Wähle hier mindestens
coreundideaus (und alle weiteren die du möchtest) und klicke dann aufContinue to Tools selection - Bei Step 7: Klicke auf
Continue - Bei Step 8: Klicke auf
Continue(Hier kannst du den Installationspfad ändern. Wir lassen oft einfach den Standard drin, aber wie du möchtest) - Bei Step 9: Klicke auf
Start Installation - Warte bis die Installation abgeschlossen ist
- Klicke auf
Complete Installation - Klicke auf
Exit Installer
- Klicke auf den Button
- In VS Code nun wieder, klicke ganz links in der Seitenleiste auf das
Source Control-Symbol- Wähle hier
Clone Repositoryaus - Trage im aufkommenden Dialogfeld dann folgende URL ein:
https://github.com/BAGProgrammierrunde/monorepo.git - Wähle den gewünschten Zielordner für das Projekt aus und öffne es
- Logge dich bei GitHub ein falls du dazu aufgefordert wirst (Wenn du noch keinen GitHub Account hast, kannst du dich hier anmelden:
https://github.com/signup)
- Wähle hier
- Nach dem erfolgreichen Öffnen des Projektes wieder im VS Code File Explorer, den
.vscodeOrdner löschen (wenn vorhanden) - Klicke in der linken Seitenleiste wieder auf das Espressif-Symbol:
- In der Liste ganz unten wieder den Reiter
Advancedaufklappen - Und hier auf den Eintrag
Add .vscode subdirectory filesklicken
- In der Liste ganz unten wieder den Reiter
- In der Leiste ganz unten in VS Code muss Folgendes eingestellt werden:
- Klicke auf
ESP-IDF vx.xund wähle im Popup mittig oben die eben installierte Version aus - Klicke daneben auf den Stern und wähle oben im Popup
UARTaus - Im Feld daneben sollte
Detectoder der richtige COM-Port stehen, an dem dein ESP ggf. angeschlossen ist - Neben dem COM-Port sollte dann als Gerät
esp32s3ausgewählt stehen. Wenn nicht, dann einfach drauf klicken und den richtigen Eintrag wählen - Nachdem du den richtigen Eintrag ausgewählt hast, wirst du mit einem Popup wieder in der Mitte oben aufgefordert, einen Chip auszuwählen. Diese Auswahl mit einem Escape oder Klick irgendwo auf den Bildschirm schließen
- Klicke auf
Bei Fragen oder Problemen aller Art melde dich super gerne bei uns. Wir helfen immer gern weiter! :D Und nun viel Spaß mit deinem eingerichteten Projekt! Die Welt steht dir offen..
Um das Projekt zu bauen, kannst du ganz unten in VS Code auf den Schraubenschlüssel Icon (Build Project) klicken.
Dabei wird der Code kompiliert und ein Image (Betriebssystem + ESP Bibliothek Code + unser Code) erstellt. Hierbei
findest du heraus, ob dein Code noch jegliche Fehler hat und ob er in eine für den ESP verständliche Sprache umgewandelt
werden kann. Du brauchst hierfür �r keinen ESP. Es würde hier auch nichts übertragen werden, selbst wenn einer
angeschlossen wäre..
Um das Projekt auf den ESP zu übertragen, kannst du ganz unten in VS Code auf das Blitz-Icon (Flash Device) klicken.
Vor dem Übertragen muss das Projekt mindestens einmal wie im vorherigen Schritt gebaut worden sein. Es wird immer der
zuletzt gebaute Stand übertragen. Nicht etwa nachträglich geänderter Code.e.
Um Textausgaben, die im Code veranlasst werden (durch das ausprinten von z.B. Variablen etc.) und andere hilfreiche
Informationen wie Laufzeitfehler vom ESP zu sehen, kannst du ganz unten in VS Code auf das Bildschirm-Icon
(
(Monitor Device) klicken.
Hinweis: Während du das Monitoring aktiv hast, kannst du keinen Code auf den ESP übertragen. Schließe zuerst den Prozess über das Mülltonnen-Icon..
Wenn du eine Änderung am Code gemacht hast, diese direkt auf den ESP übertragen und die Ausgabe starten möchtest,
gibt es auch einen eigenen Button, der alles oben Aufgeführte kombiniert. Hierfür ganz unten in VS Code einfach auf das
Flammen-Icon ( (ESP-IDF: Build, Flash and Monitor) klicken. Dabei wird das Projekt kompiliert, auf den ESP übertragen
und das Monitoring aktiviert..
Falls es aus unerklärlichen Gründen mal nicht builden und laufen sollte, lösche den build Ordner (auch ein paar Mal)
und versuche das Projekt erneut zu bauen. Das hat uns öfter geholfen :)..
TODO Check includes
- weißen Kasten um den Dino entfernen
- Button Integration
- Springen
- Score
- Hitbox / Kollision von Kaktus und Dino ermitteln
- Game Over Bildschirm
- dynamisch wechselnder Hintergrund
- mit Button erneutes Spiel starten
- Start Bildschirm
- Sternenhimmel / Wolken
- Flugsaurier
- Ducken (Voraussetzung: wir haben einen 2. Button)
- Scoreboard
- Power-Ups
- Kombination aus Springen und Ducken
- Dino schwimmt
- Verschiedene Tiere
- was anderes als Kakteen
- Leveleditor für den PC / Windows
- Bit-wise Pixel Memory -> Byte-wise Pixel Memoryory
- Game + Scene vs. nur Game vs. nur Scene
Copyright (c) 2024 BAGProgrammierrunde
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:ions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software..
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.TWARE.