Pesquisar neste blog

26/09/2020

Sequências periódicas

4) Sejam duas sequencias periódicas de período igual a 5. A sequencia x[n] retorna os coeficientes ak e a sequencia y[n] retorna os coeficientes bk. Sabe -se que a0= a1/3= a2/2= a3/5= a4= 2 e b0= b1= b2/4= b3= b4/6= 3. Os coeficientes da sequencia g[n]= x[n]y[n] retorna os coeficientes ck. Os coeficiente c0 e c4 são respectivamente:

a) 249 e 136

b) 250 e 138

c) 251 e 142

d) 252 e 138

e) 138 e 252

Resolução:






























Resposta letra d

5) Sejam duas sequencias periodicas de periodo igual a 5. A sequencia x[n] retorna os coeficientes ak e a sequencia y[n] retorna os coeficientes bk. Sabe -se que a0= a1/3= a2/2= a3/5= a4= 2 e b0= b1= b2/4= b3= b4/6= 3. Os coeficientes da sequencia g[n]= x[n]y[n] retorna os coeficientes ck. Os coeficiente c1 e c3 são respectivamente:

a) 15 e 9

b) 130 e 180

c) 90 e 150

d) 100 e 140

e) 18 e 30

Resolução:






















































Resposta letra c

19/09/2020

Timer1 com PIC 16F628A

#include <16F628a.h>
#fuses intrc_io,nowdt, nomclr
#use delay(clock = 8MHz)
#use fast_io(a)
#use fast_io(b)
int cont;
int16 timer;//timer1 trabalha com 16 bits

void main(){
   set_tris_a(0x00);
   set_tris_b(0xf0);//1/2 entrada e 1/2 saída
   output_b(0x00);
   SETUP_TIMER_1(T1_EXTERNAL | T1_DIV_BY_2);//pro escale para 2
   SET_TIMER1(0);

   while(TRUE){
      timer = GET_TIMER1();//funcção que captura o timer
      if(timer == 1){
         output_a(0b00000001);
      }
      
      if(timer == 2){
         output_a(0b00000010);
      }
      
      if(timer == 3){
         output_a(0b00000100);
      }
      
      if(timer == 4){
         output_a(0b00001000);
      }
      
      if(timer == 5){
         output_b(0b00010001);
         output_a(0b00000000);
      }
      
      if(timer == 6){
         output_a(0b00000000);
         output_b(0b00000000);
         set_timer1(1);//seta novamente o timer1
      }
      //TODO: User Code
   }

}

Software Proteus 7.6


















Créditos para: Alexandro Lima

17/09/2020

PWM com PIC 16F628A

Código feito em CCS C Compiler

#include <main.h>
#fuses intrc_io, nowdt, nomclr
#use delay(clock = 20MHz)
#use fast_io(a)
#use fast_io(b)
long valor1, valor2;

void main(){
   set_tris_b(0x00);
   valor2 = 2500;
   
   while(TRUE){
   
      for(valor1 = 0; valor1 < 2500; valor1++){
         output_high(pin_b0);//nivel alto no pino b0
         delay_us(valor1);
         output_low(pin_b0);//nivel logico baixo
         delay_us(valor2);
         valor2--;
      }
      
      for(valor1 = 2500; valor1 > 1; valor1--){
         output_high(pin_b0);
         delay_us(valor1);
         output_low(pin_b0);
         delay_us(valor2);
         valor2++;
      }
      
      //TODO: User Code
   }

}





















Créditos para: Alexandro Lima

16/09/2020

PWM com PIC 16F628A

Código feito em CCS C Compiler


#include <16F628a.h>

#fuses intrc_io,nowdt,nomclr//configurando os fuses bits

#use delay(clock = 8M)

#use fast_io(a)

#use fast_io(b)

int valor; 

