Table of Contents

Arcade Pushing Machine

Introducere

Proiectul constă într-un joc pe Arduino care măsoară forța cu care utilizatorul poate să apese pe un senzor de forță rezistiv și afișează scorul pe un ecran LCD, acompaniat de animații și sunete pe un difuzor. Principalul obiectiv al acestui proiect este să ofere o experiență distractivă si plăcută utilizatorului, în orice fel de context social.

Ideea de la care am pornit este chiar jocul foarte popular de la orice parc de distracții în care poți obține un scor cât mai mare, cu cât lovești mai tare cu pumnul.

Descriere generală

Proiectul are următorul flow:

Hardware Design

Componente hardware utilizate:

  • Plusivo ATmega328P
  • modul microSD cu SPI
  • card microSD 16GB
  • difuzor
  • modul amplificator audio LM386
  • ecran LCD cu I2C
  • senzor de forță rezistiv FSR402
  • modul senzor de mișcare PIR
  • un led verde și unul roșu
  • rezistențe (220 și 10k)
  • breadboard
  • fire mamă-tată și tată-tată

Schema electrică

Ecranul LCD cu interfață I2C are rolul de a afișa mesaje interactive pe parcursul jocului, dar și valorile măsurate se senzorul de forță rezistiv. Pinul SDA e conectat la A5 de pe placa Arduino, pentru a transmite datele, iar pentru semnalul de ceas am conectat pinul SCL la A4.

Senzorul de forță rezistiv (FSR402) măsoară forța aplicată prin creșterea rezistenței în momentul apăsării pe acesta, trimițând rezultatele pe ecranul LCD. Este înseriat cu o rezistență de 10kΩ și apoi conectat la pinul A0 al plăcuței Arduino pentru citirea valorii analogice.

Senzorul PIR de mișcare detectează mișcarea în fața aparatului și trimite un semnal către Arduino, pentru a putea aprinde LED-urile corespunzătoare. Pinul OUT e conectat la pinul D2, pentru a se putea folosi de întreruperi.

Modulul de card SD este conectat la plăcuță prin pinii interfeței SPI: CS (D10 - SS), MOSI (D11), MISO (D12) și SCK (D13), utilizând un card micro-SD de 16GB de la Kingston, pe care am stocat fișiere audio .wav cu următoarele specificații: 16kHz, 8-bit resolution (128kbps bit rate), canal MONO, U8 PCM, pentru a putea fi redate.

Modulul LM386 ajută la amplificarea semnalului audio, până la un nivel care poate fi auzit clar prin difuzorul de 8Ω. Amplificatorul este conectat la pinul D9.

Software Design

Mediu de dezvoltare

Codul sursă a fost implementat în Arduino IDE 2.3.2.

Biblioteci utilizate
Funcționalități din laborator prezente în implementare
  1. I2C (Inter-Integrated Circuit): Protocol utilizat pentru comunicarea cu afișajul LCD. Permite conectarea ușoară a dispozitivului, folosind un număr minim de pini
  2. SPI (Serial Peripheral Interface): Necesar pentru comunicarea cu cardul SD, utilizând o viteză mare de transfer de date
  3. Întreruperi: Utilizate pentru a detecta mișcarea folosind senzorul PIR, permițând o reacție rapidă la evenimentele externe, fără a bloca execuția principală a programului
Funcțiile implementate

Rezultate Obţinute

Concluzii

Acest proiect a fost o oportunitate foarte bună de a pune în practică cunoștințele acumulate la PM, dar și de la ED. Am folosit și Fusion încă o dată în viață, pentru realizarea schemei electrice. A fost o provocare inginerească, care m-a ajutat să înțeleg mai bine interacțiunea dintre hardware și software. Am experimentat utilizarea întreruperilor, a senzorilor, afișarea pe LCD, redarea fișierelor audio și, mai ales, am înțeles cu adevărat cum se folosește un Arduino. Proiectul a ieșit exact așa cum mi-am dorit, captivant, distractiv și fără bug-uri. :-D

Download

Arhiva cu implementarea și schema electrică se poate descărca de aici.

Jurnal

Bibliografie/Resurse

Resurse Hardware
Resurse Software

Export to PDF