Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed Servo KeypadLib TextLCD
Revision 3:c64c5ac14d22, committed 2018-12-06
- Comitter:
- Virgi97
- Date:
- Thu Dec 06 11:24:46 2018 +0000
- Parent:
- 2:74c155c71eb5
- Commit message:
- A
Changed in this revision
diff -r 74c155c71eb5 -r c64c5ac14d22 Cassaforte.cpp
--- a/Cassaforte.cpp Wed Dec 05 20:25:42 2018 +0000
+++ b/Cassaforte.cpp Thu Dec 06 11:24:46 2018 +0000
@@ -3,20 +3,24 @@
#include "Servo.h"
#include "keypad.h"
I2C i2c(D14, D15);
-TextLCD_I2C lcd(&i2c, 0x4E, TextLCD_I2C::LCD16x2, TextLCD_I2C::HD44780);
-DigitalOut led(LED1);
-Servo servo(D11);
-int dim=4;
+TextLCD_I2C lcd(&i2c, 0x4E, TextLCD_I2C::LCD16x2, TextLCD_I2C::HD44780); //comunicazione Nucleo-display
Keypad keypad(D6,D5,D4,D3,D10,D9,D8,D7); //porte del tastierino
+Servo servo(D11); //porta servo
+DigitalOut led_verde(D13); //led apertura
+DigitalOut led_rosso(D12); // led chiusura
+DigitalOut buz(PC_10); //porta buz
+DigitalIn mag(PC_13); //porta del magnete
+int dim=4;
char pass[4]={'1','2','3','4'};//password di default (è possibile cambiarla dal menu)
-DigitalOut buz(D2);
-//porta buz
-DigitalIn mag(D1); //porta del magnete
bool alonoff=true; //variabile booleana per abilitare o disabilitare l'allarme in caso di apertura e chiusura (?)
void inizializza(){
lcd.setMode(TextLCD_I2C::DispOn);
buz=0;
+ if(mag == 1){
+ chiuso();
+ //wait(0.3);
+ } else aperto();
//lcd.setCursor(TextLCD_I2C::CurOn_BlkOn);
}
@@ -26,13 +30,17 @@
}
void chiuso(){
- servo.position(-90);
-
+ servo.position(90);
+ wait(0.3);
+ led_rosso = 1;
+ led_verde = 0;
}
void aperto(){
servo.position(-90);
-
+ wait(0.3);
+ led_rosso = 0;
+ led_verde = 1;
}
void inserimento(char a[],int n,bool vis){
int i=0;
@@ -87,7 +95,7 @@
scrivi("Apertura...");
alonoff=false;
aperto();
- wait(2);
+ wait(0.3); //2
menu();
// }
}
@@ -96,7 +104,7 @@
scrivi("Chiusura...");
alonoff=true;
chiuso();
- wait(2);
+ wait(0.3); //2
main();
}
}
@@ -128,8 +136,7 @@
}
}
void allarme(){
-
- char insa[4];
+ char insa[4];
do{
buz=1;
scrivi(" Allarme!");
@@ -139,7 +146,6 @@
buz=0;
menu();
}
-
}while(1);
}
\ No newline at end of file
diff -r 74c155c71eb5 -r c64c5ac14d22 KeypadLib.lib --- a/KeypadLib.lib Wed Dec 05 20:25:42 2018 +0000 +++ b/KeypadLib.lib Thu Dec 06 11:24:46 2018 +0000 @@ -1,1 +1,1 @@ -http://developer.mbed.org/users/rlanghbv/code/KeypadLib/#1f7793af2f64 +http://developer.mbed.org/users/rlanghbv/code/KeypadLib/#fb28bc08ded4
diff -r 74c155c71eb5 -r c64c5ac14d22 main.cpp
--- a/main.cpp Wed Dec 05 20:25:42 2018 +0000
+++ b/main.cpp Thu Dec 06 11:24:46 2018 +0000
@@ -1,3 +1,24 @@
+/* *PINOUT E CABLAGGIO
+ *5V ---> VCC MODULO I2C DISPLAY;
+ *GND ---> VCC MODULO I2C DISPLAY, CATODI LED, BUZZER-PIEZO;
+ *PIN D15 ---> SCL MODULO I2C DISPLAY;
+ *PIN D14 ---> SDA MODULO I2C DISPLAY;
+ *PIN D13 ---> LED VERDE;
+ *PIN D12 ---> LED ROSSO;
+ *PIN D11 ---> SERVO;
+ *PIN D10 ---> PIN 1 TASTIERINO;
+ *PIN D9 ---> PIN 2 TASTIERINO;
+ *PIN D8 ---> PIN 3 TASTIERINO;
+ *PIN D7 ---> PIN 4 TASTIERINO;
+ *PIN D6 ---> PIN 5 TASTIERINO;
+ *PIN D5 ---> PIN 6 TASTIERINO;
+ *PIN D4 ---> PIN 7 TASTIERINO;
+ *PIN D3 ---> PIN 8 TASTIERINO;
+ *PIN D2 ---> INTERRUTTORE MAGNETICO;
+ *PIN PC_10 ---> BUZZER-PIEZO;
+
+*/
+
#include "Cassaforte.h"
#include "mbed.h"
//#include <TextLCD.h>
@@ -7,13 +28,16 @@
void scrivi(char parola[]);
void cambioCodice();
void inserisci();*/
-InterruptIn button(PC_13);
+InterruptIn alarm(PC_13);
+bool avvio = true;
char v[4];
int cont2;
int main() {
- /*lcd.setMode(TextLCD_I2C::DispOn);
- lcd.setCursor(TextLCD_I2C::CurOn_BlkOn);*/
+ alarm.rise(&allarme);
+ if (avvio == true){
inizializza();
+ avvio = false;
+ }
cont2=0;
do{
scrivi("Immetti codice:");