Inhoudsopgave:
- Stap 1: Verzamel materialen voor hardwareapparaat
- Stap 2: De roterende encoder installeren
- Stap 3: Het 7-segmentenscherm uitzoeken
- Stap 4: Bedrading van een LED
- Stap 5: Tijd voor de aanvraag
- Stap 6: HTML-bestanden
- Stap 7: De toepassing uitvoeren
- Stap 8: Het spel spelen
Video: IoT Code Breaker Game-apparaat - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
IoT, of het internet der dingen, is een groeiend veld in de informatica. Met de volgende instructies kan iemand een apparaatonderdeel van het IoT maken. Het apparaat zelf kan worden gebruikt om een codebrekerspel te spelen. Eén speler kan een code instellen met behulp van een browservenster, de tweede speler aanwijzingen geven en vervolgens de tweede speler laten proberen de code in te voeren met behulp van het hardwareapparaat. Als de tweede speler correct is, gaat er een lampje knipperen. Zo niet, dan kan het spel opnieuw gespeeld worden. Dit eenvoudige apparaat is niet alleen leuk, maar het leert ook basishardware en applicatieontwerp met behulp van een Raspberry Pi- en python-flessoftware.
Stap 1: Verzamel materialen voor hardwareapparaat
Eerst moet de bouwer de benodigde materialen voor het hardwaregedeelte van het spel verzamelen. De materialen staan hieronder vermeld.
- 1 Raspberry Pi
- SD-kaart voor de Raspberry Pi
- 1 regenboogdraadlint
- 1 Raspberry Pi naar breadboard-connector
- 1 grote broodplank
- 1 kleine broodplank
- 1 roterende encoder
- 1 LED
- 1 7 Segment LED-scherm
- 9 330 Ohm Weerstanden
- Verschillende eenvoudige draden
Stap 2: De roterende encoder installeren
Om te beginnen met het installeren van een Rotary Encoder, beginnen we met de aanschaf van een groot breadboard, een Raspberry Pi, een regenboogdraadconnector, de Pi-connector, de Rotary Encoder en verschillende draden. We hebben hier GEEN weerstand nodig, omdat de Rotary Encoder al een weerstand heeft ingebouwd. We beginnen met het verbinden van het regenbooglint met de Raspberry Pi en met de breadboard-connector. Vervolgens verbinden we de connector met het breadboard. Wees voorzichtig bij het plaatsen en verwijderen van het regenbooglint, omdat hierdoor de pinnen op de Raspberry Pi kunnen buigen.
Nu moeten we de stroom- en aardingslijnen van het breadboard verbinden met de stroom- en aardingspinnen van de connector. Hoe u dit doet, wordt getoond in de tweede foto hierboven.
Plaats de Rotary Encoder op het breadboard. Zorg ervoor dat de pinnen van de Rotary Encoder zich allemaal in verschillende rijen van het bord bevinden. De encoder heeft in totaal vijf pinnen. Sluit eerst de pin met het label GND of aarde aan op de aardingslijn op het breadboard. Dit is de kolom met spaties gemarkeerd met de blauwe lijn. Vervolgens moeten we de encoder op de voeding aansluiten. Sluit de pin met het label + aan op de voeding. De derde pin op de Rotary Encoder is gelabeld met SW. Deze pin leest of de kop van de encoder is ingedrukt. We verbinden deze pin met de pin met het label GPIO16 op de connector. De laatste twee pinnen op het encoderregister lezen waar de knop van de encoder momenteel is ingesteld. Sluit de pin met het label DT aan op het pinlabel GPIO18 op de connector en de pin met het label CLK op GPIO17 op de connector.
Nu is de Rotary Encoder verbonden met de Raspberry Pi.
Stap 3: Het 7-segmentenscherm uitzoeken
Zodra de Rotary Encoder is ingesteld, kunnen we werken aan de bedrading van het 7-segment LED-scherm. Eerst moeten we een extra klein breadboard aanschaffen, evenals het 7-segment zelf, acht weerstanden van 330 Ohm en verschillende draden.
Het is erg belangrijk dat het 7-segment correct is aangesloten, omdat er GEEN weerstanden in zijn ingebouwd zoals de roterende encoder. Het zeven segment heeft in totaal twaalf pinnen. Pinnen één tot en met zes bevinden zich op de bovenste rij van het 7-segment dat van links naar rechts loopt. Pinnen zeven tot en met twaalf bevinden zich op de onderste rij en lopen van rechts naar links. De onderste rij is de zijde van het 7-segment gemarkeerd met een kleine stip achter elk van de cijfers op het 7-segment.
We plaatsen het 7-segment op het kleine breadboard en bedraden elk van de pinnen zoals weergegeven in de bovenstaande tabel. Als een weerstand nodig is, plaatst u de weerstand tussen de 7-segmentpen en de connectorpen. Zorg er bovendien voor dat geen van de weerstanden elkaar raakt tijdens het gebruik van het apparaat. Dit kan de stroom van elektriciteit verstoren.
Stap 4: Bedrading van een LED
Aangezien we de rest van de hardware nu hebben ingesteld, kunnen we eindigen met het installeren van de LED. Deze LED laat ons weten wanneer de code die we hebben ingevoerd correct is. Om dit te doen, hebben we een LED, een weerstand van 330 Ohm en verschillende draden nodig.
Aan de LED zijn twee pinnen bevestigd. De ene kant is iets langer dan de andere. Eerst moeten we de langste van de twee kanten op de stroom aansluiten. Om dit te doen, verbinden we de lange zijde via een draad met pin GPIO26 op de connector. Zo kunnen we later de LED aan- en uitzetten. Dan kunnen we de kortste van de twee zijden met aarde verbinden. We moeten dit echter via een weerstand doen, zodat we de LED niet doorbranden.
Als we dit eenmaal hebben gedaan, zijn we klaar met de LED en de hardware in het algemeen.
Stap 5: Tijd voor de aanvraag
Om de applicatie voor dit apparaat te maken, heeft men toegang nodig tot Python Flask. Flask is een gebruiksvriendelijke webontwikkelingssoftware die kan worden gebruikt om eenvoudige browsergebaseerde applicaties te maken.
Om in eerste instantie te downloaden en meer te weten te komen over Flask, volg de verstrekte link: FLASK INFORMATIE
Om de applicatie specifiek voor dit apparaat te maken. Begin met het maken van een map op je Raspberry Pi. Deze map zou "iotapp" moeten heten. Download en sleep het bestand "iotapp.py" naar deze map. Maak bovendien in deze map een tweede map met de naam "appFolder". Download in "appFolder" de meegeleverde bestanden "_init_.py", "forms.py", "RE.py" en "routes.py". Maak vervolgens een andere map met de naam "templates". Deze nieuwe map zou zich ook in "appFolder" moeten bevinden.
Stap 6: HTML-bestanden
Nu we de map "sjablonen" hebben gemaakt, kunnen we de HTML-bestanden maken die de pagina's voor onze toepassing zullen opmaken. Maak twee HTML-bestanden: codeentered.html en setcode.html. De code voor deze bestanden wordt getoond in de bovenstaande afbeeldingen.
Stap 7: De toepassing uitvoeren
Om de toepassing uit te voeren, begint u met het openen van het terminalvenster. SSH vervolgens naar je Raspberry Pi. Navigeer naar de map "iotapp" en voer vanaf de opdrachtregel de volgende opdrachten in:
$ export FLASK_APP=iotapp.py
$ python -m kolf run --host 0.0.0.0
Als de toepassing correct werkt, zou de opdrachtregel in de terminal moeten lezen:
* Serving Flask app "iotapp"
* Draait op https://0.0.0.0:5000/ (Druk op CTRL+C om te stoppen)
Om de applicatie te bereiken, moet u de applicatiesite bezoeken door het IP-adres van uw Raspberry Pi in te voeren gevolgd door ":5000/setcode". Bijvoorbeeld:
Nu is het apparaat helemaal up and running. Het codespel kan gespeeld worden.
Om het apparaat te stoppen, drukt u op CTRL+C in het terminalvenster en sluit u de Pi af.
Stap 8: Het spel spelen
Het volgende is een video van het werkende apparaat.
Aanbevolen:
Verbeterde 'Simon Says'-code: 3 stappen
Verbeterde 'Simon Says'-code: een bijgewerkt 'Simple Simon'-project. Met name gemakkelijker om te werken met software-implementatie
DIY slimme deurbel: code, installatie en HA-integratie: 7 stappen (met afbeeldingen)
DIY Smart Doorbell: Code, Setup en HA Integration: In dit project laat ik je zien hoe je je normale deurbel kunt transformeren in een slimme deurbel zonder de huidige functionaliteiten te veranderen of draden door te knippen. Ik gebruik een ESP8266-bord genaamd Wemos D1 mini. Nieuw bij ESP8266? Bekijk mijn introductie
CODE's batchgebaseerde IDE: 8 stappen
CODE's Batch Based IDE: Mijn nieuwe project, een IDE of teksteditor of idc wat is het. CODE's batchgebaseerde IDE 100% batch. Het werkt bijna hetzelfde als Kladblok, maar mooier. Ik ben klaar om de batch-schoonheid te ontvouwen met dit project. In dit project wordt slechts één extensie gebruikt, die
Verbinding maken met API's zonder code: 8 stappen
Verbinding maken met API's zonder code: deze handleiding is bedoeld voor mensen die iets willen bereiken waarvoor een API nodig is, maar niet helemaal zeker weten hoe ze moeten beginnen. Je weet al waarom het handig is om met een API te werken, en deze gids laat je zien hoe je dat moet doen
Hoe u kunt controleren of een game op uw computer kan worden uitgevoerd voordat u de game koopt: 4 stappen
Hoe u kunt controleren of een game op uw computer kan worden uitgevoerd voordat u de game koopt.: Ik heb onlangs Call of Duty 4 van een vriend gekocht (gratis zou ik kunnen toevoegen) omdat hij niet op zijn computer zou draaien. Wel, zijn computer is vrij nieuw, en het verbaasde me waarom hij niet zou werken. Dus na een paar uur zoeken op internet kwam ik