README.md 3.21 KB
Newer Older
attssystem's avatar
attssystem committed
1
# Laser InfraRed Game (aka LIR Game)
attssystem's avatar
attssystem committed
2

attssystem's avatar
attssystem committed
3
4
5
6
## Description

  This Laser InfraRed Game is an Arduino-made project which consist of a 3D printed weapon (a bit looking like the Rick's portal gun) and a few basics components. This LIR Game is highly customisable and is really cheap. You can play with up to 10 players and you shot someone at 5 meters in daylight.

7
8
## Documentation

attssystem's avatar
attssystem committed
9
### Electronics :
attssystem's avatar
attssystem committed
10
- Core
11
12
  - Arduino Nano
  - Tailor-made PCB
attssystem's avatar
attssystem committed
13
- Communications
14
15
  - nRF24l01+ (2,4GHz)
  - YIRTM IR Transmitter
attssystem's avatar
attssystem committed
16
- Interface
attssystem's avatar
attssystem committed
17
  - SSD1306 128x64
18
19
20
  - Piezo Buzzer
  - Laser (+220Ohm Resistor)
  - Button (using internal pullup)
attssystem's avatar
attssystem committed
21
- Power
22
23
24
25
  - StepUp 3.3v to 5v
  - 3000mAh 3.7v Battery
  - MicroUSB battery circuit charger
  - Key power switch
attssystem's avatar
attssystem committed
26

attssystem's avatar
attssystem committed
27
### Arduino Libs
attssystem's avatar
attssystem committed
28
Available under LIR_prgm/lib
attssystem's avatar
attssystem committed
29
30
- Screen
  - Wire
attssystem's avatar
attssystem committed
31
32
  - ~~Adafruit_SSD1306~~
  - ~~Adafruit_GFX~~
attssystem's avatar
attssystem committed
33
  - SSD1306Ascii (lighter RAM usage)
attssystem's avatar
attssystem committed
34
35
- nRF24l01
  - SPI
attssystem's avatar
attssystem committed
36
  - nRF24l0
attssystem's avatar
attssystem committed
37
38
39
  - RF24
- Others
  - EEPROM
attssystem's avatar
attssystem committed
40
  - ~~ArduinoSort~~
attssystem's avatar
attssystem committed
41
- Thanks
attssystem's avatar
attssystem committed
42
  - ~~to emilv [ArduinoSort Git](https://github.com/emilv/ArduinoSort)~~
attssystem's avatar
attssystem committed
43
44
  - ~~to Adafruit [SSD1306 Git](https://github.com/adafruit/Adafruit_SSD1306) / [GFX Git](https://github.com/adafruit/Adafruit-GFX-Library)~~
  - to greiman [SSD1306Ascii Git](https://github.com/greiman/SSD1306Ascii)
attssystem's avatar
attssystem committed
45
46
  - to nRF24 [nRF24l01 and RF24 Git](https://github.com/nRF24/RF24)

attssystem's avatar
attssystem committed
47

48
49
### Wiring
```
attssystem's avatar
attssystem committed
50
51
              Rx IR --- TX 31       |             |   VIN
              Tx IR --- RX 30       |             |   GND --- GND IR & nRF24 & Screen
attssystem's avatar
attssystem committed
52
53
                        RST 29      |             |   RST 29
                        GND         |             |   5V --- VCC IR + Laser (220 Ohm)
attssystem's avatar
attssystem committed
54
55
                        D2 32       |             |   A7 22
                        D3 1        |             |   A6 19
attssystem's avatar
attssystem committed
56
57
58
59
60
61
62
63
64
           CE nRF24 --- D4 2        |   Arduino   |   SCL 28 --- SCL Screen
          CSN nRF24 --- D5 9        |    Nano     |   SDA 27 --- SDA Screen
              Piezo --- D6 10       |     V3      |   A3 26
                        D7 11       |             |   A2 25
                        D8 12       |     Old     |   A1 24
     Trigger button --- D9 13       |  Bootloader |   A0 23
                        D10 14      |             |   AREF 21
         MOSI nRF24 --- D11 15      |             |   3V3 --- VCC nRF24 & Screen
         MISO nRF24 --- D12 16      |             |   SCK 17 -- SCK nRF24
65
```
attssystem's avatar
attssystem committed
66

67
### PCB Schematics
attssystem's avatar
attssystem committed
68
Gerber files available in PCB folder
69
70

## Evolution
attssystem's avatar
attssystem committed
71
### Software
attssystem's avatar
attssystem committed
72
- [x] nRF24 working
attssystem's avatar
attssystem committed
73
74
75
- [x] IR working
- [x] Screen working
- Configuration
attssystem's avatar
attssystem committed
76
77
  - [x] Can change different inGame parameters
  - [x] Can change default parameters
78
79
  - [x] Can change ID
  - [x] Can change nRF24l01 channel
attssystem's avatar
attssystem committed
80
  - [x] Can send configuration data
attssystem's avatar
attssystem committed
81
82
83
- in Game
  - [x] Aim and shot
  - [x] Get shot
attssystem's avatar
attssystem committed
84
85
86
  - [x] Manage timed games
  - [x] Display timed
  - [x] Display score
attssystem's avatar
attssystem committed
87
88
89
90
91
92
93
94
95
96
97
98
- Ending
  - [x] Can calculate positions
  - [x] Can send positions to all weapons
  - [x] Bonus : Zelda Music
### Hardware
- Electronics
  - [x] Autonomous power (battery powered)
  - [x] Charging circuit
  - [x] Secured startup
- Design
  - [x] Enclosure design
  - [x] Printed design
attssystem's avatar
attssystem committed
99
100

## Known Issues
attssystem's avatar
attssystem committed
101
102
- ~~Can't use 128*64 pixels because lib takes too much memory and it looks like one of my screen get used to 32 pixels...~~
- Annoying screen clearing process