void main(void){

   set_tris_b(0x00);//todo port b como saída

   setup_ccp1(CCP_PWM);//setando o canal PWM

  //(corresponde pro escale: pode ser 1 ou 16 , carga do registrador que deixar o ciclo em 0 ,ciclo ativo: registrador ccpR1L)

   setup_timer_2(T2_DIV_BY_16,255,1);//função que configura o PWM

   

   while(true){

      for(valor = 0; valor < 255; valor++){

         set_pwm1_duty(valor);

         delay_ms(100);

      }

      

      for(valor = 255; valor > 1; valor--){

         set_pwm1_duty(valor);

         delay_ms(100);

      }

   

   }

}



Motor DC usando PWM com PIC 18F4550


Objetivo: Fazer um motor de corrente contínua que seja controlado sua velocidade.

Código feito em CCS C Compiler

#include <18f4550.h>
#device ADC = 8//configurando o canal analógico em 8 bits
#fuses intrc_io,nowdt,nomclr//configurando os fuses bits do PIC
#use delay(clock = 8MHz)
//diretivas das portas
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)

int canal;
 
void main(void){
   set_tris_c(0x00);//todo port c como saída
   set_tris_a(0xff);//todo port a como entrada
   setup_timer_2(T2_DIV_BY_16, 255, 1);//setando o timer 2
   setup_ccp1(CCP_PWM);//setando o canal PWM
   setup_oscillator(OSC_1MHZ|OSC_INTRC);//Configurando o oscilador interno em 1MHz
   setup_adc_ports(AN0);//setando o canal 0, canal analógico
   setup_adc(ADC_CLOCK_INTERNAL);//setando o clock interno para a conversão ad
   set_adc_channel(0);//função para setar o canal 0
   
   while(true){
      canal = read_adc();//capturando o valor do canal analógico
      delay_ms(50);
      set_pwm1_duty(canal);//coloca ao valor que foi setado
      
      if(input(pin_d0) == true){         
         set_adc_channel(1);
      }
      
      if(input(pin_e2) == true){
         set_adc_channel(0);
      }

   }
}

Software: Proteus versão 7.6


13/09/2020

Timer0 com interrupção usando PIC 16F628A

Código feito em CCS C Compiler


#include <16f628a.h>

#fuses intrc_io,nowdt, nomclr

#use delay(clock = 4MHz)

#use fast_io(a)

#use fast_io(b)

#define use_portb_lcd TRUE//configurando no port b

#include <lcd.c>

int cont, timer;

//diretiva de interrupção do timer 0

#INT_TIMER0


void contador(void){

   lcd_putc("\fINTERRUPCAO \n ATIVADA");

   for(cont = 0; cont < 5; cont++){

      output_low(pin_a0);//nivel baixo no pino a0

      output_high(pin_a1);//nivel alto no pino a1

      delay_ms(500);

      output_low(pin_a1);

      delay_ms(500);

      set_timer0(250);

   }

   

   lcd_putc("\fINTERRUPCAO \n FINALIZADA");

   delay_ms(2000);

   lcd_putc("\fVOLTANDO AO \nPROGRAMA");

   delay_ms(2000);

   lcd_putc("\fAGUARDANDO\NINTERRUPCAO");

   delay_ms(100);

}


void main(void){

   set_tris_a(0xf0);//1/2 como entrada e 1/2 como saída

   set_tris_b(0x00);//port saida

   output_b(0x00);

   ENABLE_INTERRUPTS(GLOBAL);//chave geral da interupcao

   ENABLE_INTERRUPTS(INT_TIMER0);//habilitando a interrupcao

   SETUP_TIMER_0(RTCC_EXT_L_TO_H);//declarando oscilador xnterno e incremento atraves do RA4 , COLOCANDO A BORDA DE DESCIDA PARA SUBIDA 

   SET_TIMER0(250);//setando em 250

   lcd_init();

   lcd_putc("\fAGUARDANDO\nINTERRUPCAO");

   

   

   while(true){

      output_high(pin_a0);

      delay_ms(500);

      output_low(pin_a0);

      delay_ms(500);

      timer = get_timer0() + 6;//captura atraves da função e soma + 6

      lcd_putc("\fAGUARDANDO\nINTERRUPCAO");

      printf(lcd_putc,"  %u", timer);

   }

}







Jogo da Quina com PIC 16F628A

#include <16f628a.h>

#fuses intrc_io,nowdt, nomclr

#use delay(clock = 4MHz)

#use fast_io(a)

#use fast_io(b)

#define use_portb_lcd TRUE

#include <lcd.c>

int cont = 1, timer, num[5];

void main(void){

   set_tris_a(0xff);//todo port a como entrada

   lcd_init();

   setup_timer_0(rtcc_internal|rtcc_div_1);//definindo como oscilador interno e, escale como 1 

   lcd_putc("  QUINA \n");

   delay_ms(200);

   lcd_putc("  \f SORTEANDO:\n");

   delay_ms(500);

   set_timer0(1);

   

   while(true){

      while(cont <= 5){

         timer = GET_TIMER0();

         if(timer > 0 && timer < 81){

            num[cont] = timer;

            printf(lcd_putc,"%u ", num[cont]);

            cont++;

         }

         delay_ms(331);

         

      }

      delay_ms(3000);

      lcd_putc("\f   SORTEANDO:\n");

      cont = 1;

   }

}











Créditos para: Alexandro Lima

Timer usando com PIC 16F628A

Código feito em CCS C Compiler


#include <16f628a.h>

#fuses intrc_io,nowdt, nomclr

#use delay(clock = 4MHz)

#use fast_io(a)

#use fast_io(b)


int cont, timer;


void main(void){

   set_tris_a(0xf);//1/2 como entrada e 1/2 como saída

   set_tris_b(0x00);//port saida

   output_b(0x00);

   SETUP_TIMER_0(RTCC_EXT_L_TO_H);//declarando oscilador xnterno e incremento atraves do RA4 , COLOCANDO A BORDA DE DESCIDA PARA SUBIDA 

   SET_TIMER0(0);

         

   while(true){

      timer = GET_TIMER0();//captura e armazena na variável timer

      if(timer == 5){

         for(cont = 0; cont < 5; cont++){

            output_high(pin_b1);

            delay_ms(500);

            output_low(pin_b1);

            delay_ms(500);

            set_timer0(0);    

         }

      }    

   }

}




10/09/2020

Media Query em HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Media Query</title>
    <style>
        div{
            font-size40px;
            margin20px;
            padding20px;
            background-colorcoral;
            bordersolid 5px;
            displaynone;
        }
        @media (max-width600px){/*largura no máximo 600*/
            /*Se a largura for no máximo 600 px, irá aplicar na classe muito...*/
            .muito-pequeno{displayblock;}
        }
        /* orientação retrato, se a largura for no maior 100*/
        @media (max-width1000px), (orientationlandscape){/*orientation: landscape*/
            .pequeno-retrato{displayblock;}
        }
        /* so vai aparecer se tiver largura minima de 500px */
        @media (min-width500px) and (max-width1000px){
            .intervalo {displayblock;}
        }
    </style>
</head>
<body>
    <div class="muito-pequeno">Muito Pequeno</div>
    <div class="pequeno-retrato">Pequeno ou Retrato</div>
    <div class="intervalo">Intervalo</div>
</body>
</html>




30/08/2020

Propriedades CSS

Posições dos elementos usando CSS em HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Position CSS</title>
    <style>
        div{
            font-size60px;
            padding30px;
            bordersolid 5px #222;
            colorred;
        }
        /* classes específicas */
        .static{
            top100px;
            left100px;
            background-colorsteelblue;
        }
        .fixed{
            positionfixed;
            bottom30px;
            right0px;
        }
        .relative1{
            positionrelative;
            left50px;
            top5px;/*5 pixel acima do elmento acima*/
            background-colorseagreen;
        }
        .absolute1{
            positionabsolute;
            left350px;
            top120px;
            background-colorviolet;
        }
        .relative2{
            positionrelative;
            left250;
            top2000px;
            width200px;
            height200px;
            background-colorsalmon;
        }
        .absolute2{
            positionabsolute;
            left10px;
            top10px;
            width20px;
            height20px;
            background-colorgreenyellow;
        }
        .sticky{
            position: -webkit-sticky;/*safari*/
            positionsticky;
            background-color#777;
            top10px;
        }
    </style>
