Moteur pas à pas + Arduino + suiveur solaire (EV) (9 / 11 étapes)

Étape 9: Code

Je laisse le code de contrôle, j’espère que je n’ai pas manqué quoi que ce soit, parce que l’éditeur tourné mon ensemble haha XD.

Stepper Motor traqueur solaire par hectorhhg

#include //Integrating bibliothèque pour les moteurs pas à pas Stepper.h

#include //Integrating bibliothèque de math.h de conception pour des opérations mathématiques de base

Déclarer les constantes

#define motorStephor 200 //steps pour moteur horizontal

#define motorStepver 200 //steps pour moteur vertical

Broches numériques

#define motor1hor 6

#define motor2hor 7

#define motor1ver 8

#define motor2ver 9

Variables

int prom ; Moyenne de quatre LDR

pyr int ; Photodiode BPW34

int h = 60 ; Mesures exécutées par le moteur horizontal

int v = 5 ; Mesures exécutées par le moteur vertical

int ltsensor ; Valeur de la LDR haut gauche

int rtsensor ; Valeur de la LDR supérieure droite

int rdsensor ; Valeur de la partie inférieure droite LDR

int ldsensor ; Valeur de l’angle inférieur gauche LDR

sen int = 50 ; Sensibilité

int dil ; Ensemble moyen de LDR gauche

int dit ; Ensemble moyen de haut LDR

int dir ; Ensemble moyen de droit LDR

int a ; Ensemble moyen de fond LDR

int diff ; Différence entre LDR au-dessus du fond

diff2 int ; Différence entre LDR de gauche à droite

chiot int ; commutateur supérieur

int pdown ; Interrupteur basse

HorStep de moteurs pas à pas (motorStephor, motor1hor, motor2hor) ;

Stepper Stepper verStep (motorStepver, motor1ver, motor2ver) ;

Initialisation du programme

installation Sub ()

{

horStep.setSpeed (30) ; Moteur horizontal tr/min

verStep.setSpeed (10) ; Moteur vertical tr/min

Port série

Serial.Begin(9600) ;

Configuration des broches

pinMode (pyr, entrée) ;

pinMode (ltsensor, entrée) ;

pinMode (rtsensor, entrée) ;

pinMode (ldsensor, entrée) ;

pinMode (rdsensor, entrée) ;

pinMode (pup, saisir) ;

pinMode (pdown, entrée) ;

}

void loop ()

