Seguidor Solar con motores een paso + Arduino (9 / 11 stap)

Stap 9: Código


Les dejo el código de controle, espero geen haber omitido nada, ya que el editor me revolvió todo jaja XD.

Stepper Motor Solar Tracker door HHG

#include //Integración de la librería Stepper.h para manejar motores een pasos

#include //Integración de la librería math.h para diseño de operaciones matemáticas preguntas

Declaración de constantes

#define motorStephor 200 //Número de pasos del motor horizontale

#define motorStepver 200 //Número de pasos del motor verticale

Uso de las Relacionadas digitales de Arduino

#define motor1hor 6

#define motor2hor 7

#define motor1ver 8

#define motor2ver 9

Declaración de variabelen

int prom; Promedio de los cuatroLDR

int pyr; Valor del fotodiodo

int h = 60; Pasos ejecutados por el motor horizontale

int v = 5; Pasos ejecutados por el motor verticale

int ltsensor; Valor del LDR superieure izquierdo

int rtsensor; Valor del LDR superieure derecho

int rdsensor; Valor del LDR inferieur izquierdo

int ldsensor; Valor del LDR inferieur derecho

int sen = 50; Sensibilidad

int dil; Promedio del conjunto de LDR izquierdo

int dit; Promedio del conjunto de LDR arriba

int dir; Promedio del conjunto de LDR derecho

int deed; Promedio del conjunto de LDR abajo

int diff; Permitteert entre los LDR de arriba con los abajo

int diff2; Permitteert entre los LDR de la izquierda con los de la derecha

int de pup; Interruptor superior

int pdown; Interruptor inferior

Stepper-horStep (motorStephor, motor1hor, motor2hor); Inicia la librería Stepper

Stepper-verStep (motorStepver, motor1ver, motor2ver);

Inicialización del programa

void setup)

{

horStep.setSpeed (30); RPM del motor horizontale

verStep.setSpeed (10); RPM del motor verticale

Inicialización del puerto seriële COM

Serial.begin(9600);

Configuration de dennen como Relacionadas

pinMode (pyr, INPUT);

pinMode (ltsensor, INPUT);

pinMode (rtsensor, INPUT);

pinMode (ldsensor, INPUT);

pinMode (rdsensor, INPUT);

pinMode (pup, ingang);

pinMode (pdown, INPUT);

}

Inicialización del bucle

void loop)

