IoT: un semplice metal detector con RaspBerry

Un altro esempio di IoT con Cisco Packet Tracer e il suo simulatore di Raspberry e Python. Un semplice esercizio che simula un metal dector che avvisa della presenza di un metallo accedendo un allarme.

I vari componenti li troviamo ancora una volta in [Component->Board] per la basetta e i sensori in  [Components->Actuators][Components->Sensors].

 

Il codice Python del nostro Raspberry è molto semplice .Come sempre, suggerisco il lettore di leggere le descrizioni/specifiche degli elementi e dispositivi che abbiamo nel nostro pannello di lavoro. Sono fondamentali per scoprire come collegarli, che tipo di segnale inviano se analogico o digitale, se hanno una scrittura con digitalWrite o customWrite ecc. In questo caso, il sensore di metallo restituisce una lettura sulla porta analogica A0 che andremo prontamente ad intercettare con la chiamata gpio analogRead(#letteraenumeroporta) che non è molto diversa dalla digitalRead(numeroporta). Se il valore è positivo, semplicemente mandiamo il classico segnale digitale al nostro allarme.

from gpio import *

if __name__ == "__main__":
	pinMode(0,OUT)
	
	while True:
		livelloferro = analogRead(A0)
		print livelloferro
		if livelloferro >= 0:
			digitalWrite(0,HIGH)
		else:	
			digitalWrite(0,LOW)

Per testare, spostate il corpo di metallo  verso il sensore o viceversa. Se tutto è configurato a dovere, si accenderà di rosso l'allarme.

Il lettore può personalizzare ulteriormente il codice e l'esercizio aggiungendo una porta che simula la possibilità di passare un varco: no metallo -> porta aperta; metallo presente -> porta chiusa.