Escrevendo um sinal analógico ( Seno e Cosseno) no display TFT

Dependencies:   mbed

main.cpp

Committer:
henriquer
Date:
2021-04-27
Revision:
3:2d8f54d22dbd
Parent:
2:f603020cd6ec

File content as of revision 3:2d8f54d22dbd:

// ******    Henrique  ****** 24/04/21
//  Escrevendo um sinal analógico ( Seno e Cosseno) no display TFT 
// obs. Nesse código não sendo usado a função para limpar o display.
// ************** Display TFT-  ILI9341  Versão V 4************** \\




#include "Arduino.h"
#include <MCUFRIEND_kbv.h>
AnalogIn var (A5);
MCUFRIEND_kbv tft;
Serial pc(SERIAL_TX, SERIAL_RX);

// Tabela de cores 
#define BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF
#define GRAY    0x8410

int deslc = 0;

void setup()
{
    uint16_t ID = tft.readID(); //
    tft.begin(ID);
}

 // Função para criação das linhas 
void linhas ()
{

    tft.drawLine(95,350,95,0,GRAY); //  valores das coordenadas  e inclinação
  
    tft.drawLine(45,350,45,0,GRAY); 

}



void signal()
{
    

    
    tft.fillScreen(BLACK);                                                // Tela de Fundo
    linhas();
    double s;                                                            // Variável  s e L com ponto flutuante com precisão 
    double L;
     
    while (1) {
    
    pc.printf ("valor %d\n\r",deslc);
    delay(0.5);
        for (int i=0; i<360; i++) {
            deslc = var.read()*360; 
            s =20 * sin((long double) deslc / 10);                  //     Sinal com amplitude 20  
                                                                   //     Variável de precição amostrando o valor do pot. Valor 10 refere-se a expessura do sinal 
            
            L=20 * cos((long double) deslc / 10); 
        tft.drawPixel(70 + (int)s,deslc,RED);                    //  Função Pixel  responsável por " escrever "o sinal com vários pontos no display
                                                                //  s convertido para int  ; valor 70 é  a referência de início do sinal 
        
        tft.drawPixel(70 + (int)L,deslc,BLUE);
        }


    }

   
}


int main()
{

    setup();
    signal();
    while(2) {



    }

}