Introduction: Solar Tracker ARDUINO (by TechnoFabrique)

About: Tech, DIY and Arduino Realisation If you liked it , come check our sites Website :http://technofabrique.wixsite.com/techno-fabrik Google +:https://plus.google.com/109229784299061111421

[FR]

LE PROJET L'objectif est de réaliser un tracker solaire permettant de suivre une source lumineuse tel que le soleil.

Réaliser le votre: http://bit.ly/2fOW3Qk

Step 1: Material You Need

1 Arduino (Uno / Mega)

3 photorésistances 100 kOhms

3 résistances 10 k Ohms

supply 9V

2 servo-motors 9g

Step 2: Setup

(FRENCH)

ETAPE 1 : Capter la lumière

Pour capter une source lumineuse, nous avons utilisé des photorésistances de 100 kOhms. Les photorésistances sont des résistances qui varient en fonction de l’intensité lumineuse reçue. Plus la photorésistance capte de la lumière et plus sa résistance deviendra faible. Nous avons utilisé des photorésistances de 100kOhms. Nous allons connecter la photorésistance en série avec une résistance de 10 kOhms pour pouvoir avoir une variation de la tension au point milieu. Nous connecterons ce point à une entrée analogique de l’Arduino.

ETAPE 2 : Se déplacer pour suivre la source lumineuse Deux servo-moteurs permettent de se déplacer circulairement sur deux axes. En programmant la rotation par rapport aux valeurs des photorésistances, nous pouvons suivre la source lumineuse.

ETAPE 3: Réaliser le tracker

Le module composé des trois photorésistances permet de connaitre sa position par rapport à la lumière. Lorsque l'on est parfaitement positionné, les trois photorésistances sont à leur maximum, et sont plus ou moins égaux.

Step 3: The Code

// 29/07/2017 - Programme C - Tracker solaire -  Carte Arduino ( UNO ) // Ce programme a pour objectif de :  //                                     -  Traiter les informations apportés par les photorésistances //                                     -  Gérer la rotation et l'inclinaison du module pour suivre une source lumineuse // Programme réalisé par Techno_Fabrik //********************BIBLIOTHEQUES****************************  // bibliothèque permettant d'utiliser les commandes pour servomoteurs facilement  #include    #include  #define STEPS 100      //Créer une instance de la classe stepper   //********************DECLARATIONS****************************  //Le moteur (fils 1 2 3 4) est branché sur les sorties 8 9 10 11 de l'Arduino (et sur GND, +V) Stepper small_stepper(STEPS, 8, 10, 9, 11);     // Sens horaire   int  Steps2Take = 0;  //Nombre de pas de rotation demandé au moteur   long temps =0;          //Durée de rotation pour un tour    int A4988_pas = 3; // nema 17 definir la vitesse int A4988_direction = 4; // nema 17 definir la direction float photo_r_0,photo_r_1,photo_r_2; // valeur des photorésisances int servo1=6; // commande du premier servo int servo2=7; int angle_rot=90,angle_inc=90; // angle des servos Servo moteur_rotation;  Servo moteur_inclinaison;  //*************************INITIALISATION ********************** void setup() {      pinMode(A4988_pas,OUTPUT);    pinMode(A4988_direction,OUTPUT);  moteur_rotation.attach(servo1);   // on relie l'obtet au pin de commande  moteur_inclinaison.attach(servo2);// on relie l'objet au pin de commande   Serial.begin(9600);    delay(2000); } //*************************************** BOUCLE *************************** void loop() {   photo_r_0=analogRead(A0);Serial.print("R_0 :   ");Serial.println(photo_r_0); // entrée analogique 8 bits = 1024 valeurs = 0 à 5V photo_r_1=analogRead(A1);Serial.print("R_1 :   ");Serial.println(photo_r_1); photo_r_2=analogRead(A2);Serial.print("R_2 :   ");Serial.println(photo_r_2);     if ( photo_r_0 photo_r_1+3) { //  angle_rot=angle_rot+1;   //moteur_rotation.write(angle_rot);    digitalWrite(A4988_direction,LOW); // Permet au moteur de tourner dans une direction    for(int x = 0; x < 1; x++) // 1 tour complet = 200 pas   {// Permet de faire un PAS à une certaine allure. Pour tourner plus vite, changer le delay jusqu'à 1 , pour ralentir, le changer jusqu'à 30     digitalWrite(A4988_pas,HIGH);      delay(5);      digitalWrite(A4988_pas,LOW);      delay(5);    }  } //vert violet oorange marron, if (photo_r_2>photo_r_1+3) {  // angle_inc=angle_inc-1;  // moteur_inclinaison.write(angle_inc); small_stepper.setSpeed(40); small_stepper.step(10); } else if (photo_r_2 }

Step 4: Video Realisation

Solar Contest 2017

Participated in the
Solar Contest 2017