{

faire

{

PYR = analogRead(0) ; Lecture des entrées analogiques

ltsensor = analogRead (1) * 1,022 ; (constante est de calibrer le LDR)

rtsensor = analogRead (2) * 1.007 ;

ldsensor = analogRead(3) ;

rdsensor = analogRead (4) * 1.013 ;

chiot = digitalRead (3) ; Commutateurs de lecture

PDown = digitalRead(4) ;

Bal = (ltsensor + ldsensor + rtsensor + rdsensor) / 4 ; LDR moyenne

dit = (ltsensor + rtsensor) / 2 ; Capteurs moyennes vers le haut

DID = (ldsensor + rdsensor) / 2 ; Capteurs moyens vers le bas

diff = (dit - fait) ; Différence entre le niveau de rayonnement

retard (50) ;

Si ((pyr==0) & &(pup==HIGH) & & (prom < = 8) || (PYR==0) & &(pdown==HIGH) & & (prom < = 8)) //If la valeur de pyr est égale à zéro et la moyenne des capteurs est égal ou inférieur à 8 et les commutateurs ont la plage

MOV() ; fonction de MOV

}

tandis que ((pyr == 0) & &(pup==HIGH) & & (prom < = 8) || (PYR==0) & &(pdown==HIGH) & & (prom < = 8)) ;

Si (-1 * sen > diff || diff > sen) //If la différence mesurée entre l’ensemble des capteurs est supérieure ou inférieure à la valeur de la sensibilité

{

if(dit < DID) //If la valeur moyenne des capteurs ci-dessus est plus petit que les capteurs de fond

{

Si (pdown == HIGH)

{

verStep.step (0) ; Arrêter le moteur vertical

retard (10) ;

}

d’autre

Si (pdown == faible)

{

verStep.step (v) ; Tourner le moteur vers le haut

retard (50) ;

}

}

d’autre if(dit > did) //If la valeur moyenne des capteurs bas est plus petit que les capteurs ci-dessus

{

Si (chiot == HIGH)

{

verStep.step (0) ; Arrêter le moteur vertical

retard (10) ;

}

ElseIf (chiot == faible)

{

verStep.step (-v) ; Tourner le moteur vers le bas

retard (50) ;

}

}

d’autre //any les autres cas

{

verStep.step (0) ; Arrêter le moteur vertical

retard (10) ;

}

}

retard (10) ;

PYR = analogRead (0) ; Lectures du capteur encore d’éventuel changement

ltsensor = analogRead (1) * 1,022 ;

rtsensor = analogRead (2) * 1.007 ;

ldsensor = analogRead(3) ;

rdsensor = analogRead (4) * 1.013 ;

Dil = (ltsensor + ldsensor) / 2 ; Capteurs moyennes gauche

dir = (rtsensor + rdsensor) / 2 ; Capteurs moyennes droite

diff2 = (dil - dir) ; Différence entre le niveau de rayonnement

retard (50) ;

Si (-1 * sen > diff2 || diff2 > sen) //If la différence mesurée entre l’ensemble des capteurs est supérieure ou inférieure à la valeur de la sensibilité

{

if(Dil < dir) //If la moyenne du capteur gauche est plus petit que le capteur de droit

{

horStep.step (h) ; Moteur de tourner à droite

retard (10) ;

}

d’autre

if(Dil > dir) //If la moyenne du capteur gauche est plus grand que le capteur de droit

{

horStep.step (-h) ; Moteur, tournez à gauche

retard (10) ;

}

d’autre //any les autres cas

{

horStep.step (0) ; Arrêter le moteur horizontal

retard (10) ;

}

}

Delay(10) ;

}

« mov fonction »

mov Sub ()

{

Si (chiot == HIGH)

{

verStep.step (72) ; Augmentez les 72 marches (sont les étapes pour changer de position une fois masquer le soleil)

retard (50) ;

}

ElseIf (pdown == HIGH)

{

verStep.step-(72) ; Baissez les 72 marches

retard (50) ;

}

retard (10) ;

}

Articles Liés

Vitesse du moteur pas à pas contrôle avec LABVIEW et ARDUINO

Vitesse du moteur pas à pas contrôle avec LABVIEW et ARDUINO

J'ai fait cela chez Proteusu commande STEPPER MOTOR vitesse avec LABVIEW et ARDUINO...!! wolaaÉtape 1: Ce tutoriel est :> À l'aide de Labview à interface Arduino au PC via le port USB.> Utilisation de Labview pour envoyer des données qui décrit la v
Conduire un moteur pas à pas avec un Arduino et un chauffeur de A4988 Stepstick/Pololu

Conduire un moteur pas à pas avec un Arduino et un chauffeur de A4988 Stepstick/Pololu

Il existe plusieurs façons de faire un moteur pas à pas à exécuter, et la meilleure façon dépendra de l'application, le moteur et l'électronique disponibles. Pour faire fonctionner un moteur pas à pas d'un Arduino, ce sont les principaux moyens pour
Moteurs pas à pas Arduino

Moteurs pas à pas Arduino

Lorsque nous avons besoin de précision et répétabilité, un moteur pas à pas est toujours la solution. Avec la façon dont il a été conçu, un stepper peut seulement se déplacer d'une étape à l'autre et fixer dans cette position. Un moteur typique a 200
PWM Hardware Arduino pour les commandes de moteur pas à pas

PWM Hardware Arduino pour les commandes de moteur pas à pas

avec notre nouveau projet, JustAddSharks, nous sommes très désireux de soutenir le développement des logiciels libres aux contrôle aux traceurs laser. Nous sommes plus qu'heureux pour les gens de modifier nos coupeurs de laser, de remplacer le systèm
Earth Globe tournant avec Arduino ou framboise Pi contrôlé moteur pas a pas

Earth Globe tournant avec Arduino ou framboise Pi contrôlé moteur pas a pas

