Nerf turret

Introducere

Turreta ce trage cu proiectile Nerf din spuma atunci cand detecteaza miscarea unei persoane intr-o anumita raza. Aceasta va avea mai multe moduri cum ar fi: modul pasnic in care doar “priveste” persoanele ce se deplaseaza in raza ei, modul single, care trage cate un proiectil pe rand si modul burst in care trage cu 3 proiectile o data.

Cand eram mic, ma jucam cu prietenii cu pusti Nerf si ar fi fost foarte cool daca cineva ar fi avut o astfel de turreta pentru a acoperi o arie mai mare de inamici.

Nu are o utilitate foarte mare dar este un proiect distractiv. :D

Descriere generală

Robotelul va avea la baza acestuia 5 senzori de miscare PIR amplasati pe un semicerc pentru a acoperi o raza de 180 de grade. Cu ajutorul acestora un servomotor va misca turreta in directia tintei. Doua motorase DC vor fi folosite pentru a proiecte cartusele nerf. Un servomotor va controla un brat care va impinge cartusele catre “teava” turretei de unde vor fi propulsate. Modurile de operare se vor putea modifica printr-un meniu interactiv pe un display folosindu-se butoane.

Hardware Design

Piese folosite

Componenta Cantitate Utilizare
Arduino UNO 1 Controleaza piesele
Modul Senzor PIR HC-SR501 5 Detecteaza directia din care vine miscarea
Servomotor SG90 de 180 de grade 2 Pentru rotirea turretei si actionarea tragaciului
Motor DC 130-18105 2 Propulseaza proiectilele Nerf
LCD 1602 cu Interfata I2C 1 Meniu mod functionare turreta
Buton 3 Control meniu
Cabluri Multe

Schema circuitului

Software Design

Software-ul a fost realizat in Arduino IDE. Am folosit 3 biblioteci: `LiquidCrystal_I2c.h`, `Wire.h` pentru a controla mai usor display-ul prin I2c si `Servo.h` pentru controlul servomotoarelor.

Ideea initiala era ca fiecare senzor PIR sa fie conectat la un pin pe care se poate genera o intrerupere insa placuta pe care o aveam la dispozitie (Arduino Uno) are doar 2 pini de pe care se pot genera intreruperi. Asa ca am ales sa fac polling intre cei 5 senzori de miscare sa vad care este primul activat. Intreruperile le-am folosit pentru 2 butoane prin care se poate schimba modul de operare al turretei.

Atunci cand este detectat prezenta unei persoane, se apeleaza functia `moveToPosition` pentru a roti corpul turretei si apoi functia `shoot`, care in functie de modul activ, va trage proiectile in directia respectiva.

Rezultate Obţinute

Degete arse, am topit biroul si mi-am enervat colegul de camera tragand in el cu proiectile din spuma.

Pe langa asta, a iesit un robotel destul de simpatic:

Concluzii

A fost un proiect interesant si distractiv, cea mai grea parte a fost de departe lipirea firelor si relipirea firelor de la motorase care mereu se rupeau.

Download

Cod proiect: nerfturret.rar

pm/prj2024/sseverin/mihai.latea.txt · Last modified: 2024/05/27 13:31 by mihai.latea
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