Delayed timer at Insertion – ANDROID TIMER

In the industrial World, and in domotics one of the needs that you can find, is how to generate an Event after sometime Interval that you fixed .
In this simple blog we want show you, in a few simple rows of code, a Timer delayed in this insertion using Android Timers and in detail, Executors.

We are using in this case out pLtouch 101g, so you can make your idea real.
Suppose we want to activate a Relè exit after some time T from the presence of a digital input.

All that we need is a method name ScheduledExecutorService; please read this Executors tutorial

int TimeValue = 5; / 5 second of delay for active output
if (pManager.digitalRead(0) == DigitalValues.HIGH) { // if input is HIGH
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(5);

ScheduledFuture scheduledFuture = scheduledExecutorService.schedule(new Callable() {
	public Object call() throws Exception {
	     pManager.digitalWrite(1,DigitalValues.HIGH); //delay Time TimeValue and active output
	     return "Called!";
			}
		},
	TimeValue,TimeUnit.SECONDS); // TimeValue is time of delay - TimeUnit.SECONDS is time scale Second

	} else{
	   pManager.digitalWrite(1,DigitalValues.LOW); // if input is LOW then switch off output

	}

In our case using the pLtouch 101g we are using the library for the acquisition of digital inputs, e when something present on input the Timer counts 5 seconds(TimeValue)
after that i activates the first Relè exit
When the Input stops coming, i set the Output to zero

Temporizzatore ritardato all’inserzione – TIMER ANDROID

Nei campi industriali come quelli domotici una delle necessità in cui ci si può imbattere è generare un evento dopo un intervallo di tempo prestabilito.
In questo semplice blog vi vogliamo presentare, in alcune semplici righe, un temporizzatore ritardato all’inserzione utilizzando dei Timer Android nel dettaglio gli Executors.

Utilizziamo in questo caso il nostro pLtouch 101g, così da rendere l’idea concreta.

Supponiamo ora di voler attivare un uscita relè dopo un tempo T dalla presenza di un ingresso digitale.

Quello che avremo bisogno è di un metodo dal nome ScheduledExecutorService; prego di leggere questo tutorial Executors

int TimeValue = 5; / 5 second of delay for active output
if (pManager.digitalRead(0) == DigitalValues.HIGH) { // if input is HIGH
ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(5);

ScheduledFuture scheduledFuture = scheduledExecutorService.schedule(new Callable() {
	public Object call() throws Exception {
	     pManager.digitalWrite(1,DigitalValues.HIGH); //delay Time TimeValue and active output
	     return "Called!";
			}
		},
	TimeValue,TimeUnit.SECONDS); // TimeValue is time of delay - TimeUnit.SECONDS is time scale Second

	} else{
	   pManager.digitalWrite(1,DigitalValues.LOW); // if input is LOW then switch off output

	}

Nel nostro caso che utilizzando il pLtouch 101g usiamo la libreria per l’acquisizione dell’ingresso digitale, e alla presenza dell’ingresso il timer conta 5 secondi (TimeValue) dopodichè attiva la prima uscita a relè.
Nel momento in cui l’ingresso viene a mancare porto a zero l’uscita.