{

//Comienza la estructura de controle repetitiva doe-terwijl

{

Pyr = analogRead(0); LECTURA de las Relacionadas analógicas

ltsensor = analogRead (1) * 1.022; (La constante es para calibrar las fotorresistencias)

rtsensor = analogRead (2) * 1.007;

ldsensor = analogRead(3);

rdsensor = analogRead (4) * 1.013;

pup = digitalRead (3); LECTURA de los interruptores

pdown = digitalRead(4);

Prom = (ltsensor + ldsensor + rtsensor + rdsensor) / 4; Promedio de los cuatro sensoren

Dit = (ltsensor + rtsensor) / 2; Promedio de los sensoren de arriba

= (ldsensor + rdsensor) / 2; Promedio de los sensoren de abajo

diff = (dit - deed); Permitteert entre el nivel de radiación

vertraging (50);

Als ((pyr==0) & &(pup==HIGH) & & (prom < = 8) || (Pyr==0) & &(pdown==HIGH) & & (prom < = 8))

Si el valor de pyr es cero y el promedio de los sensoren es igual o menor per 8 y los interruptores tengan el Razvan

MOV(); Ejecutar la función "mov"

}

terwijl ((pyr == 0) & &(pup==HIGH) & & (prom < = 8) || (Pyr==0) & &(pdown==HIGH) & & (prom < = 8));

Mientras el valor de pyr zee cero y el promedio de los sensoren zee igual o menor een 8 y los interruptores tengan el Razvan, sigue ejecutándose el bucle

Als (-1 * sen > diff || diff > sen) //Si la permitteert medida entre el conjunto de sensoren es burgemeester o menor al valor de la sensibilidad

{

if(dit < did) //Si el valor medio de los sensoren de arriba es más pequeña que la de los sensoren de abajo

{

Als (pdown == HIGH) //Si pdown se activa

{

verStep.step (0); Parar el motor nl el sentido verticale

vertraging (10);

}

else if (pdown == LOW) //Si pdown esta inactivo

{

verStep.step (v); Gira el motor is arriba

vertraging (50);

}

}

anders if(dit > did)

Si el valor medio de los sensoren de abajo es más pequeña que la de los sensoren de arriba

{

Als (pup HIGH ==) //Si pup se activa

{

verStep.step (0); Para el motor nl el sentido verticale

vertraging (10);

}

anders als (pup lage ==) //Si pup esta inactivo

{

verStep.step (-v); Gira el motor is abajo

vertraging (50);

}

}

anders //Para cualquier otro caso

{

verStep.step (0); Parar el motor nl el sentido verticale

vertraging (10);

}

}

vertraging (10);

Pyr = analogRead (0); LECTURA de los sensoren nuevamente por posible cambio

ltsensor = analogRead (1) * 1.022;

rtsensor = analogRead (2) * 1.007;

ldsensor = analogRead(3);

rdsensor = analogRead (4) * 1.013;

Dil = (ltsensor + ldsensor) / 2; Promedio de los sensoren de la izquierda

dir = (rtsensor + rdsensor) / 2; Promedio de los sensoren de la derecha

diff2 = (dil - dir); Permitteert entre el nivel de radiación

vertraging (50);

Als (-1 * sen > diff2 || diff2 > sen) //Si la permitteert medida entre el conjunto de sensoren es burgemeester o menor al valor de la sensibilidad

{

if(DIL < dir) //Si el valor medio de los sensoren de la izquierda es más pequeña que la de los sensoren de la derecha

{

horStep.step (h); Girar motor is la derecha

vertraging (10);

}

anders if(dil > dir)

Si el valor medio de los sensoren de la izquierda es más grande que la de los sensoren de la derecha

{

horStep.step (-h); Girar el motor is la izquierda

vertraging (10);

}

anders //Para cualquier otro caso

{

horStep.step (0); Parar el motor nl el sentido horizontale

vertraging (10);

}

}

delay(10);

}

Función "mov"

VOID mov)

{

Als (pup HIGH ==) //Si pup está activo

{

verStep.step (72); Gira 72 pasos is arriba

vertraging (50);

}

else if (pdown == HIGH) //Si pdown está activo

{

verStep.step (-72); Gira 72 pasos is abajo

vertraging (50);

}

vertraging (10);

}

Gerelateerde Artikelen

Arduino RC auto bluetooth con motor shield

Arduino RC auto bluetooth con motor shield

Para poder crearlo necesitamos:-Arduino UnoMotor shield - Arduino-Modulo bluetooth hc-06-Bateria________________Opcionales-Led-ZumbadorStap 1: Wisselmakelaar la placa del coche por el arduinoHay que eliminar la placa dejando solo los kabels de motore
Controle van De Motor paso een paso con Arduino nano

Controle van De Motor paso een paso con Arduino nano

Aquí les dejo VN proyecto que surgió een causa de mis ansias de hacer mi propia taladradora CNC pero luego que obtuve mi Arduino debía aprender een controlar de forma básica los motores paso een paso!! Aquí podrán ver el resultado de mi primera prueb
Dual Motor Driver met Arduino met behulp van een SN754410NE Quad halve H-Bridge

Dual Motor Driver met Arduino met behulp van een SN754410NE Quad halve H-Bridge

Een stap voor stap projectrichtlijnen door ArduinoFunMet dit Instructable ga ik je laten zien hoe u met een SN754410NE Quad H-Bridge IC controle twee 12-volt DC-motoren.Ik heb een video toegevoegd zodat u de dubbele Motor in actie kunt zien.  Zoals u
LINK ELECTRICO CON MOTORES BORSTELLOZE

LINK ELECTRICO CON MOTORES BORSTELLOZE

