LDR


                                           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