Bienvenido, Invitado
Nombre de Usuario: Contraseña: Recordarme
  • Página:
  • 1

TEMA:

Funciones 1 año 10 meses antes #2742

cree una libreria con una rutinvoid Temporiza::Demora(int _demora) {

if (Temp == 0) {
tempor1 = millis();
Temp = 1;
}


inicio1 = millis();

while ( inicio1 - tempor1 > _demora) {

tempor1 = inicio1;
}


}
si pongo dentro del while una ejecucion la realiza pero lo que quiero realizar
en particular es hacer una demora..... y si bien realiza un conteo no hace de demora la rutina
el programa que quiero ejecurat es este

//
#include "Temporiza.h"
Temporiza Rele;
void setup() {
pinMode(13,OUTPUT);

Serial.begin(9600);
}

void loop() {
//Rele.Temporizador(13, 0, 20);
// Rele.Discontinuo(13,1500,1000);
//Rele.UnaVez(13,1,1000,5);


Rele.Demora(500);
digitalWrite(13,HIGH);
Rele.Demora(500);
digitalWrite(13,LOW);


}
//


lo que me hace el programa Rele.demora(500) deberia hacer el retardo del delay sin embargo se lo pasa por alto y la salida esta siempre encendido
dentro del rar esta la libreria propiamente dicha
otra pregunta las librerias se complia con un software especial porque a partir del rar no se auto instala como libreria. tengo que coger la carpeta pegarla dentro de las librerias de arduino pegandola ahi si ejecuta
reconoce como libreria y se ve el archivo ino como ejemplo

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Funciones 1 año 10 meses antes #2743

Yo creo funcion esta mal planificada y actualizar millis a de estar dentro del while.
Creo que has de poner con mas claridad todas las partes del programa, por que cuanto mas lo miro menos lo entiendo.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Última Edición: por Jose Luis.

Funciones 1 año 10 meses antes #2744

lo que intento es hace un delay, dentro de una libreria, es mi primera experienci haciendo este tipo de funciones, pero si no pongo una accion dentro del while o if que se puede hacer de cualquier manera hacer un conteo del tiempo para que cuando salga de esta función con millis, no sirve, porque el arduino sigue funcionando independientemente, en otras funciones de esta misma libreria me interpuse dos serial.print uno que me avise cuando un while llegue a mil y otro a mil quinietos y esta funcion me envio tres resultados 1000, 1500 y 500, no sé programar por eso puede que no entiendas ni papa de mis funciones y te las envio porque te tengo de un buen referente como programador, en este tiempo de busqueda para trastear con arduino vos bricogeek, Obijuan, y en deteminadas paginas Luis LLamas (creo si no me equivoco es de zaragosa) te mensiona en cuanto a Nextion

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Funciones 1 año 10 meses antes #2745

A ver, cuando haces una funcion y le envias un parametro, ese parametro a de utilizarse dentro de la funcion. Dicro de otra forma, si tu le envias 500 y lo que quieres es que eso sean 500msegundos, ldentro del while has de verificar cuanto tiempo pasa, y eso es lo qeu tu no haces. Al menos, yo no lo veo, por eso me agradeceria que en vez de copiar y pegar el codigo, subieras el programa *.ino del arduino. De esa forma me seria masfacil decirte donde te equivocas, por que si el ficrero del programa, es lo que has copiado aqui, ya te digo que la funcion no es nada coherente.

Tampoco veo muy logico hacer una funcion miles con un while, ya que mientras haces el while quedaria parado el programa ahi y no podrias ejecutar acciones paralelas que es lo que se busca con eso. La funciona que tu planteas no deja de hacer lo mismo que un delay.

Yo creo que me lo plantearia de tora forma, pero aun asi para que funcione lo que tu dices, has de hacerlo de forma diferente.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Última Edición: por Jose Luis.

Funciones 1 año 10 meses antes #2746

en el primer mensaje te envie un archivo comprimido rar el ejemplo, aqui te lo envio de nuevo
Adjuntos:

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

Funciones 1 año 10 meses antes #2747

Disculpame, no me habia fijado.

Por favor, Identificarse o Crear cuenta para unirse a la conversación.

  • Página:
  • 1
Tiempo de carga de la página: 0.116 segundos
Gracias a Foro Kunena