</head>
<body>
    <!-- Classes -->
    <div class="static">Static (Padrão)</div>
    <div class="fixed">Fixed</div>
    <div class="relativel">Relative</div>
    <div class="absolute1">Absolute</div>

    <div class="relative2">
        <div class="absolute2"></div>
    </div>

    <div class="sticky">Sticky</div>
    <p style="padding-bottom: 2000px;">Opa</p>
</body>
</html>

28/08/2020

Texto e suas propriedades em HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Texto</title>
    <link href="https://fonts.googleapis.com/css?family=Indie+Flower" rel="stylesheet">
    <style>
        *{
            margin0;
        }
        html{
            font28px;
        }
        body{
            displayflex;
            flex-directioncolumn;
            align-itemscenter;
        }
        p{
            /* valores padrões */
            font-size1em;
            font-size100%;
            font-size16px;
            font-size12pt;

            /* unidades absolutas */
            font-size100px;/*tamanho do pixel*/
            font-size72pt;/*pontos */
            font-size: lin;/*polegada */

            /* unidades relativas */
            font-size2.2em;
            font-size2.2rem;
            font-size50vh;
            font-size10vw;/*unidades em view port, 10% da largura*/

            font-familymonospace;
            font-familyGeorgiaserif;
            font-familyVerdanasans-serif;
            font-size'Indie Flower'cursive;/*aponta para referência do link*/

            font-weight100;/*peso da fonte*/
            font-styleitalic;
            text-transformuppercase;/*coloca todas as letras em ministula*/
            /* text-decoration: overline underline line-through; */
            word-spacing60px;
            letter-spacing20px;/*altura da linha*/
            line-height2.5em;/*largura da linha*/
            text-aligncenter;/*alinha o texto no meio*/
        }
        /* classe botão */
        .botao{
            font-size28px;
            text-decorationnone;
            padding10px 30px;
            border-radius25px;
        }
        /* classe destaque */
        .destaque{
            color#fff;
            backgroundtomato;
            box-shadow2px 2px 1px #000;
        }
        /* pseudo classe, tem uma especificidade maior que destaque */
        .destaque:active{
            box-shadownone;
        }
    </style>
</head>
<body>
    <div>
        <p>
            Que texto <br>Legal !!!
        </p>
    </div>
    <!-- classe 'botao' e classe 'destaque' -->
    <a href="https://google.com" class="botao destaque">Google</a>
</body>
</html>




 

26/08/2020

Organização de divs em HTML

<!DOCTYPE html>
<html lang="en">

<head>
  <title>LP3</title>
  <style>
    * {
      margin0;
      padding0;
    }

    #top {
      width100%;
      height200px;
      border1px solid red;
      positionfixed;
      top0;
    }

    #baixo {
      width100%;
      height100px;
      border1px solid blue;
      floatleft;
      positionfixed;
      bottom0;
    }

    #main {
      margin-top200px;
    }

    #meio {
      width50%;
      floatleft;
      margin-left25%;
    }

    .meio1 {
      height150px;
      border1px solid green;
    }

    #esquerda {
      width25%;
      floatleft;
      positionfixed;
      top200px;
    }

    .esquerda1 {
      height200px;
      border1px solid blue;
    }

    #direita {
      width25%;
      floatright;
      positionfixed;
      top200px;
      left75%;
    }

    .direita1 {
      height150px;
      border1px solid blue;
    }
  </style>
</head>

