Skip to content

Instantly share code, notes, and snippets.

"accessories": [
{
"accessory": "GPIO",
"name": "Desk Lamp",
"pin": 16
},
]
@rxseger
rxseger / acpower.py
Last active October 6, 2016 02:58
toggle ac power outlet GPIO
#!/usr/bin/python
import sys
import RPi.GPIO as GPIO
if len(sys.argv) < 2:
print 'usage: %s [0/1]' % (sys.argv[0],)
raise SystemExit
GPIO.setmode(GPIO.BOARD)
CONTROL = 16 # G23
@rxseger
rxseger / buzz.py
Last active October 6, 2016 02:58
test magnetic transducer for nightlight
#!/usr/bin/python
# buzz.py - test magnetic transducer for nightlight
import time
import math
import pigpio
pi = pigpio.pi() # sudo pigpiod
@rxseger
rxseger / nightlight.py
Last active September 16, 2016 05:58
toggle LED on Raspberry Pi GPIO on/off given MCP3304 ADC to OPT101 ambient light reading
#!/usr/bin/python
# nightlight.py - toggle LED on Raspberry Pi GPIO on/off given MCP3304 ADC to OPT101 ambient light reading
# https://medium.com/@rxseger/spi-interfacing-experiments-eeproms-bus-pirate-adc-opt101-with-raspberry-pi-9c819511efea
import spidev
import time
import RPi.GPIO as GPIO
# /dev/spidev(bus).(dev)
SPI_BUS = 0
@rxseger
rxseger / nightlight
Created September 16, 2016 05:49
startup script for nightlight.py
#!/bin/sh
### BEGIN INIT INFO
# Provides: nightlight
# Required-Start: $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: A comforting light to keep you out of the dark
# Description: Toggle GPIO LED from MCP3304 ADC to OPT101 photodiode
### END INIT INFO
@rxseger
rxseger / SPI_MCP3304.py
Created September 15, 2016 06:20
read 8-channel ADC (MCP3304 chip) via SPI on Raspberry Pi
#!/usr/bin/python
# -*- coding: utf-8 -*-
# SPI_MCP3304.py: read 8-channel ADC, based on http://www.havnemark.dk/?p=54
# mcp3008_lm35.py - read an LM35 on CH0 of an MCP3008 on a Raspberry Pi
# mostly nicked from
# http://jeremyblythe.blogspot.ca/2012/09/raspberry-pi-hardware- spi-analog-inp$
# Changed to work w. MCP3308 by Kim H. Rasmussen, June 2013
import spidev
import time
@rxseger
rxseger / netbus.py
Last active September 7, 2016 06:07
open/close CD/DVD tray from Raspberry Pi GPIO via H-Bridge
#!/usr/bin/python
# open/close CD/DVD tray from Raspberry Pi GPIO via H-Bridge
import RPi.GPIO as GPIO
import time
import sys
import signal
GPIO.setmode(GPIO.BOARD)
@rxseger
rxseger / hbridge2.py
Created September 6, 2016 01:26
control 2-input H-Bridge with control and disable bit (K1=K4=C, K2=K3=not (C or D))
#!/usr/bin/python
import RPi.GPIO as GPIO
import sys
GPIO.setmode(GPIO.BOARD)
C = 38 # G20
D = 40 # G21
@rxseger
rxseger / hbridge1.py
Created September 5, 2016 20:50
control 4-input H-Bridge via Raspberry Pi GPIO
#!/usr/bin/python
import RPi.GPIO as GPIO
import sys
GPIO.setmode(GPIO.BOARD)
K1 = 38 # G20
K2 = 7 # G4
K3 = 36 # G16
@rxseger
rxseger / gpeject.py
Created August 31, 2016 05:29
eject CD/DVD tray using GPIO
#!/usr/bin/python
# eject CD/DVD tray using GPIO to turn on motor until switch closes
import RPi.GPIO as GPIO
import signal
import sys
import time
GPIO.setmode(GPIO.BOARD)