LinkerKit for Raspberry Pi

From LinkSprite Playgound
Revision as of 15:51, 31 July 2013 by Jingfeng (talk | contribs) (Linker Light Sensor)
Jump to: navigation, search


LK raspberry 02.jpg LK raspberry 01.jpg


This pack includes the following components:



Tutorial

In this tutorial, we are going to explain how to use Python to do the experiments:

Environment Setup

Now we will install python-pip (pip is a package used to install and manage python software package, and it is used replace esay_install):

sudo apt-get install python-imaging python-imaging-tk python-pip python-dev git

Next, we will install spidev using pip:

sudo pip install spidev

Then we will install WiringPi (the driver for IOs on Raspberry pi, that can be used in C, shell script or Python, etc):

sudo pip install wiringpi

Linker Button

Connect linker_led to pin 27 of RPI, connect linker_button to pin 23 of RPI


Python code:

<syntaxhighlight lang="c">

import RPi.GPIO as GPIO

led_pin = 27 button_pin = 23

GPIO.setmode( GPIO.BCM ) GPIO.setup( led_pin,GPIO.OUT ) GPIO.setup( button_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

print ("\nlinker_led pin 27 , linker_button pin 23\n")

while True: if GPIO.input(button_pin): GPIO.output(led_pin,True) else : GPIO.output(led_pin,False) </syntaxhighlight>

Linker LED

Connect linker led to pin 27 of RPI.

Python code:


<syntaxhighlight lang="c">

import RPi.GPIO as GPIO import time

led_pin = 27

GPIO.setmode(GPIO.BCM) GPIO.setup(led_pin,GPIO.OUT)

print "\nlinker led pin 27\n"

while True:

GPIO.output(led_pin,True) time.sleep(0.5) GPIO.output(led_pin,False) time.sleep(0.5) </syntaxhighlight>

Linker Light Sensor

To use this module with RPI, we need a shield .

If you don't have this shield, you can follow the instructions at here.

Python code:

<syntaxhighlight lang="c">

import RPi.GPIO as GPIO import spidev import time

led_pin = 27

  1. A0 = 0, A1 = 1, A2 = 2, A3 =3

temp_channel = 0

GPIO.setmode( GPIO.BCM ) GPIO.setup( led_pin,GPIO.OUT ) spi = spidev.SpiDev() spi.open(0,0)

print "\nlinker led pin 27" print ("Please the linker_temperature is connected to A%1d\n" % temp_channel) time.sleep(3)

def readadc(adcnum):

  1. read SPI data from MCP3004 chip, 4 possible adc's (0 thru 3)
   if adcnum > 3 or adcnum < 0:
       return -1
   r = spi.xfer2([1,8+adcnum <<4,0])
   adcout = ((r[1] &3) <<8) + r[2]
   return adcout

while True: value = readadc(temp_channel) volts = (value * 3.3) / 1024 print("value = %4d/1023" % value) print("volts = %5.3f V\n" % volts ) if value > 10 : GPIO.output(led_pin,True) else : GPIO.output(led_pin,False) time.sleep(0.5)

</syntaxhighlight>

Linker Relay

To use this module with RPI, we need a shield .

If you don't have this shield, you can follow the instructions at here.

Python code:

<syntaxhighlight lang="c"> import RPi.GPIO as GPIO import time

relay_pin = 23

GPIO.setmode( GPIO.BCM ) GPIO.setup( relay_pin,GPIO.OUT )

print "\nlinker relay pin 23\n"

while True:

GPIO.output(relay_pin,True) time.sleep(0.5) GPIO.output(relay_pin,False) time.sleep(0.5)

</syntaxhighlight>