Testanto funções Display

Dependencies:   mbed

Committer:
henriquer
Date:
Tue Apr 27 21:18:52 2021 +0000
Revision:
4:2d8f54d22dbd
Parent:
2:f603020cd6ec
Escrevendo um sinal analogico ( Seno e Cosseno) no display TFT

Who changed what in which revision?

UserRevisionLine numberNew contents of line
henriquer 4:2d8f54d22dbd 1 // ****** Henrique ****** 24/04/21
henriquer 4:2d8f54d22dbd 2 // Escrevendo um sinal analógico ( Seno e Cosseno) no display TFT
henriquer 4:2d8f54d22dbd 3 // obs. Nesse código não sendo usado a função para limpar o display.
henriquer 4:2d8f54d22dbd 4 // ************** Display TFT- ILI9341 Versão V 4************** \\
henriquer 2:f603020cd6ec 5
henriquer 2:f603020cd6ec 6
henriquer 2:f603020cd6ec 7
silviosz 0:d4d4998d71d5 8
silviosz 0:d4d4998d71d5 9 #include "Arduino.h"
silviosz 0:d4d4998d71d5 10 #include <MCUFRIEND_kbv.h>
henriquer 4:2d8f54d22dbd 11 AnalogIn var (A5);
silviosz 0:d4d4998d71d5 12 MCUFRIEND_kbv tft;
silviosz 0:d4d4998d71d5 13 Serial pc(SERIAL_TX, SERIAL_RX);
henriquer 2:f603020cd6ec 14
henriquer 4:2d8f54d22dbd 15 // Tabela de cores
silviosz 0:d4d4998d71d5 16 #define BLACK 0x0000
silviosz 0:d4d4998d71d5 17 #define BLUE 0x001F
silviosz 0:d4d4998d71d5 18 #define RED 0xF800
silviosz 0:d4d4998d71d5 19 #define GREEN 0x07E0
silviosz 0:d4d4998d71d5 20 #define CYAN 0x07FF
silviosz 0:d4d4998d71d5 21 #define MAGENTA 0xF81F
silviosz 0:d4d4998d71d5 22 #define YELLOW 0xFFE0
silviosz 0:d4d4998d71d5 23 #define WHITE 0xFFFF
silviosz 0:d4d4998d71d5 24 #define GRAY 0x8410
henriquer 2:f603020cd6ec 25
henriquer 4:2d8f54d22dbd 26 int deslc = 0;
henriquer 2:f603020cd6ec 27
silviosz 0:d4d4998d71d5 28 void setup()
silviosz 0:d4d4998d71d5 29 {
silviosz 0:d4d4998d71d5 30 uint16_t ID = tft.readID(); //
silviosz 0:d4d4998d71d5 31 tft.begin(ID);
silviosz 0:d4d4998d71d5 32 }
henriquer 2:f603020cd6ec 33
henriquer 4:2d8f54d22dbd 34 // Função para criação das linhas
henriquer 4:2d8f54d22dbd 35 void linhas ()
silviosz 0:d4d4998d71d5 36 {
henriquer 2:f603020cd6ec 37
henriquer 4:2d8f54d22dbd 38 tft.drawLine(95,350,95,0,GRAY); // valores das coordenadas e inclinação
henriquer 4:2d8f54d22dbd 39
henriquer 4:2d8f54d22dbd 40 tft.drawLine(45,350,45,0,GRAY);
henriquer 2:f603020cd6ec 41
silviosz 0:d4d4998d71d5 42 }
henriquer 2:f603020cd6ec 43
henriquer 2:f603020cd6ec 44
henriquer 2:f603020cd6ec 45
henriquer 4:2d8f54d22dbd 46 void signal()
henriquer 4:2d8f54d22dbd 47 {
henriquer 4:2d8f54d22dbd 48
henriquer 4:2d8f54d22dbd 49
henriquer 4:2d8f54d22dbd 50
henriquer 4:2d8f54d22dbd 51 tft.fillScreen(BLACK); // Tela de Fundo
henriquer 4:2d8f54d22dbd 52 linhas();
henriquer 4:2d8f54d22dbd 53 double s; // Variável s e L com ponto flutuante com precisão
henriquer 4:2d8f54d22dbd 54 double L;
henriquer 4:2d8f54d22dbd 55
henriquer 4:2d8f54d22dbd 56 while (1) {
henriquer 4:2d8f54d22dbd 57
henriquer 4:2d8f54d22dbd 58 pc.printf ("valor %d\n\r",deslc);
henriquer 4:2d8f54d22dbd 59 delay(0.5);
henriquer 4:2d8f54d22dbd 60 for (int i=0; i<360; i++) {
henriquer 4:2d8f54d22dbd 61 deslc = var.read()*360;
henriquer 4:2d8f54d22dbd 62 s =20 * sin((long double) deslc / 10); // Sinal com amplitude 20
henriquer 4:2d8f54d22dbd 63 // Variável de precição amostrando o valor do pot. Valor 10 refere-se a expessura do sinal
henriquer 4:2d8f54d22dbd 64
henriquer 4:2d8f54d22dbd 65 L=20 * cos((long double) deslc / 10);
henriquer 4:2d8f54d22dbd 66 tft.drawPixel(70 + (int)s,deslc,RED); // Função Pixel responsável por " escrever "o sinal com vários pontos no display
henriquer 4:2d8f54d22dbd 67 // s convertido para int ; valor 70 é a referência de início do sinal
henriquer 4:2d8f54d22dbd 68
henriquer 4:2d8f54d22dbd 69 tft.drawPixel(70 + (int)L,deslc,BLUE);
henriquer 4:2d8f54d22dbd 70 }
henriquer 4:2d8f54d22dbd 71
henriquer 4:2d8f54d22dbd 72
henriquer 4:2d8f54d22dbd 73 }
henriquer 4:2d8f54d22dbd 74
henriquer 4:2d8f54d22dbd 75
henriquer 4:2d8f54d22dbd 76 }
henriquer 2:f603020cd6ec 77
henriquer 2:f603020cd6ec 78
henriquer 2:f603020cd6ec 79 int main()
silviosz 0:d4d4998d71d5 80 {
henriquer 4:2d8f54d22dbd 81
silviosz 0:d4d4998d71d5 82 setup();
henriquer 4:2d8f54d22dbd 83 signal();
henriquer 4:2d8f54d22dbd 84 while(2) {
henriquer 4:2d8f54d22dbd 85
henriquer 4:2d8f54d22dbd 86
henriquer 4:2d8f54d22dbd 87
silviosz 0:d4d4998d71d5 88 }
henriquer 4:2d8f54d22dbd 89
silviosz 0:d4d4998d71d5 90 }