Category Archives: Uncategorized

Elite dangerous controller

Whilst ordering some new arts for a couple of projects, I came across the zero delay arcade by Reyann.

board

It is intended for raspberry pi etc. controls for creating arcade consoles and appears to be USB plug and play so I thought I’d give it a go and make some additional controls for elite:dangerous.

dscn4619

This prototype has been lovingly crafted for the cardboard box that my delivery arrived in. No setup required and it just plugged in and worked.

The kit comes with the wiring loom and usb cable so it’s just a case of slipping the buttons on to the wires and off you go. It connects perfectly with the arcade buttons but not so well with the smaller tactile ones which required some structural blu-tak – a couple of mins soldering would fix it but these buttons are only temporary.

dscn4610

Windows sees it as a generic controller and E:D responds in a similar way, so there is no issue in assigning the buttons to the massive list of controls available (copy and save your key binds though. They’re very fickle).

The arcade buttons themselves are made by Sanwa and are spot on arcade quality – you can roll your finger on them like a real arcade machine and they feel like they could go on forever.

The joystick too is a Sanwa item and just oozes quality.

The larger buttons are (I think) from Adafruit. They are a bit more clicky than the arcade ones but very tactile. The 100mm HAL special in the middle is impossible not to touch and brings out the father dougal in everyone.

lit

They also light up, I’ve not tried this yet but it looks to be pretty straightforward and some of the online pictures make them look very effective (e.g. the HAL 9000 replica on adafruit )

dscn4616

For a prototype it works perfectly and the next step is to work on the case and assemble the required buttons. This was pretty much thrown together to see if the board worked however having played for a bit today the HAL9000 / pacman mashup has really grown on me so I think I’ll keep it!

dscn4617

In summary:

Controller board

By Reyann. mod my pi link: https://www.modmypi.com/raspberry-pi/arcade/arcade-controllers/zero-delay-arcade-usb-encoder-and-wire-set/?search=arcade

Arcade buttons

 By Sanwa – mod my pi link : https://www.modmypi.com/raspberry-pi/arcade/arcade-buttons/official-sanwa-arcade-button-black/?search=sanwa%20arcade%20buttons

Arcade stick

By Sanwa Mod my i link : https://www.modmypi.com/raspberry-pi/arcade/arcade-joysticks/official-sanwa-8-way-arcade-joystick-jlf-tp-8yt/?search=sanwa

Illuminated buttons.

By Adafruit. Mod my pi link : https://www.modmypi.com/electronics/buttons-and-switches/massive-arcade-button-100mm-red/?search=arcade%20buttons

Trailcam – 8. updated

Other sections

  1. Introduction
  2. Basic setup & Power
  3. PIR sensor
  4. IR lamp
  5. IR filter
  6. Buttons
  7. Completed pics, improvements and parts list
  8. Updates

Pi

The first main alteration has been to swap out the pi model A for a pi zero, partly to save power and partly to save space.

inside, showing the massive tangle - hopefully soon a longer pi zero -> camera cable will be available.
inside, showing the massive tangle – hopefully soon a longer pi zero -> camera cable will be available.

The main board is set up for a 26 pin header and not the 40 pin of the pi zero, so for the time being I’ve chopped a section out of a spare 26pin connector so that it fits. I intend to convert the whole setup to 40 pins in time.

chopped down 26 pin connector. I also removed the top layer of the pimoroni case to get it to fit.
chopped down 26 pin connector. I also removed the top layer of the pimoroni case to get it to fit.

Detection code

The pyhon prog that controls the light is a massive mess so I’ve streamlined it a bit after some further reading form mod my pi. This is a lower resource bit of code and I’ve also incorporated the date time module so that it doesn’t waste battery power turning it on it the daylight.

Initial results weren’t too good so I’ve tinkered with it a bit and will continue to do so until it works as required.

#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import datetime

#setup date and time vars
now = datetime.datetime.now()
dusk="2130"
dawn="0500"

# Set pins to BCM
GPIO.setmode(GPIO.BCM)

#PIR setup
#set up PIR pin
PIR_PIN = 22
#set PIR pin as input
GPIO.setup(PIR_PIN, GPIO.IN)

#relay setup
# Set relay pin
GPIO_LIGHT_ON = 17
# Set relay pin as output
GPIO.setup(GPIO_LIGHT_ON,GPIO.OUT)



