menjo de DAC CON RFID Y TFT PANTALLA

Dependencies:   mbed TFT_fonts SPI_TFT_ILI9341 MFRC522 MCP4725 LCD_fonts MCP4725

Files at this revision

API Documentation at this revision

Comitter:
jeison
Date:
Wed Feb 17 00:01:00 2021 +0000
Commit message:
TFT_RFID_dac; ;

Changed in this revision

LCD_fonts.lib Show annotated file Show diff for this revision Revisions of this file
MCP4725.lib Show annotated file Show diff for this revision Revisions of this file
MCP4725_.lib Show annotated file Show diff for this revision Revisions of this file
MFRC522.lib Show annotated file Show diff for this revision Revisions of this file
SPI_TFT_ILI9341.lib Show annotated file Show diff for this revision Revisions of this file
TFT_fonts.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 25f23d7e0fa7 LCD_fonts.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LCD_fonts.lib	Wed Feb 17 00:01:00 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/dreschpe/code/LCD_fonts/#d0b7d7bf1f56
diff -r 000000000000 -r 25f23d7e0fa7 MCP4725.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MCP4725.lib	Wed Feb 17 00:01:00 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/donalm/code/MCP4725/#3e6ffce1eea2
diff -r 000000000000 -r 25f23d7e0fa7 MCP4725_.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MCP4725_.lib	Wed Feb 17 00:01:00 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/neilt6/code/MCP4725/#42d9d780813b
diff -r 000000000000 -r 25f23d7e0fa7 MFRC522.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MFRC522.lib	Wed Feb 17 00:01:00 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/AtomX/code/MFRC522/#63d729186747
diff -r 000000000000 -r 25f23d7e0fa7 SPI_TFT_ILI9341.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SPI_TFT_ILI9341.lib	Wed Feb 17 00:01:00 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/dreschpe/code/SPI_TFT_ILI9341/#b2b3e5430f81
diff -r 000000000000 -r 25f23d7e0fa7 TFT_fonts.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TFT_fonts.lib	Wed Feb 17 00:01:00 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/dreschpe/code/TFT_fonts/#76774250fcec
diff -r 000000000000 -r 25f23d7e0fa7 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Feb 17 00:01:00 2021 +0000
@@ -0,0 +1,229 @@
+#include "mbed.h"
+//DAC
+#include "MCP4725.h"
+//RFID
+#include "MFRC522.h"
+//TFT
+#include "string"
+#include "Arial12x12.h"
+#include "Arial24x23.h"
+#include "Arial_9.h"
+#include "Small_6.h"
+#include "Arial28x28.h"
+#include "font_big.h"
+#include "stdio.h"
+#include "SPI_TFT_ILI9341.h"
+#define M_PI           3.14159265358979323846
+ //KL25Z Pins for MFRC522 SPI interface
+ #define SPI_MOSI    PTC6
+ #define SPI_MISO    PTC7
+ #define SPI_SCLK    PTC5
+ #define SPI_CS      PTC4
+ // KL25Z Pin for MFRC522 reset
+ #define MF_RESET    PTC3
+ // KL25Z Pins for Debug UART port
+ #define UART_RX     PTA1
+ #define UART_TX     PTA2
+ 
+ DigitalOut LedRed   (LED_RED);
+ DigitalOut LedGreen (LED_GREEN);
+//Create a TFT contructor
+ SPI_TFT_ILI9341 TFT(PTD2,PTD3,PTD1,PTE31,PTA20,PTA17,"TFT");//mosi,miso,sclk,cs,reset,dc el reset va conectado a 3.3v
+ //Create a MRFID contructor
+ Serial     DebugUART(UART_TX, UART_RX);
+ MFRC522    RfChip   (SPI_MOSI, SPI_MISO, SPI_SCLK, SPI_CS, MF_RESET);
+//Create an MCP4725 object at the default address (ADDRESS_0)
+MCP4725 dac(PTC11, PTC10); //SDA,SCL PTC1
+Serial pc(USBTX, USBRX); 
+InterruptIn ISW1(D10);
+int x=0; 
+int count = 0;
+   int h ; 
+  uint8_t LecturaUID[4]; 
+  uint8_t Usuario1[4] ={0xC3,0x43,0xC9,0x2}; //tarjeta
+  uint8_t Usuario2[4] ={0x29,0x36,0xB8,0xC1};  //llavero
+  
+bool comparaUID(uint8_t lectura[], uint8_t usuario[]){
+for(int8_t  i = 0; i < RfChip.uid.size; i++){
+ if (lectura[i]!= usuario[i]){
+     return (false);
+     }
+  else {  return (true);
+  }
+ } 
+ }
+ 
+ void interfaZ(){
+    TFT.set_font((unsigned char*) Arial12x12);
+    TFT.locate(10,130);
+    TFT.printf("Usuario: ");
+    TFT.locate(10,170);
+    TFT.printf("Registro");
+    TFT.locate(10,185);
+    TFT.printf("UID: ");
+    TFT.locate(10,210);
+    TFT.printf("TYPE: ");
+    }
+void subsw1(){ // define la funcion de casos
+TFT.cls(); 
+x=x++;
+if(x==4){
+    x=0;
+    }
+    }
+void sineWave(){
+TFT.set_orientation(4); //orientación de la pantalla
+//interfaZ(); 
+//Generate a sine wave on the DAC
+count++; 
+ if(count == 1){
+    for (float i =0.0f ; i <= (M_PI)*2;i+=0.1f){
+        dac.write((sin(i)/2)+0.5f);
+        float a =(sin(i)/2)+0.5; 
+        float a1 =a*3.3; 
+        float a2 =a*50;
+        TFT.pixel((i*10)+80,50+(int)a2 ,Red);
+        printf ("%3f\n",a1); 
+        }
+       }
+       else{
+    for (float i =0.0f ; i <= (M_PI)*2;i+=0.1f){
+        dac.write((sin(i)/2)+0.5f);
+        float a =(sin(i)/2)+0.5; 
+        float a1 =a*3.3; 
+        float a2 =a*50;
+        printf ("%3f\n",a1); 
+        }
+           }
+    }
+void SawtoohtWave(){
+// Generate a sawthoo wave on the DAC
+    for(float i =0.0f ; i <= 1.0f;i+=0.01f){
+        dac.write(i);
+        float a1 =i*3.3; 
+     //   TFT.pixel(i,100 + (int)a1 ,Red);
+        printf ("%3f  \n",a1); 
+       }  
+    }
+void InvertedSawtoohtWave(){
+//inverted sawthoo wave
+     for(float i =1.0f ; i >= 0.0f;i-=0.01f){
+       dac.write(i);
+        float a1 =i*3.3; 
+     //   TFT.pixel(i,100 + (int)a1 ,Red);
+        printf ("%3f\n",a1); 
+       }   
+    }
+void TriangularWave(){
+//Generate triangular wave 
+    for(float i =0.0f ; i <= 1.0f;i+=0.01f){
+       dac.write(i);
+        float a1 =i*3.3; 
+      //  printf ("Voltage; %3f  \n",a1); 
+       }
+    for(float i =1.0f ; i >= 0.0f;i-=0.01f){
+       dac.write(i);
+        float a1 =i*3.3; 
+      //  printf ("Voltage; %3f  \n",a1); 
+       }  
+    }
+    void signalChangue(){
+        switch (x) {
+         case 0:
+         sineWave();
+         break;   
+         case 1:
+         SawtoohtWave();
+         break; 
+         case 2:
+         InvertedSawtoohtWave();
+         break;   
+         case 3:
+         TriangularWave();
+         break;   
+            }
+        }
+
+int main(){
+
+ISW1.mode(PullUp);   // Configure port to PullUp or PullDown
+ISW1.fall(&subsw1);  //rise ;subida   fall:bajada    
+    // Set debug UART speed
+     DebugUART.baud(115200);
+     pc.baud(9500);
+    //limpia la pantalla. 
+    TFT.cls();
+  TFT.set_orientation(4); //orientación de la pantalla
+     interfaZ(); 
+    // Init. RC522 Chip
+     RfChip.PCD_Init();
+    //Try to open the MCP4725
+    if (dac.open()) {
+       // printf("Device detected!\n");
+        //Wake up the DAC
+        //NOTE: This might wake up other I2C devices as well!
+        dac.wakeup();
+        while (1) {
+        signalChangue();
+ //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+     LedRed   = 1;
+     LedGreen = 1;
+ 
+     // Look for new cards
+     if ( ! RfChip.PICC_IsNewCardPresent()){
+   //    wait_ms(500);
+       continue;
+     }
+ 
+     LedRed   = 0;
+ 
+     // Select one of the cards
+     if ( ! RfChip.PICC_ReadCardSerial())
+     {
+    //   wait_ms(500);
+       continue;
+     }
+ 
+     LedRed   = 1;
+     LedGreen = 0;
+ 
+     // Print Card UID
+     pc.printf("Card UID: ");
+     h = RfChip.uid.size;
+     for (uint8_t  i = 0; i < RfChip.uid.size; i++) //uint8_t  unsigned int
+     {
+       LecturaUID[i] = RfChip.uid.uidByte[i];
+       DebugUART.printf(" %X01", RfChip.uid.uidByte[i]);
+     }
+    
+     DebugUART.printf("\n\r tamano: %d ",h);
+     pc.printf("\n\r");
+     
+     
+     if (comparaUID(LecturaUID, Usuario1)){
+     pc.printf("Bienvenido Usuario1");
+         TFT.set_font((unsigned char*) Arial12x12);
+    TFT.locate(170,130);
+    TFT.printf("Usuario1");
+     }
+     else if (comparaUID(LecturaUID, Usuario2)){
+     pc.printf("Bienvenido Usuario2");
+    TFT.locate(170,130);
+    TFT.printf("Usuario2");
+     }
+     else {
+         pc.printf("User Unknown");
+       TFT.locate(170,130);
+       TFT.printf("User Unknown");
+         }
+     
+     pc.printf("\n\r");
+     // Print Card type
+     uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
+     pc.printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType));
+    // wait_ms(250);
+        }
+    } else {
+        error("Device not detected!\n");
+    }
+}
diff -r 000000000000 -r 25f23d7e0fa7 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Wed Feb 17 00:01:00 2021 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file