Para recibir televisión satelital en una caravana, puede comprar una costosa antena automática de satélite o poner una simple antena de satélite barata en un trípode y apuntar manualmente.Esto suele llevar mucho tiempo, ya que la antena está fuera del receptor de televisión, pero dentro es difícil observar el éxito de la operación.
Una solución más conveniente y práctica es el rotor de antena, que aquí propone el control del motor progresivo.El Motor paso a paso está controlado por el módulo nodemcu Lua amica vs con ESP 8266 - 12F y, por lo tanto, puede funcionar a través de WLAN.Para ello se utiliza el esp8266 como punto de acceso.Usando un teléfono inteligente, puede controlar fácilmente la antena.
En este modo, el esp8266 recibe siempre la dirección IP 192.168.4.1
El programa crea un WLAN con la "Antena" de la SSID y la contraseña "womo 12345".Por supuesto, esto puede cambiar cambiando el programa.
Si el rotor de la antena está electrificado, puede encontrar un WLAN llamado "Antena" en el teléfono inteligente de la lista WLAN.Conectemos ahora a la WLAN y Activemos la aplicación del navegador.Como URL, introdujimos 192.168.4.1.
Deberíamos ver la siguiente página en el navegador:
Si pulsamos uno de esos botones, la antena debe girar en la dirección necesaria.
En parte:
- Nodo Lua
- Motor paso a paso
- Motor paso a paso
- Convertidor de voltaje 12 V - 5 V
- Dos pinzas de doble hélice.
- Caso 3D
- Campamento de Allard
/* • Copyright propietario c) 2015, majenko Technologies Conserva todos los derechos. * • redistribución y utilización en forma de fuente y binario, con o sin modificaciones, • Se permiten las siguientes condiciones: * * * Esta declaración de derechos de autor debe conservarse para la nueva distribución del código fuente. * Lista de condiciones y descargo de responsabilidad * * * La retransmisión en forma binaria requiere la reproducción de la mencionada declaración de derechos de autor. * Lista de condiciones en el documento y declaraciones de exoneración y / o * otros materiales adjuntos. * * * ya sea el nombre o la tecnología de majenko. • Los contribuyentes pueden ser utilizados para apoyar o reproducir fuentes * Este programa informático no está previamente autorizado por escrito. * * Este programa informático fue proporcionado "tal como fue" por el propietario y el contribuyente del derecho de autor; y • Toda garantía expresa o tácita, incluida, entre otras, las siguientes: * las garantías de la comerciabilidad y la aplicabilidad a usos específicos son: * negación.En cualquier caso, el titular o el contribuyente del derecho de autor no incurrirá en responsabilidad alguna. • Cualesquiera datos directos, indirectos, secundarios, especiales, ilustrativos o de seguimiento • La contratación pública de bienes o servicios de sustitución, entre otros; • Pérdida de uso, datos o beneficios; o interrupción de la actividad mercantil, sea cual fuere la causa • Toda doctrina de la responsabilidad, sea contractual, objetiva o extracontractual * Incluye los casos de negligencia u otras causas atribuibles a la utilización del presente documento. * programas informáticos, aun cuando se les haya informado de la posibilidad o del daño. */ * crear y poner a disposición de los usuarios web puntos de acceso wifi.* * 35; incluye <Esp8266wifi.Hora> 35; incluye <Wificlient Inc..Hora> 35; incluye <Servidor web esp8266.Hora> * código html de la página de control * es una forma simple * * caja de entrada de velocidad y tres botones Derecha, izquierda, alto. */ Constante Chamuscar Índice HTML[] = "Y?"Doctype HTML & gt "; HTML & gt;" "; la cabeza y la gt;" "& lt; meta =" nombre = "ViewPort =" Content = "width = anchura del equipo, relación inicial = 1,0, relación máxima = 1,0, tasa de crecimiento del usuario = 0 & gt;" "& lt; título & gt; rotor de antena & lt; título & gt;" "& lt; modelo & gt;" "Texto principal: ` color de antecedentes'", "." - "." - "." - ".". "-". ".". "-". ".". "-". ".". ".". ".". "-". ".". ".". ".". ".". ".". "". ".". ".". ".". ".". ".". ".". ".". ".". ".". ".". ".". ".". ".". ".". ".". ".". "" "Introduzca {font size: 16pt;} "& lt; / Style & gt;" "/ cabeza & gt;" "; texto principal y gt;" "& lt; H1 & gt; rotor de antena & lt; / h1 & gt;" "& lt; Planning Operations =" / data "method =" técnica "& gt;" "; P & gt;" "Tipo de entrada =", "presentación", "nombre =", "enlaces" "valor =", "enlaces" "," tipo de entrada = " "Tipo de entrada =", "presentación", "nombre =", "cesación", "valor =", "cesación"; "cesación"; "T; nbsp" "& lt; tipo de entrada =", "presentación", "nombre =", "legalidad" "valor =", "correcto" & gt; & lt; BR & gt; " "Velocidad (1 a 10):" lt; BR & gt; " "& lt; tipo de entrada =" texto "valor =" I "I" nombre = "velocidad" & gt; " "/ P & gt;" "/ formulario & gt;" "/ texto & gt;" "/ html & gt;"; Global variable Constante Chamuscar *Página 2 = Antena.; Nombre de la WLAN Constante Chamuscar *Contraseña = "Mujeres 12.345"; Contraseña de WLAN Constante Interior STP. = 12; / / / número de aguja de la unidad de motor Constante Interior Tu = 13; / / / número del pie del tubo para la conexión direccional del motor Interior Orientación = 0; / / / orientación actual Interior Deli = 100; / / / retardo del motor Interior Velocidad = 1; Velocidad actual Servidor web esp8266 Servidor(80); Activar servidor Web en puerto 80 / / / cuando se solicita un servidor web Vacío. Pie() { Chamuscar Formato HTML[1000];Pedir zona de amortiguación Usar la entrada de velocidad para enviar la página web al navegador Configuración de la velocidad actual Hacer una cadena de datos(Formato HTML, Índice HTML,Velocidad); Servidor.Enviar(200, "Texto / html", Formato HTML ); } / / cuando se solicita "/ left" para Vacío. Mano() { Orientación = 1;Respuesta: Izquierda y página web Pie(); } / / / cuando se solicita "/ derecha" para Vacío. Linterna() { Orientación = 2; - a la derecha. Pie(); } Cuando se solicite "/ STOP" para Vacío. Manija() { Orientación =0; Uso de la página web para detener y responder Pie(); } / / / llama a esta función cuando pida "/ data"Sí. Vacío. Procesamiento de datos() { Cadena Sspd Corporation; / / / sobre la base de los parámetros, la orientación y la solicitud - velocidad establecida.Velocidad entre 1 y 10. Si (Servidor.Hassage.(Enlace)) Orientación = 1; Si (Servidor.Hassage.(Sí.)) Orientación = 2; Si (Servidor.Hassage.(Stop)) Orientación = 0; Si (Servidor.Hassage.(Velocidad)) { Sspd Corporation = Servidor.Enojado adj.(Velocidad); Velocidad = Sspd Corporation.Voint.(); Si (Velocidad < 1) Velocidad = 1; Si (Velocidad > 10) Velocidad = 10; Deli = (11-Velocidad)*10; Velocidad 1 paso a 100. - a 10 grados. } Pie(); Respuesta desde la página web } Vacío. Configuración() { ¿- Listo? Modo pinmode(STP., Salida); Modo pinmode(Tu, Salida); Escritura digital(STP.,Alto); Escritura digital(Tu,Alto); Retraso(1000); Transporte.Iniciar(115200); Transporte.Imprimir(); Transporte.Imprimir("Configurando puntos de acceso..."); Redes inalámbricas.Suave.(Página 2, Contraseña); Dirección IP Mi IP. = Redes inalámbricas.Caramelo(); Transporte.Imprimir("Dirección IP AP:); Transporte.Imprimir(Mi IP.); / / IP siempre 192.168.4.1 Definición de la función de respuesta Servidor.En("/", Pie); Servidor.En("Izquierda"., Mano); Servidor.En(Sí., Linterna); Servidor.En(Detente., Manija); Servidor.En("Fecha", Procesamiento de datos); Activar servidor web Servidor.Iniciar(); Transporte.Imprimir("Servidor http activado"); } El camino principal. Vacío. Correr() { / / / inspección requerida Servidor.Meneo(); / / distribución en función de la dirección - un paso en el pedal. / / el paso en MS está determinado por dly Si (Orientación == 1) { Transporte.Imprimir("Izquierda".); Escritura digital(Tu,Bajo); Escritura digital(STP.,Bajo); Retraso(Deli); Escritura digital(STP.,Alto); Retraso(Deli); } Si (Orientación == 2) { Transporte.Imprimir(Sí.); Escritura digital(Tu,Alto); Escritura digital(STP.,Bajo); Retraso(Deli); Escritura digital(STP.,Alto); Retraso(Deli); } }
8 comentarios
Heinz K.
Danke, hat soweit funktioniert. Falls jemand wissen möchte wozu ich das benutze kann das unter youtu.be/x0KHGZSZVEE eingesehen werden.
Andreas Wolter
@Heinz K.: Sie könnten einen Counter einsetzen. Dafür bräuchten Sie zwei globale Variablen. Am besten oberhalb direkt unter int spd = 1; //aktuelle Geschwindigkeit
int counter = 0;
int maxCounter = 20;
counter ist der Zähler und maxCounter Ihre Grenze. Welcher Wert den 4,5cm entspricht, müssten Sie testen.
in die if-Anweisung fügen Sie dann den Code ein, der dafür sorgt, dass nach den festgelegten Schritten der stop-Befehl aufgerufen wird:
if (richtung == 1) {
Serial.println(“links”);
digitalWrite(dir,LOW);
digitalWrite(stp,LOW);
delay(dly);
digitalWrite(stp,HIGH);
delay(dly);
counter++;
if (counter > maxCounter) {
counter = 0;
handleStop();
}
}
Das wäre eine Lösung. Wenn ich das richtig verstanden habe, brauchen Sie nur einen Start Button. Daher könnte man das gesamte Programm weiter verschlanken.
Grüße,
Andreas Wolter
AZ-Delivery Blog
Heinz K.
Hallo,
ich bin mit der Programmierung leider nicht so bewandert. Gibt es eine Möglichkeit das man mit den Tasten links und rechts immer eine bestimmte Anzahl der Drehungen anstösst und dann automatisch wieder stehen bleibt? Hintergrund: beim Luftgewehrschiessen gibt es 10er Schiessscheiben als Streifen auf dem die 10 Spiegel nebeneinander liegen. Diese müssen manuell weiter gezogen werden – immer ca. 4,5 cm. Ich würde aber gerne die Scheibe einspannen und nach jedem Schuss ein Knöpfchen drücken damit automatisch der nächste Spiegel erscheint. Das mit der Mechanik bekomme ich hin, nur an der Programmierung hakt es.
Andreas Wolter
This Example shows the azimuth controll (left and right). For Elevation (up and down) any changes are needed. First you need a second stepper and second driver modul. Two more input fields in the HTML form. For example:
up
left stop right
down
Then you can duplicate the functions for direction handling and connect them to the left and right fields in this form.
The command
if (server.hasArg(“RECHTS”)) richtung = 2;
could expanded with 3 and 4 for up and down.
For the stepper controll you need one more variable: stp2
and you have to check if the variable dir is 3 or 4 then send the commands to the second stepper. Otherwise the first stepper will be moved.
Regards,
Andreas Wolter
AZ-Delivery Blog
Alberto
Cool; It’s what I’ve been looking for for a long time.
If I want to control two motors (Azimuth and Elevation), what should I add to the code?
Thanks a lot
ani
Und woher bekomme ich das Getriebe? Ohne Mechanik, sprich Getriebe, ist das alles Makulatur. Und wie ist es mit der Vertikalsteuerung Gibt es dafür auch Ideen? So werden z. Bsp. in anderen Bereichen der Funktechnik der Mond, Meteorschwärme, Flugzeuge oder Wolken angesteuert.
Jörg Mehring
Hallo,
die Stromversorgung könnte man vielleicht der Phantomspeisung des LNBs entnehmen, da die Polarisation über eine Schaltspannung von 14 bis 18 Volt eingestellt wird. Je nach Strombedarf der o.g. Schaltung sollte das gehen.
Frank Jetzschmann
Hallo,
bei Verwendung von (größeren) Schrittmotoren ist zwingend ein (mindestens) 100µF Elko direkt an der Schrittmotorsteuerplatine (+12V Anschluss) notwendig. Sonst wird die Schrittmotorsteuerplatine zerstört. Hinweise zu diesem Phänomen finden sich in diversen Applikationsschaltungen im Internet.
Sonst eine wirklich clevere Lösung mit Potential für eigene Verbesserungen :-)