Commit fd320c1d authored by matteo perini's avatar matteo perini

finale

parent 0ebacc64
......@@ -3,11 +3,14 @@ import os
import RPi.GPIO as GPIO
from termcolor import colored
from my_lib import registra_cliente, registra_prodotto, cerca_cliente_per_prodotto, scarica_prodotto, lista_clienti, cancella_cliente, lista_prodotti, cerca_cliente_per_tessera
from my_lib import muovi_servo
from gpiozero import LED
def mostra_menu():
LED_ROSSO.on() #accendo il led rosso
#muovi_servo(1)
os.system('cls' if os.name == 'nt' else 'clear') # questa riga serve per cancellare il terminale
muovi_servo(1)
#Qui sotto creiamo il menù
print(colored("\nSeleziona l'operazione da effettuare selezionando il numero del menù:\n","green", attrs=["bold"]))
print(colored(" [1] Registrazione nuovo cliente","cyan", attrs=["bold"]))
......@@ -77,4 +80,6 @@ def mostra_menu():
if __name__=="__main__": #se sto chiamando il programma principale
LED_ROSSO = LED(13)
#muovi_servo(1)
#COPERCHIO.max()
mostra_menu() # avvia la funzione per mostrare il menù
\ No newline at end of file
......@@ -3,6 +3,8 @@ from mfrc522 import SimpleMFRC522
import sqlite3
import time
from gpiozero import LED, Servo
global COPERCHIO
COPERCHIO = Servo(4)
def leggi_rfid(testo,pin):
if pin==5:
......@@ -93,11 +95,11 @@ def registra_prodotto():
print("Registra il cliente prima di riprovare.")
def scarica_prodotto():
muovi_servo(1)
LED_GIALLO = LED(26)
LED_VERDE = LED(19)
LED_GIALLO.on()
LED_VERDE.off()
COPERCHIO = Servo(4)
con = sqlite3.connect("mydb.db")
cur = con.cursor()
......@@ -114,11 +116,13 @@ def scarica_prodotto():
cur.close()
LED_GIALLO.off()
LED_VERDE.on()
print("Prodotto identificato. Attendere apertura.")
time.sleep(1)
COPERCHIO.min()
muovi_servo(0) #apri cestino
time.sleep(5)
print("Il prodotto col codice : ", codice_prodotto, " è stato correttamente smaltito.")
COPERCHIO.max()
muovi_servo(1) #richiudi cestino
except:
print("Codice non corretto")
except:
......@@ -130,15 +134,19 @@ def cancella_cliente():
cur = con.cursor()
codice_cliente, d = leggi_rfid("Ciao, avvicina il tag del cliente al ricevitore!",5)
a= cur.execute("SELECT * FROM persone WHERE n_card=?;",(codice_cliente,))
if len(a.fetchall())==0:
print("Cliente non presente nel database. Registra il cliente prima di riprovare.")
else:
try:
cur.execute("DELETE FROM persone WHERE n_card=?;",(codice_cliente,))
con.commit()
cur.close()
print("Cliente correttamente rimosso dal database")
except:
print("Codice non corretto")
try:
cur.execute("DELETE FROM persone WHERE n_card=?;",(codice_cliente,))
con.commit()
cur.close()
print("Cliente correttamente rimosso dal database")
except:
print("Codice non corretto")
def registra_cliente():
reader = SimpleMFRC522()
con = sqlite3.connect("mydb.db")
......@@ -153,14 +161,21 @@ def registra_cliente():
nome = input("Quale è il tuo nome?")
cognome = input("Quale è il tuo cognome?")
numero_tessera , d = leggi_rfid("Adesso avvicina il tag RFID al ricevitore!",5)
print(numero_tessera)
try:
cur.execute("INSERT INTO persone(nome, cognome, n_card) VALUES(?, ?, ?)",(nome,cognome,numero_tessera))
print("Ciao ", nome , "", cognome , " la tua tessera ha il numero : ", numero_tessera)
con.commit()
cur.close()
a= cur.execute("SELECT * FROM persone WHERE n_card=?;",(numero_tessera,))
if len(a.fetchall())==0:
try:
cur.execute("INSERT INTO persone(nome, cognome, n_card) VALUES(?, ?, ?)",(nome,cognome,numero_tessera))
print("Ciao ", nome , " ", cognome , " la tua tessera ha il numero : ", numero_tessera)
con.commit()
cur.close()
except:
print("Codice non corretto")
else:
raise("ciao")
except:
print("Codice non corretto")
print("Cliente già presente nel database. Impossibile registrare questa tessera.")
def lista_clienti():
......@@ -192,4 +207,11 @@ def lista_prodotti():
except:
print("Codice non corretto")
else:
print("Cliente non presente nel database. Registra il cliente prima di riprovare.")
\ No newline at end of file
print("Cliente non presente nel database. Registra il cliente prima di riprovare.")
def muovi_servo(n):
if str(n)=="1":
COPERCHIO.max()
else:
COPERCHIO.min()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment