Bomba CS:GO

Autor

Introducere

Scopul proiectului este implementarea unei bombe din jocul CS:GO cu toate functionalitatile ei:

  • este nevoie de o parola pentru a fi activata;
  • este nevoie de o combinatie de butoane pentru a fi dezamorsata;
  • “ai murit” daca te afli pe langa ea.

Descriere generala

Doua arduino vor comunica prin I2C. Master-ul, un NANO, va primi de la telefon prin intermediul Bluetooth un string ca parola, iar Slave-ul, un UNO, o va valida si va porni numaratoarea inversa la bomba daca e corecta. Secundele vor fi numarate folosind timer ISR. Va avea atasat un Shield LCD cu butoane pe care va fi afisat textul, iar pentru a fi dezamorsata bomba, va fi nevoie de o combinatie de butoane de pe Shield. De asemenea, va fi atasat la Master si un buzzer care scoate un sunet asurzitor cand explodeaza bomba, si un senzor ultrasonic care va detecta daca te afli in zona bombei, si va fi afisat un mesaj “Ai murit :(”, altfel “N-ai murit :)”.

Schema bloc

Componenete

  1. Arduino Nano: Master
  2. Arduino Uno: Slave
  3. Modul Bluetooth HC-05: pentru primirea parolei de pe telefon
  4. Shield LCD 1602 cu butoane: pentru afisare mesaje si dezamorsare
  5. Mini Buzzer: pentru sunete
  6. Senzor Ultrasonic HC-SR04: pentru detectarea persoanei
  7. Fire: pentru realizarea circuitului
  8. Breadboard: pentru realizarea circuitului

Hardware Design

Lista de piese

Nume Numar piese
Arduino Uno 1
Arduino Nano 1
HC-05 1
Shield LCD 1602 1
Mini Buzzer 1
HC-SR04 1
Fire 17
Breadboard 2

HC-05

Este conectat la Arduino Nano prin VCC la 5V, GND la GND, TXD la D11 si RXD la D10.

Shield LCD 1602 cu butoane

Este conectat la Arduino Uno prin suprapunere, fiecare pin de pe shield fiind conectat la portul sau respectiv de pe Arduino.

Mini Buzzer

Este conectat la Arduino Uno prin - la GND si + la D8.

HC-SR04

Este conectat la Arduino Uno prin VCC la 5V, GND la GND, Echo la D2 si Trig la D3.

Conexiunea I2C

Cele 2 Arduino comunica intre ele fiind conectate intre acestea porturile de GND, A4 si A5.

Software Design

HC-05

Am creat o interfata seriala speciala pentru acest senzor, iar cu ajutorul acesteia, intr-o variabila se memoreaza fiecare caracter primit prin Bluetooth si este trimis mai departe prin I2C.

Shield LCD 1602 cu butoane

Acesta este programat sa afiseze textul primit ca input de fiecare data, iar butoanele de pe acesta schimba valorile unor variabile in momentul in care sunt apasate pentru dezamorsare, apasarea lor fiind detectata prin analogRead(0) cu o anumita precizie.

Mini Buzzer

Am inclus biblioteca pitches.h in care sunt definite sunetele pe care le poate scoate Buzzer-ul. Acesta scoate cate un sunet cand trece cate o secunda din numaratoarea inversa a bombei, si la final, daca explodeaza bomba, un sunet asurzitor de cateva secunde.

HC-SR04

In functia void Boom() (in care se ajunge daca explodeaza bomba), senzorul detecteaza pentru o fractiune de cateva milisecunde daca se afla vreun obiect la mai putin de 8 mm de acesta. Daca obiectul a fost detectat, bomba interpreteaza acest lucru ca si cum te aflai in apropiere.

Conexiunea I2C

Am inclus biblioteca Wire.h pentru ca cele 2 Arduino sa poata comunica intre ele. Nano (Master) trimite fiecare caracter primit prin Bluetooth catre Uno (Slave), iar cand ultimele 12 caractere se potrivesc cu parola, bomba este activata.

Arduino Uno

In afara de cele mentionate mai sus, Uno dispune si de o functie de intrerupere ISR folosita ca timer pentru numaratoarea inversa a bombei.

Rezultate Obţinute

Proiectul este o simulare a unei bombe din jocul CS:GO.

Imagine:

Video:

https://www.youtube.com/watch?v=ZV5Vm6AMvo0

Concluzii

Acest proiect practic la PM mi s-a parut una dintre cele mai interesante activitati din acest semestru. Pe langa faptul ca am pus in practica cunostintele acumulate la laboratoare, s-a tinut cont si de creativitatea fiecaruia, si cu siguranta am invatat toti lucruri noi datorita acestuia.

Download

In arhiva de mai jos se gaseste codul sursa:

Arhivă Proiect

Jurnal

  • 25 aprilie 2021 alegere tema
  • 3 mai 2021 realizare conexiune Bluetooth si conexiune I2C
  • 10 mai 2021 testare LCD si HC-SR04
  • 17 mai 2021 finalizare circuit electric
  • 31 mai 2021 finalizare documentatie

Bibliografie

pm/prj2021/agrigore/bombacsgo.txt · Last modified: 2021/05/31 07:11 by teodor_ioan.hossu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0