<body>
  <div id="top">
    Top
  </div>

  <div id="main">
    <div id="esquerda">
      <div class="esquerda1">
        Left1
      </div>
      <div class="esquerda1">
        Left2
      </div>
    </div>

    <div id="meio">
      <div class="meio1">
        Center1
      </div>
      <div class="meio1">
        Center2
      </div>
      <div class="meio1">
        Center3
      </div>
      <div class="meio1">
        Center4
      </div>
      <div class="meio1">
        Center5
      </div>
      <div class="meio1">
        Center6
      </div>
      <div class="meio1">
        Center7
      </div>
      <div class="meio1">
        Center8
      </div>
      <div class="meio1">
        Center9
      </div>
      <div class="meio1">
        Center10
      </div>
    </div>

    <div id="direita">
      <div class="direita1">
        Right1
      </div>
      <div class="direita1">
        Right2
      </div>
      <div class="direita1">
        Right3
      </div>
    </div>
  </div>

  <div id="baixo">
    Footer
  </div>
</body>

</html>






 







Créditos para: Luis Fernando - IFMT

19/08/2020

Função para verificar CPF em Javascript

Objetivo: Averiguar se os dados digitados corresponde a um formato de CPF ( xxx.xxx.xxx-xx ):

Exemplo: 111.222.333-44, Ok ! 

Caso contrário está incorreto

function verificar(cpf) {
    //1° condição para verificar os dígitos e tamanho
    if (cpf.charAt(3) == '.' && cpf.charAt(7) == '.' && cpf.charAt(11) == '-' && cpf.length == 14) {
        var aux = '';
        aux += cpf.charAt(0);
        aux += cpf.charAt(1);
        aux += cpf.charAt(2);
        aux += cpf.charAt(4);
        aux += cpf.charAt(5);
        aux += cpf.charAt(6);
        aux += cpf.charAt(8);
        aux += cpf.charAt(9);
        aux += cpf.charAt(10);

        return checarNumero(aux);//verifica se o resto é apenas número inteiro
    }
    //caso contrário é falso
    return false;
}

//Método1 para chegar se todos os valores são apenas números: 
//exemplo: 22)8999/*,,,
function checarNumero(valor) {
    var regra = /^[0-9]+$/;
    if (valor.match(regra)) {
        return true;
    }

    return false;
}
//Método2 para chegar se todos os valores são apenas números: 
//exemplo: 22)8999/*,,,
function isNumber(n) {
    return !isNaN(parseFloat(n)) && isFinite(n);
}

console.log(verificar('112.456.777-99'));//ok
console.log(verificar('112.45.6.777-9,9'));//falso
console.log(verificar('555.777.077-12'));//ok
console.log(verificar('555.777-12'));//falso
console.log(verificar('555.777.077-12.780.777'));//falso


14/08/2020

Overflow em HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Overflow</title>
    <style>
        div{
            font-size40px;
            height100px;
            width260px;
            bordersolid 3px;
            overflowhidden;
            /*overflow: scroll;overflow nos 2 sentidos*/
            overflow-xscroll;/*só faz a rolagem na horizontal*/
            overflow-yscroll;/*só faz a rolagem na vertical*/
            
        }
    </style>
</head>
<body>
    <div>
        TudoFuncionouMuitoBemEmCSS!!!
        Texto muito grande para caber nessa div.
        Já pensou qual será o comportamento padrão ?
    </div>
</body>
</html>



 

Propriedade Display em HTML

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Display</title>
    <style>
        body {
            font-size40px;
            color#fff;/*cor do texto*/
            background-colorcoral;/*cor do plano de fundo*/
        }

        ul{padding0;}
        div{background-colorseagreen;}/*cor de fundo da div*/
        spanbackground-colorred;}
        libackground-colorpurple;}

        divspanli
            width50%/*largura*/
            width200px;
            height80px;/*altura*/
            padding-top30px;
            text-aligncenter;/*texto centralizado*/
            /*display: block;/*blocos*/
            /*display: inline;/*linhas*/
            displayinline-block;

        }
    </style>
</head>

<body>
    <div>Texto 1</div>
    <span>Texto 2</span>
    <span>Texto 3</span>
    <ul>
        <li>Item 1</li>
        <li>Item 2</li>
        <li>Item 3</li>
    </ul>
</body>

</html>