Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
robogroup
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
matteo perini
robogroup
Commits
fd320c1d
Commit
fd320c1d
authored
Jan 29, 2025
by
matteo perini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
finale
parent
0ebacc64
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
45 additions
and
18 deletions
+45
-18
applicazione.py
applicazione.py
+5
-0
my_lib.py
my_lib.py
+40
-18
No files found.
applicazione.py
View file @
fd320c1d
...
@@ -3,11 +3,14 @@ import os
...
@@ -3,11 +3,14 @@ import os
import
RPi.GPIO
as
GPIO
import
RPi.GPIO
as
GPIO
from
termcolor
import
colored
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
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
from
gpiozero
import
LED
def
mostra_menu
():
def
mostra_menu
():
LED_ROSSO
.
on
()
#accendo il led rosso
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
os
.
system
(
'cls'
if
os
.
name
==
'nt'
else
'clear'
)
# questa riga serve per cancellare il terminale
muovi_servo
(
1
)
#Qui sotto creiamo il menù
#Qui sotto creiamo il menù
print
(
colored
(
"
\n
Seleziona l'operazione da effettuare selezionando il numero del menù:
\n
"
,
"green"
,
attrs
=
[
"bold"
]))
print
(
colored
(
"
\n
Seleziona l'operazione da effettuare selezionando il numero del menù:
\n
"
,
"green"
,
attrs
=
[
"bold"
]))
print
(
colored
(
" [1] Registrazione nuovo cliente"
,
"cyan"
,
attrs
=
[
"bold"
]))
print
(
colored
(
" [1] Registrazione nuovo cliente"
,
"cyan"
,
attrs
=
[
"bold"
]))
...
@@ -77,4 +80,6 @@ def mostra_menu():
...
@@ -77,4 +80,6 @@ def mostra_menu():
if
__name__
==
"__main__"
:
#se sto chiamando il programma principale
if
__name__
==
"__main__"
:
#se sto chiamando il programma principale
LED_ROSSO
=
LED
(
13
)
LED_ROSSO
=
LED
(
13
)
#muovi_servo(1)
#COPERCHIO.max()
mostra_menu
()
# avvia la funzione per mostrare il menù
mostra_menu
()
# avvia la funzione per mostrare il menù
\ No newline at end of file
my_lib.py
View file @
fd320c1d
...
@@ -3,6 +3,8 @@ from mfrc522 import SimpleMFRC522
...
@@ -3,6 +3,8 @@ from mfrc522 import SimpleMFRC522
import
sqlite3
import
sqlite3
import
time
import
time
from
gpiozero
import
LED
,
Servo
from
gpiozero
import
LED
,
Servo
global
COPERCHIO
COPERCHIO
=
Servo
(
4
)
def
leggi_rfid
(
testo
,
pin
):
def
leggi_rfid
(
testo
,
pin
):
if
pin
==
5
:
if
pin
==
5
:
...
@@ -93,11 +95,11 @@ def registra_prodotto():
...
@@ -93,11 +95,11 @@ def registra_prodotto():
print
(
"Registra il cliente prima di riprovare."
)
print
(
"Registra il cliente prima di riprovare."
)
def
scarica_prodotto
():
def
scarica_prodotto
():
muovi_servo
(
1
)
LED_GIALLO
=
LED
(
26
)
LED_GIALLO
=
LED
(
26
)
LED_VERDE
=
LED
(
19
)
LED_VERDE
=
LED
(
19
)
LED_GIALLO
.
on
()
LED_GIALLO
.
on
()
LED_VERDE
.
off
()
LED_VERDE
.
off
()
COPERCHIO
=
Servo
(
4
)
con
=
sqlite3
.
connect
(
"mydb.db"
)
con
=
sqlite3
.
connect
(
"mydb.db"
)
cur
=
con
.
cursor
()
cur
=
con
.
cursor
()
...
@@ -114,11 +116,13 @@ def scarica_prodotto():
...
@@ -114,11 +116,13 @@ def scarica_prodotto():
cur
.
close
()
cur
.
close
()
LED_GIALLO
.
off
()
LED_GIALLO
.
off
()
LED_VERDE
.
on
()
LED_VERDE
.
on
()
print
(
"Prodotto identificato. Attendere apertura."
)
time
.
sleep
(
1
)
time
.
sleep
(
1
)
COPERCHIO
.
min
()
muovi_servo
(
0
)
#apri cestino
time
.
sleep
(
5
)
time
.
sleep
(
5
)
print
(
"Il prodotto col codice : "
,
codice_prodotto
,
" è stato correttamente smaltito."
)
print
(
"Il prodotto col codice : "
,
codice_prodotto
,
" è stato correttamente smaltito."
)
COPERCHIO
.
max
()
muovi_servo
(
1
)
#richiudi cestino
except
:
except
:
print
(
"Codice non corretto"
)
print
(
"Codice non corretto"
)
except
:
except
:
...
@@ -130,7 +134,10 @@ def cancella_cliente():
...
@@ -130,7 +134,10 @@ def cancella_cliente():
cur
=
con
.
cursor
()
cur
=
con
.
cursor
()
codice_cliente
,
d
=
leggi_rfid
(
"Ciao, avvicina il tag del cliente al ricevitore!"
,
5
)
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
:
try
:
cur
.
execute
(
"DELETE FROM persone WHERE n_card=?;"
,(
codice_cliente
,))
cur
.
execute
(
"DELETE FROM persone WHERE n_card=?;"
,(
codice_cliente
,))
con
.
commit
()
con
.
commit
()
...
@@ -139,6 +146,7 @@ def cancella_cliente():
...
@@ -139,6 +146,7 @@ def cancella_cliente():
except
:
except
:
print
(
"Codice non corretto"
)
print
(
"Codice non corretto"
)
def
registra_cliente
():
def
registra_cliente
():
reader
=
SimpleMFRC522
()
reader
=
SimpleMFRC522
()
con
=
sqlite3
.
connect
(
"mydb.db"
)
con
=
sqlite3
.
connect
(
"mydb.db"
)
...
@@ -153,14 +161,21 @@ def registra_cliente():
...
@@ -153,14 +161,21 @@ def registra_cliente():
nome
=
input
(
"Quale è il tuo nome?"
)
nome
=
input
(
"Quale è il tuo nome?"
)
cognome
=
input
(
"Quale è il tuo cognome?"
)
cognome
=
input
(
"Quale è il tuo cognome?"
)
numero_tessera
,
d
=
leggi_rfid
(
"Adesso avvicina il tag RFID al ricevitore!"
,
5
)
numero_tessera
,
d
=
leggi_rfid
(
"Adesso avvicina il tag RFID al ricevitore!"
,
5
)
print
(
numero_tessera
)
try
:
a
=
cur
.
execute
(
"SELECT * FROM persone WHERE n_card=?;"
,(
numero_tessera
,))
if
len
(
a
.
fetchall
())
==
0
:
try
:
try
:
cur
.
execute
(
"INSERT INTO persone(nome, cognome, n_card) VALUES(?, ?, ?)"
,(
nome
,
cognome
,
numero_tessera
))
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
)
print
(
"Ciao "
,
nome
,
"
"
,
cognome
,
" la tua tessera ha il numero : "
,
numero_tessera
)
con
.
commit
()
con
.
commit
()
cur
.
close
()
cur
.
close
()
except
:
except
:
print
(
"Codice non corretto"
)
print
(
"Codice non corretto"
)
else
:
raise
(
"ciao"
)
except
:
print
(
"Cliente già presente nel database. Impossibile registrare questa tessera."
)
def
lista_clienti
():
def
lista_clienti
():
...
@@ -193,3 +208,10 @@ def lista_prodotti():
...
@@ -193,3 +208,10 @@ def lista_prodotti():
print
(
"Codice non corretto"
)
print
(
"Codice non corretto"
)
else
:
else
:
print
(
"Cliente non presente nel database. Registra il cliente prima di riprovare."
)
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
()
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment