Stappenmotor + Arduino Solar Tracker (EV) (9 / 11 stap)

Stap 9: Code


Ik laat de controlecode, ik hoop dat ik heb niet gemist om het even wat, omdat de editor draaide mijn hele haha XD.

Stepper Motor Solar Tracker door hectorhhg

#include //Integrating bibliotheek voor de behandeling van Stepper.h stappenmotoren

#include //Integrating ontwerp math.h bibliotheek voor rekenkundige basisbewerkingen

Constanten declareren

#define motorStephor 200 //steps voor horizontale motor

#define motorStepver 200 //steps voor verticale motor

Digitale pinnen

#define motor1hor 6

#define motor2hor 7

#define motor1ver 8

#define motor2ver 9

Variabelen

int prom; Gemiddelde van vier LDR

int pyr; BPW34 fotodiode

int h = 60; Stappen uitgevoerd door de horizontale motor

int v = 5; Stappen uitgevoerd door de verticale motor

int ltsensor; Waarde van de hoogste linker LDR

int rtsensor; Waarde van de top juiste LDR

int rdsensor; Waarde van het bodemrecht LDR

int ldsensor; Waarde van de linker benedenhoek LDR

int sen = 50; Gevoeligheid

int dil; Gemiddelde aantal LDR links

int dit; Gemiddelde aantal LDR top

int dir; Gemiddelde aantal LDR recht

int deed; Gemiddelde aantal LDR bodem

int diff; Verschil tussen LDR boven de bodem

int diff2; Verschil tussen LDR van links naar rechts

int de pup; bovenste schakelaar

int pdown; lagere schakelaar

Stepper-horStep (motorStephor, motor1hor, motor2hor);

Stepper Stepper verStep (motorStepver, motor1ver, motor2ver);

Programma initialisatie

void setup)

{

horStep.setSpeed (30); RPM horizontale motor

verStep.setSpeed (10); De verticale motor RPM

Seriële poort

Serial.begin(9600);

Pinnen configuratie

pinMode (pyr, INPUT);

pinMode (ltsensor, INPUT);

pinMode (rtsensor, INPUT);

pinMode (ldsensor, INPUT);

pinMode (rdsensor, INPUT);

pinMode (pup, ingang);

pinMode (pdown, INPUT);

}

void loop)

{

doen

{

Pyr = analogRead(0); Lezing analoge ingangen

ltsensor = analogRead (1) * 1.022; (constante is te kalibreren van de LDR)

rtsensor = analogRead (2) * 1.007;

ldsensor = analogRead(3);

rdsensor = analogRead (4) * 1.013;

pup = digitalRead (3); Lezing schakelaars

pdown = digitalRead(4);

Prom = (ltsensor + ldsensor + rtsensor + rdsensor) / 4; Gemiddelde LDR

Dit = (ltsensor + rtsensor) / 2; Gemiddelde sensoren omhoog

= (ldsensor + rdsensor) / 2; Gemiddelde sensoren naar beneden

diff = (dit - deed); Verschil tussen de hoeveelheid straling

vertraging (50);

Als ((pyr==0) & &(pup==HIGH) & & (prom < = 8) || (Pyr==0) & &(pdown==HIGH) & & (prom < = 8)) //If de waarde van pyr is nul en het gemiddelde van de sensoren is gelijk of minder dan 8 en de schakelopties hebben het bereik

MOV(); MOV functie

}

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

Als (-1 * sen > diff || diff > sen) //If het gemeten verschil tussen het aantal sensoren is groter of kleiner is dan de waarde van de gevoeligheid

{

if(dit < did) //If de gemiddelde waarde van de bovenstaande sensoren kleiner is dan de onderste sensoren

{

Als (pdown == HIGH)

{

verStep.step (0); Verticale motor stoppen

vertraging (10);

}

anders

Als (pdown == laag)

{

verStep.step (v); Draaien van motor

vertraging (50);

}

}

anders if(dit > did) //If de gemiddelde waarde van de bodem sensoren kleiner is dan de bovenstaande sensoren

{

Als (pup == HIGH)

{

verStep.step (0); Verticale motor stoppen

vertraging (10);

}

anders als (pup == laag)

{

verStep.step (-v); Zet de motor af

vertraging (50);

}

}

anders //any ander geval

{

verStep.step (0); Verticale motor stoppen

vertraging (10);

}

}

vertraging (10);

Pyr = analogRead (0); Sensor lezingen weer veranderen voor mogelijke

ltsensor = analogRead (1) * 1.022;

rtsensor = analogRead (2) * 1.007;

ldsensor = analogRead(3);

rdsensor = analogRead (4) * 1.013;

Dil = (ltsensor + ldsensor) / 2; Gemiddelde sensoren links

dir = (rtsensor + rdsensor) / 2; Gemiddelde sensoren juiste

diff2 = (dil - dir); Verschil tussen de hoeveelheid straling

vertraging (50);

Als (-1 * sen > diff2 || diff2 > sen) //If het gemeten verschil tussen het aantal sensoren is groter of kleiner is dan de waarde van de gevoeligheid

{

if(DIL < dir) //If het gemiddelde van de linker sensor kleiner is dan de juiste sensor

{

horStep.step (h); Rechtsaf motor

vertraging (10);

}

anders

if(DIL > dir) //If het gemiddelde van de linker sensor groter is dan de juiste sensor

{

horStep.step (-h); Links afslaan motor

vertraging (10);

}

anders //any ander geval

{

horStep.step (0); Stoppen met horizontale motor

vertraging (10);

}

}

delay(10);

}