Cette instructable décrit comment mettre à niveau votre globe vers une version motorisée. Il semble étonnamment mieux sur le plateau lorsqu'il tourne lentement, et toute manifestation avec vos enfants (pour expliquer le cycle jour/nuit ou les saisons
Commander un moteur pas à pas avec un Arduino

Commander un moteur pas à pas avec un Arduino

Ce tutoriel va vous montrer comment faire fonctionner un moteur pas à pas qui a été récupéré d'une vieille imprimante avec un Arduino.Étape 1: Ce qui est un moteur pas à pas ? Un moteur pas à pas se compose de deux parties principales, un rotor et un
Commande de moteur pas à pas 2 axes Arduino UNO

Commande de moteur pas à pas 2 axes Arduino UNO

ce Instructable explique comment mettre en place un système de contrôle de 2 axes moteur pas à pas à l'aide :- Arduino UNO (~ 30$ US)- Sparkfun Quadstepper (~ 65$ US)-Un couple de démonté les anciens scanners (5 $ chaque)J'ai acheté ces en Nouvelle-Z
Bibliothèque d’Arduino pour moteur pas à pas 28BYJ-48 et pilote ULN2003

Bibliothèque d’Arduino pour moteur pas à pas 28BYJ-48 et pilote ULN2003

Le moteur pas à pas 28BYJ-48 avec le pilote ULN2003 semble maintenant tout à fait une configuration courante. Le moteur et le conducteur sont facilement disponibles et à peu de frais. Toutefois, la bibliothèque de moteur stepper arduino standard ne f
CAPTEUR PIR avec ARDUINO activer le moteur pas à pas

CAPTEUR PIR avec ARDUINO activer le moteur pas à pas

ACTIVER LA COMMANDE DE MOTEUR À L'AIDE DU DÉTECTEUR DE MOUVEMENTEtape 1: PIR avec ARDUINO activé moteur pas à pasSalut ce instactable de rotation avant-propos de moteur pas à pas et en arrière quand pir lire certains mouvement.Étape 2: Partie exigent
Connecter le moteur pas à pas pour arduino

Connecter le moteur pas à pas pour arduino

Salut à tous. Dans ce tutoriel je vous aidera à relier un moteur pas à pas unipolaire à votre arduino.Pour ce faire vous aurez besoin1 plateau de x Arduino -> sur ebay aprox 10$1 x pilote pour moteurs pas à pas -> ils sont bon marché sur ebay (il su
Arduino Nano et Visuino : moteur pas à pas avec des boutons de contrôle

Arduino Nano et Visuino : moteur pas à pas avec des boutons de contrôle

Moteurs pas à pas sont souvent utilisés dans les projets de l'Arduino, chaque fois que quelque chose doit être déplacé ou transformé. Dans ce Instructable, je vais vous montrer comment il est facile à connecter le moteur pas à pas à l'Arduino Nano et
Vivant avec Arduino et le L298N H-pont de commande de moteur pas à pas bipolaire

Vivant avec Arduino et le L298N H-pont de commande de moteur pas à pas bipolaire

Le module ci-dessus est une carte de fille L298N que j'ai acheté sur Amazon il y a une semaine, et s'il travaille a été un voyage assez frustrant qui voit enfin une résolution aujourd'hui. Il s'agissait de des principales raisons que j'ai pensé que m
À l’intérieur d’entraînement moteur pas à pas avec Raspberry Pi & Arduino Iot

À l’intérieur d’entraînement moteur pas à pas avec Raspberry Pi & Arduino Iot

Bonjour tout le monde.Le but de ce projet consiste à utiliser une à l'intérieur d'entraînement moteur pas à pas avec le Raspbery Pi et Arduino. Ce genre de moteur pas à pas ont généralement petit écran et vous devez regarder vers le bas au cours de v
Contrôle des moteurs pas à pas bipolaire avec Arduino [sans bibliothèque]

Contrôle des moteurs pas à pas bipolaire avec Arduino [sans bibliothèque]

Outils :-Arduino UNO-Maquette-L293D-Moteur pas à pas-12v adaptateur [ou toute source d'alimentation qui convient à votre moteur selon la fiche technique]-Fils de raccordementÉtape 1: Comprendre comment bipolaire travaux de moteur pas à pas.S'il vous