Motor styrring afhængig af solstyrke

Hej 'DEF'.

En kort artikel om koden bag 'Motor styrring afhængig af solstyrke'.

Historie:
Idé'en var at lave en gardin ned/op-ruller, som reagere afhængig af solens styrke.

Martialer:
1 Arduino Board (Brugte selv Arduino Uno R3)
1 LDR komponent og 1k Ohm modstand
1 L9110S (Til motor styrring)
Du kan tillægge et Ethernet Shield hvis du ønsker dine informationer over LAN/WAN

Koden ses her:

Kode:
int sensorPin = A0;
int sensorValue;
int sensorValueLAST;
int motorpinA = 7;
int motorpinB = 8;
boolean up, down;

void setup() {
  pinMode(motorpinA, OUTPUT);
  pinMode(motorpinB, OUTPUT);
  
  Serial.begin(9600);
}

void loop() {
  // read the value from the sensor:
  sensorValue = analogRead(sensorPin);
  Serial.println(sensorValue);
  
    if(sensorValueLAST < sensorValue){
      up = true;
    } else {
      up = false;
    }
  
  if(up == true){
    motorUP();
    Serial.println("Motor UP");
    up = true;
  }
  
  if(up == false){
    motorDOWN();
    Serial.println("Motor DOWN");
    up = false;
  }
  delay(2500);
  
  sensorValueLAST = sensorValue;
}

void motorUP(){
 digitalWrite(motorpinA, HIGH);
 digitalWrite(motorpinB, LOW);
}

void motorDOWN(){
 digitalWrite(motorpinA, LOW);
 digitalWrite(motorpinB, HIGH);  
}

Opsætningen er nem:
LDR opsætningen på Arduino (Sørg for at den ene rigtige pin er i A0 på arduino):

Om du bruger 5v eller 3.3v virker til at reagere ens.

På din L9110S skal du bruge 4 pins, motor A motor B også vcc og gnd
Gnd = minus
VCC = 5v
motorA = pin 7
motorB = pin 8

Så nemt er det.

Billedet er taget af mig.

Yderligere info ville være at man måske pillede lidt ved koden så den passede 110% nøjeagtig.
Samme opstilling kan i øvrigt bruges med en temperatur måler, fx. DS18B20 på digital pin 2, også et relæ på digital pin 7 til at tænde og slukke for et varme apparat.

Har man styr på sin motor teknik, kan man jo også bruge en H Bro som i hoved artiklen (L9110S) til at styre en motor til at tænde og slukke for varmen.

Eller en PIR Sensor til at føle om der er bevægelse i nærheden, også den tænder eller slukker for lys.

--
I alle tilfælde kan man jo bruge ethernet modulet til at sende sine data til en server, som overvåger mv, og eventuelt smider dig en email dagligt til at fortælle hvordan målingerne ser ud.