Hola a todos,
ya tenemos algunos Productos en nuestra gama de productos que permiten el Paso o Motores de corriente continua con varios Canales en el Arduino para operar. Hoy me gustaría hacer una Operación de 12V Motor a un Arduino muestran. En Principio, para cada uno de los Consumidores a través de PWM que controla conectar, por ejemplo, un LED. La Velocidad o el Brillo se puede ajustar con el Serial Monitor de navegación. Una puesta en marcha del Proyecto, sin Library es posible, pero también Desventajas. Un Problema significativo en el manual de Aplicación de la Carga de trabajo del Controlador, por lo que hoy, esta Biblioteca deseen presentar:
https://github.com/HobbyComponents/HCMotor
Esta (y otras Motor Bibliotecas) ofrecen casi la Posibilidad de que el Motor "en el Fondo", para funcionar, es decir, el Controlador a fin de no bloquear para que nuestro ONU y otras Tareas puede hacer.
Cómo hacer que la Biblioteca ha instalado ya hemos visto en muchas de las entradas del blog se muestra.
Para nuestros Ventiladores suficiente Corriente de la ONU de no dañar el MOS-Módulo con IRF520.
El Cableado:
Los tres Pines del MOS-Módulo de la ONU, Fuente de alimentación y el Ventilador a los terminales de Tornillo:
ONU | MOS Módulo de | fuente de Alimentación | de los Consumidores |
5V | VCC | ||
GND | GND | ||
D6 | Sig | ||
VIN | 12V | ||
GND | GND | ||
V+ | + | ||
V- | - |
Aquí el Código:
#include "HCMotor.h" #define MOTOR_PIN 6 //PWM Pin HCMotor HCMotor; void setup(){ Serial.begin(9600); HCMotor.Init(); HCMotor.attach(0, DCMOTOR, MOTOR_PIN); HCMotor.DutyCycle(0, 100); //mínimo de 0 y máximo de Velocidad de 100 } void loop(){ while(Serial.available() > 0){ int value = Serial.readString().toInt(); int motorSpeed = map(value, 0, 1024, 0, 100); HCMotor.OnTime(0, motorSpeed); } }
un Montón de Diversión, mientras que la experimentación!
4 comentarios
Moritz
Hallo,
ich denke es ist immer schwierig das richtige Niveau für die Artikel zu finden. So wie ich das verstanden habe will AZ mit den Artikeln die Leute für Mikrocontroller begeistern und zur Umsetzung eigener Projekte anregen. Alle Sachen die ich hier im Blog gefunden habe funktionierten auf Anhieb, das ist recht selten. Interne Timer und Register sind nicht besonders anfängerfreundlich. Sieht einfach aus, ist es aber nicht….
Matthias Jacobsen
Moin,
Prinzipiell finde ich ihren Beitrag sehr gut.
Erwähnenswert wäre, dass die Benutzung des internen Timermoduls. Dieser lässt sich als pwm Generator parametrisieren und dies benötigt auch nur ca. 3 Zeilen Code.
Damit läuft der pwm Generator im Hintergrund und blockiert die Main nicht.
Es ist zwar schön wenn einem Librarys die Arbeit abnehmen und Mann nicht weiß was diese tun.
Gruß
Matthias
Ljubomir Madzarac
Monitor ??? Motor :-)
Norbert
Vielen Dank das Du dein Wissen mit uns teilst.
Jedoch wären im Programm einige Erklärungen hilfreich, da ich trotz ein wenig
Programmierkenntnis da nicht so viel verstehe.
Wo ist denn der Wert der den Motor (soll warscheinlich der erwähnte Lüfter sein) Steuert?
Ihr Programmierprofis setzen häufig zuviel als selbstverständlich voraus, und hängt dann die lernwilligen ab, schade.