def MOTION(PIR_PIN):
 print "motion detected"
 if now.strftime("%H%M") > dusk or now.strftime("%H%M") < dawn:
 GPIO.output (GPIO_LIGHT_ON,1)
 print "light on"
 time.sleep(10)
 while GPIO.input(PIR_PIN)==1:
 time.sleep(10)
 GPIO.output (GPIO_LIGHT_ON,0) 
 print "Light off" 
 print "motion stopped"

print "PIR Module test press Ctrl+C to exit"
time.sleep(2)
print "ready"

try:
 GPIO.add_event_detect(PIR_PIN, GPIO.RISING, callback=MOTION)
 while 1:
 time.sleep(100)
except KeyboardInterrupt:
 print "quit"
 GPIO.cleanup()

Lens glare

After fitting the lens in front of the filter I began to get lens glare. After a bit of experimenting I ended up turning the lens round so that the glass touched the end of the filter tube and the back end of the lens created a hood.

lens blu-tacked on upside down. If it works ok then I'll fix it properly and I've got a new IR filter switch coming which may change the arrangement.
lens blu-tacked on upside down. If it works ok then I’ll fix it properly and I’ve got a new IR filter switch coming which may change the arrangement.

Button(s)

Initially the pi had 3 buttons, temporarily fitted to a small breadboard. When the pi is setup outside it is put in position then the “reboot wifi” button is pressed to re-establish a link to the network.

In practice this soon became an issue as the buttons had to be forced in to the enclosure then the lid screwed on, resulting in lost screws and accidental shutdown by pressing a wrong button.

The box now sports a lovely maplin waterproof switch – this operates the wifi reboot and nothing else (the led to signal that it has worked is fitted in the box). Overall, much easier to use.

inside and outside pics of the button - apparently vandal proof but it remains to be seen if its squirrel proof
inside and outside pics of the button – apparently vandal proof but it remains to be seen if its squirrel proof

Lamp

The light from the lamp has been disappointing recently. It could be due to a variety of reasons including the angle (it is fitted to look downwards), battery voltage (it needs 12v but is getting 8.4v max from the rechargeable) & the settings within pikrellcam (e.g. white balance, night etc).

old lamp board, with the broken solder pads and bodge to get it to work
old lamp board, with the broken solder pads and bodge to get it to work

I had another kit so I’ve built it and swapped out the 220 ohm resistors for 100 ohm, based on information and calcs via ledcalc.net. Whist buiding the kit I took the opportunity to modify the way the lamp connects as the soldered joints were prone to detaching and multiple resolders have messed up the solder pads. Finally, I’ve changed the angle on it so that the downward angle is reduced.

It remains to be seen if this helps!

 

Edit:

it does – the video below was taken with the altered lamp and offers a significant improvement over the old. I just need to sort the white balance out (I’ve converted this to B&W to try and reduce the effect but it still “pulses”)

Trailcam – 2. Basic setup & power

Other sections

  1. Introduction
  2. Basic setup & Power
  3. PIR sensor
  4. IR lamp
  5. IR filter
  6. Buttons
  7. Completed pics, improvements and parts list
  8. Updates

 

Rpi basic setup

  • Raspbian o.s. on SD card*
  • Wi-Fi
  • Ssh
  • Pi noIR Camera

*: The pi runs the now superseded raspbian wheezy – I’ve had no issues with it so haven’t upgraded to Jessie on this particular pi.

The above is set up and confirmed working as described on the raspberry pi foundation website and numerous blogs and websites.

  • Video (pikrellcam)

This excellent piece of software is described in detail by its creator here: http://billw2.github.io/pikrellcam/pikrellcam.html where it can also be downloaded.

A further description & discussion is on the foundation website here:  https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=115583

Power

The first step is to provide power to the Rpi.

I’ve used a rechargeable battery from Amazon that is designed to provide emergency power to phones etc.

It’s a huge lump in terms of capacity, physical size and weight however it has performed flawlessly in the last couple of years. It takes a while to charge but holds it really well and lasts long enough to power the pi all night as well as for an hour or so to get the videos off of it in the morning.

It needs a pretty hefty power supply and I went with the recommended, branded one – this is also really handy for powering a pi2 with Wi-Fi when not charging the battery.