ARDUINO
/*
* http://arduspot.blogspot.in/p/ldr.html
*/
int ldr = A0;
int l;
void setup()
{
pinMode(ldr,INPUT);
Serial.begin(9600);
}
void loop()
{
l = analogRead(ldr);
Serial.println(ldr);
delay(1000);
}
_________________________________________________________________________________
RASPBERRY PI
import time
import os
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
DEBUG = 1
GPIO.setup(2,GPIO.OUT)
def readadc(adcnum, clockpin, mosipin, misopin, cspin):
if ((adcnum > 7) or (adcnum < 0)):
return -1
GPIO.output(cspin, True)
GPIO.output(clockpin, False)
GPIO.output(cspin, False)
commandout = adcnum
commandout |= 0x18
commandout <<= 3
for i in range(5):
if (commandout & 0x80):
GPIO.output(mosipin, True)
else:
GPIO.output(mosipin, False)
commandout <<= 1
GPIO.output(clockpin, True)
GPIO.output(clockpin, False)
adcout = 0
for i in range(12):
GPIO.output(clockpin, True)
GPIO.output(clockpin, False)
adcout <<= 1
if (GPIO.input(misopin)):
adcout |= 0x1
GPIO.output(cspin, True)
adcout >>= 1
return adcout
SPICLK = 18
SPIMISO = 23
SPIMOSI = 24
SPICS = 25
GPIO.setup(SPIMOSI, GPIO.OUT)
GPIO.setup(SPIMISO, GPIO.IN)
GPIO.setup(SPICLK, GPIO.OUT)
GPIO.setup(SPICS, GPIO.OUT)
ldr1 = 0;
last_read1 = 0
tolerance = 5
GPIO.output(2,1)
time.sleep(0.5)
GPIO.output(2,0)
time.sleep(0.5)
while True:
print""
trim_pot_changed = False
# read the analog pin
analogRead1 = readadc(ldr1, SPICLK, SPIMOSI, SPIMISO, SPICS)
# how much has it changed since the last read?
f1_adjust = abs(analogRead1 - last_read1)
if ( f1_adjust > tolerance ):
f1_changed = True
if (f1_changed ):
ldr1 = analogRead1 / 10.24
ldr1 = round(ldr1)
ldr1 = int(ldr1)
if DEBUG:
print "ldr1: ",ldr1
last_read1 = ldr1
time.sleep(1)

No comments:
Post a Comment