"mov functie"

VOID mov)

{

Als (pup == HIGH)

{

verStep.step (72); 72 stappen opdagen (zijn de stappen eenmaal te wijzigen positie verbergen de zon)

vertraging (50);

}

else if (pdown == HIGH)

{

verStep.step (-72); 72 stappen afslaan

vertraging (50);

}

vertraging (10);

}

Gerelateerde Artikelen

DIY Arduino Solar Tracker

DIY Arduino Solar Tracker

Hallo NerdsVorige week zag ik een geweldige instrcutable voor Geo Bruce's mooi en simpel solar tracker.Dus, ik dacht dat te halen mijn eigen en hier is de output.Het is geïnspireerd door Geo Bruce's werk.Stap 1: Items nodig Sommige items zullen worde
Arduino Solar Tracker met behulp van LED's!

Arduino Solar Tracker met behulp van LED's!

Zo kwam ik onlangs over een beetje informatie had ik vergeten. LEDs produceren een beetje spanning wanneer onder verlichting van een aantal golflengten. Tijd om te exploiteren deze eigenaardigheid om een DIY solar tracker voor mijn zonnepanelen!De co
Arduino Solar Tracker

Arduino Solar Tracker

wat is:Het zoekt de helderste lichtbron als de zon.Stap 1: Hoe het werkt How it works:Ik had een sensor van 4 LDRs met bladen tussen henHet zijn de LDRs met stipsWanneer de stick op de top is uitvielen aan de zon of de helderste puntde vier LDRs krij
Solar tracker met arduino uit elke dag materialen

Solar tracker met arduino uit elke dag materialen

Deze solar tracker modelbouw is zo eenvoudig dat er geen behoefte aan een volledig uitgerust laboratorium is om te maken. Eigenlijk deed ik het in mijn keuken! Aan de andere kant zijn de belangrijkste idee en software, zodat ik durven zou om ze te ge
Arduino & Lego Solar Tracker (dubbele as)

Arduino & Lego Solar Tracker (dubbele as)

Ik maakte een solar tracker met lego en arduino.Het is een zeer mooi en eenvoudig project als u wilt leren van de arduino en elektronica. Geen solderen vereist.Het doel is alleen educatieve omdat de motoren niet sterk genoeg om het gewicht van de zon
DIY Mini Solar Tracker

DIY Mini Solar Tracker

Hallo jij daarMijn allereerste instructable is mijn ontwerp genaamd de DIY Mini Solar Tracker is een zonnepaneel dat tracks van de zon! Ik gebruikte deze voor mijn achtste rang wetenschap eerlijke het projectideeà en mijn klasgenoten dacht dat het wa
Eenvoudige dubbele as Solar Tracker

Eenvoudige dubbele as Solar Tracker

En español.Wij bij BrownDogGadgets.com hou van het gebruik van zonne-energie met onze elektronica projecten. Voor het grootste deel is het zeer eenvoudig om te werken in kleine, lage spanning, projecten.Een frequente vraag die wij van studenten en h
Internet Enabled Solar Tracker

Internet Enabled Solar Tracker

Dit is een Solar Tracker. Een volledige grootte, wolk verbonden, smartphone toegankelijk Solar Tracker gebouwd voornamelijk uit 2x4s en multiplex, met houten peg versnellingen, gerecycleerd gordijn palen, moeren, bouten en ankerstang. De solar tracke
DIY Solar Tracker

DIY Solar Tracker

IntroductieWij streven naar de jonge studenten kennismaken met techniek en leren ze over zonne-energie; doordat bouwen ze een Helios als onderdeel van hun curriculum. Er is een inspanning in engineering tot push opwekking van energie uit de buurt van
Dubbele as solar tracker met online energie monitor

Dubbele as solar tracker met online energie monitor

Dit project was één van mijn laatste projecten heb ik op mijn exchange-studie in Finland.Voor dit project werkte ik samen met Fatbardh.Dit is een veel grotere en meer geavanceerde versie van een van mijn eerste projecten ooit.Ook een solar tracker:.D
ARDUINO SOLAR CHARGE CONTROLLER (versie 2.0)

ARDUINO SOLAR CHARGE CONTROLLER (versie 2.0)

Een jaar geleden, begon ik bouw mijn eigen zonnestelsel om macht voor mijn dorpshuis. In eerste instantie maakte ik een LM317 gebaseerde heffing controller en een energie-meter voor de bewaking van het systeem. Ik eindelijk PWM heffing controller. In
ARDUINO SOLAR CHARGE CONTROLLER (versie-1)

ARDUINO SOLAR CHARGE CONTROLLER (versie-1)

In mijn vorige instructables beschreef ik de details van energie monitoring van een off grid solar systeem. Ik heb de 123D circuits competitie daarvoor ook gewonnen. U ziet deze ARDUINO energie METER.Tot slot ben ik mijn nieuwe versie-3 heffing contr
Servo gebaseerd dubbele as solar tracker

Servo gebaseerd dubbele as solar tracker

servo gebaseerd dubbele as solar trackercode: http://www.edaboard.com/thread285813.html#post1221635
Single-as PIC gecontroleerd Solar Tracker DIY Kit

Single-as PIC gecontroleerd Solar Tracker DIY Kit

Hallo alleIk ga niet in zo veel diepte met dit instructable vanwege mijn huidige tijdgebrek.  Dat gezegd hebbende, ik ben volledig van plan over het bijwerken van dit instructable naarmate de tijd vordert met nieuwe algoritmes en programma's voor opt