"El mundo ha cambiado. Lo siento nl el agua. Lo siento nl la tierra. Lo huelo nl el aire. Mucho de lo que fue se ha perdido... "-The Lord of the Rings.Ciertamente... hablando del Petróleo y de las Energías No Renovables, mucho de lo que fue se h
BLDC Motor Control met Arduino, geborgen HD-motor en Hall sensoren

BLDC Motor Control met Arduino, geborgen HD-motor en Hall sensoren

er is veel belangstelling deze dagen onder hobbyisten bij het beheersen van Borstelloze DC (BLDC) motoren, die hebben betere prestaties en betere energie-efficiëntie overtraditionele gelijkstroommotoren, zijn maar moeilijker te gebruiken. Er bestaan
Een eenvoudige Arduino Bluetooth auto

Een eenvoudige Arduino Bluetooth auto

Hoi, dit is mijn eerste instructable.Dit is een eenvoudige arduino bluetooth auto voor beginners.Ik ben met behulp van twee continue rotatie servos in plaats van motoren.Dus, laten we beginnen. :)Stap 1: Wat moet je1) Arduino (im ' using een Mega-256
Hoe te programmeren een AVR (arduino) met een ander arduino

Hoe te programmeren een AVR (arduino) met een ander arduino

deze instructables is handig als:* je hebt je arduino met atmega168 en je kocht een atmega328 op je lokale elektronicawinkel. Het hoeft niet een arduino bootloader* u wilt maken van een project dat geen gebruik maakt van arduino - gewoon een regelmat
ThermoClock: Een OpenSource Arduino UNO OLED klok die ook temperatuur meet

ThermoClock: Een OpenSource Arduino UNO OLED klok die ook temperatuur meet

Hallo, iedereen!Vandaag ga ik u tonen hoe te maken een OpenSource Arduino UNO OLED klok dat ook maatregelen temperatuur. Dit project is een OpenSource en het is open voor iedereen. Het vereist geen speciale ingenieur vaardigheden, en brengt u minder
Repareren van een gebakken Arduino Mega

Repareren van een gebakken Arduino Mega

Soms kan jij iets stoms, andere keren is het volstrekt onverklaarbaar, maar als gevolg van welke evenementen, het groene lampje op uw Arduino gestopt komt op. In mijn geval bleek te zijn een verbrand uit spanningsregelaar.Dit ondoorgrondelijke is een
MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino!

MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino!

MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino!Nu bijgewerkt voor Arduino 1.6.6 November 2015!Gebruik slechts twee weerstanden en twee diodes voor het genereren van de volledig-schermvideo. Tekst 47 x 29 van 8 x 8 karakters,
Een spelletje spelen met een kale Arduino

Een spelletje spelen met een kale Arduino

"Push-It"Interactieve spel met behulp van een kale Arduino board, geen externe onderdelen of bedrading nodig.Push-It heeft twee doelen.Te schets snel tonen/Controleer je Arduino board werkt en dat u setup goed voor het downloaden van een nieuwe
Hoe krijg ik een betere Arduino voor minder!

Hoe krijg ik een betere Arduino voor minder!

Als u een betere Arduino wilt, maar niet genoeg geld hebben, gaat u naar ebay en zoek naar "arduino"Wow! een Arduino uno met 33% korting!
Gemakkelijk, omkeerbare Motor controle voor Arduino (of een Microcontroller)

Gemakkelijk, omkeerbare Motor controle voor Arduino (of een Microcontroller)

dit project maakt gebruik van slechts drie hoofdcomponenten voor voorwaartse en omgekeerde bepalen voor een interne motor.  U kunt het gemakkelijk interface naar een Arduino of elke andere microcontroller.Het is zo eenvoudig - u kunt het draad van "f
Hoe te rijden een DC-Motor met Transistor - Arduino tutorial Arduino Tutorial

Hoe te rijden een DC-Motor met Transistor - Arduino tutorial Arduino Tutorial

Als u wilt een DC-motor rijden moet u een groter bedrag aan huidige dan Arduino board kan geven. Om die reden moet u een transistor. Transistors zijn grenzen en maximale specs, zorg er wel voor deze waarden zijn genoeg voor uw gebruik.De transistor d