Pesquisar neste blog

14/12/2020

Prova 1 2020/2 - Sistemas de Controles Contínuos

1) Dado o circuito elétrico abaixo, assinale a alternativa que expressa corretamente a função de transferência G(s), onde:





































Resposta:  Letra b)


2) Dado o diagrama  de fluxo de sinais abaixo, marque a alternativa correta  que representa a função de transferência do sistema, G(s).






































Resposta: Letra a)

3) Dado o diagrama de blocos abaixo, assinale a alternativa que corresponde a simplificação do diagrama em um único bloco, ou seja, determinar função de transferência do sistema.
























Resposta: Letra a)

4) Dada a função de transferência abaixo, assinale a opção correta para a saída do sistema para uma entrada degrau unitário:
























Resposta: Letra b)

13/12/2020

Trabalhando com Eventos em HTML #01

<!DOCTYPE html>
<html>

<head>
    <meta charset='UTF-8'>
    <title>Trabalhando com Eventos #01</title>
    <link rel='stylesheet' href='css/estilo.css'>
</head>

<body class="conteudo exercicio">
    <div>
        <!-- onclick="navegarEm5s(event)" -->
        <a espera-um-pouco href="https://google.com.br">Google</a>
    </div>
    <script>
        function navegarEm5s(e) {
            e.preventDefault()
            console.log('Saindo em 5s...')
            setTimeout(() => {
                const link = e.target
                window.location.href = link.href
            }, 5000)
        }

        // const a = document.querySelector('a')
        // a.onclick = navegarEm5s

        const a = document.querySelector('[espera-um-pouco]')
        a.onclick = navegarEm5s
    </script>
</body>


Espera 5s



10/12/2020

Formulário de Login em Excel VBA

Excel 2010




























btnentrar           Click
Private Sub btnentrar_Click()

Dim usuario As String
Dim senha As String
Dim combinação As Boolean
Dim comb1 As String
Dim comb2 As String

usuario = Me.txusuario.Value
senha = Me.txsenha.Value

combinação = False

comb1 = usuario & senha

'combinação linha e senha'
linhas = WorksheetFunction.CountA(Plan1.Columns("A")) - 1 'conta as linhas'

For cont = 2 To linhas

comb2 = Plan1.Cells(cont, 1).Value & Plan1.Cells(cont, 2).Value
combinação = comb1 = comb2

If combinação = True Then

MsgBox "USUÁRIO AUTORIZADO !", vbInformation, "OK" 'ICONE DE BEM VINDO'
Unload Me
Exit Sub

'fechando a estrutura condicional'
End If

Next 'senão'

MsgBox "USUÁRI OU SENHA INCORRETOS !", vbCritical, "ERROR"

End Sub

btnsair            Click
Private Sub btnsair_Click()

ThisWorkbook.Close 'fecha a planilha'

End Sub

09/12/2020

Sistema de Cadastro em Excel VBA

Excel 2010


























(Geral)            (Declaração)
Private Sub btninserir_Click()

Dim ulinha As Long 'identifica número da ultima linha'

ulinha = Plan1.Range("a1048576").End(xlUp).Row + 1 'próximo da ultima linha'

Plan1.Cells(ulinha, 1).Value = Me.txid.Value 'coluna 1'
Plan1.Cells(ulinha, 2).Value = Me.txdata.Value
Plan1.Cells(ulinha, 3).Value = Me.txnome.Value
Plan1.Cells(ulinha, 4).Value = Me.txidade.Value
Plan1.Cells(ulinha, 5).Value = Me.cbcurso.Value

MsgBox "OPERAÇÃO REALIZADA COM SUCESSO !"

End Sub

Private Sub UserForm_Initialize()

Dim utimoid As Long 'pegar o último índice'

Me.txdata.Value = Date

ultimoid = Plan1.Range("a1048576").End(xlUp).Value

Me.txid.Value = ultimoid + 1


End Sub


CommandButtom1            Click
Private Sub CommandButton1_Click()

UserForm1.Show 'chamando o objeto'

End Sub

07/12/2020

Formatação de dados com Format em Excel VBA

Excel 2010

Private Sub btncd_Change()

Me.txcd.Value = Format(Me.txcd, "0.00") '2 casas de formatação")

End Sub


Private Sub ToggleButton1_Click()

Me.txreal.Value = Format(Me.txreal, "R$ #,###.000") 'Formato real com 3 casas decimais'

End Sub

Private Sub btndata_Click()

Me.txdada.Value = Format(Me.txdada, "dd/mm/yyyy")

End Sub

05/12/2020

Forlulário ListBox com ListOptions em Excel VBA


Excel 2010





























Private Sub btnexcluir_Click()

Dim nlinha As Long

nlinha = Me.lbdados.ListIndex

'removendo item que está selecionado na variável nlinha'
Me.lbdados.RemoveItem (nlinha)

End Sub

Private Sub btnInserir_Click()
Dim lista As Long

lista = 0
'contagem da lista, se a lista for diferente de 0'
If lbdados.ListCount <> 0 Then lista = (lbdados.ListCount + 1) - 1

With lbdados

.AddItem

'trabalhando com Lista'
.List(lista, 0) = Me.txnome.Value 'linha 0, coluna 0'
.List(lista, 1) = Me.txidade.Value
.List(lista, 2) = Me.txendereco.Value

End With

End Sub


Private Sub btnmostrar_nome_Click()
Dim nlinha As Long
Dim nome As String

nlinha = Me.lbdados.ListIndex

nome = Me.lbdados.List(nlinha, 0) 'exibindo a linha e a coluna'
MsgBox "Nome selecionado: " & nome


End Sub

Private Sub UserForm_Click()

End Sub

04/12/2020

Formulário com ListBox em Excel VBA #02

Excel 2010





























Private Sub btnInserir_Click()
Dim lista As Long

With lbdados

lista = 0
'contagem da lista, se a lista for diferente de 0'
If lbdados.ListCount <> 0 Then lista = (lbdados.ListCount + 1) - 1

.AddItem

'trabalhando com Lista'
.List(lista, 0) = Me.txnome.Value 'linha 0, coluna 0'
.List(lista, 1) = Me.txidade.Value
.List(lista, 2) = Me.txendereco.Value

End With

End Sub

29/11/2020

Dois canais analógicos PWM com PIC 18F4550




























Código feito em CCS C Compiler

#include <18F4550.h>
#fuses INTRC_IO, NOWDT, NOMCLR
#use delay(clock = 4MHz)

void main(){

   setup_timer_2(T2_DIV_BY_16, 207, 1);
   setup_ccp1(CCP_PWM);
   setup_ccp2(CCP_PWM);
   set_pwm1_duty(0);
   set_pwm2_duty(0);
   
   while(true){
      
      set_pwm1_duty(127);
      set_pwm2_duty(50);
      
   }
}

Créditos para: Alexandro Lima

22/11/2020

Formulário ProgressBar com Excel VBA












































Código feito em Visual Macro

Private Sub btn_somar_Click()

Dim soma As Long

'Carregando na mesma proporção
Me.pg_status.Min = 2
Me.pg_staus.Max = 31

For cont = 2 To 31

Me.pg_status.Value = cont 'irá acompanhar o progresso
soma = Plan1.Cells(cont, 1) + Plan1.Cells(cont, 2)

'Lançando os dados na planilha da coluna C
Plan1.Cells(cont, 3).Value = soma

Next

MsgBox "OPERAÇÃO REALIZADA"

End Sub

Opções com menu PIC 16F628A






























Código feito em CCS C Compiler

#include <16F628a.h>
#fuses INTRC_IO, NOMCLR, NOWDT
#use delay(clock = 8MHz)
#define use_portb_lcd true
#include <lcd.c>
int estado = 0;

void main(void){

   set_tris_a(0x0f);
   output_a(0x00);
   lcd_init();
   
   while(true){
      
      do{
         lcd_putc("\f ESCOLHA ABAIXO");
         lcd_putc("\n1-Am, 2-Ve, 3-Az");
         delay_ms(200);
         
         if(input(pin_a0)){
            lcd_putc("\f ACENDE LED\n  AMARELO");
            estado = 1;
            delay_ms(1000);
         }
         
         if(input(pin_a1)){
            lcd_putc("\f ACENDE LED\n  VERMELHO");
            estado = 2;
            delay_ms(1000);
         }
         
         if(input(pin_a2)){
            lcd_putc("\f ACENDE LED\n  AZUL");
            estado = 3;
            delay_ms(1000);
         }
         
         if(input(pin_a3)){
            lcd_putc("\f ACENDE LED\n TENTE NOVAMENTE");
            delay_ms(1000);
         }
         
      }while(estado == 0);
      
      if(estado == 1){
         delay_ms(1000);
         lcd_putc("\f  LED AMARELO \n  ACIONADO");
         output_high(pin_a6);
         delay_ms(5000);
         output_low(pin_a6);
         estado = 0;
      }
      
      if(estado == 2){
         delay_ms(1000);
         lcd_putc("\f  LED VERMELHO \n  ACIONADO");
         output_high(pin_a7);
         delay_ms(5000);
         output_low(pin_a7);
         estado = 0;
      }
      
      if(estado == 3){
         delay_ms(1000);
         lcd_putc("\f  LED AZUL \n  ACIONADO");
         output_high(pin_b3);
         delay_ms(5000);
         output_low(pin_b3);
         estado = 0;
      }
      
      
   }
}


Créditos para: Alexandro Lima

Modificando HTML #02

<!DOCTYPE html>
<html>

<head>
    <meta charset='UTF-8'>
    <title>Modificando HTML #02</title>
    <link rel='stylesheet' href='css/estilo.css'>
</head>

<body class='conteudo exercicio'>
    <div>
        <p>Texto Inicial</p>
    </div>
    <script>
        const div = document.querySelector('div')
        div.innerHTML = 'Texto Alterado'//susbstitui tudo que está dentro da div pelo valor inserido 'texto alterado'
        //div.outerHTML = 'Texto Modificado'//substitui a div

        div.insertAdjacentHTML('beforebegin''<p>Antes Inicio </p>');
        div.insertAdjacentHTML('afterbegin','<p>Depois Inicio </p>');
        div.insertAdjacentHTML('beforeend','<p>Antes Fim</p>')

        //somente texto (sem tags)
        console.log(div.innerText);//devolve apenas o texto associado

    </script>
</body>

</html>



Modificando HTML #01

<!DOCTYPE html>
<html>

<head>
    <meta charset='UTF-8'>
    <title>Modificando HTML #01</title>
    <link rel='stylesheet' href='css/estilo.css'>
</head>

<body class='conteudo exercicio'>
    <script>
        const body = document.querySelector('body')

        const div1 = document.createElement('div')
        div1.classList.add('destaque')
        div1.innerHTML = 'Primeiro'

        const div2 = document.createElement('div')
        div2.setAttribute('wm-atributo''valor')
        div2.innerHTML = 'Segundo'

        const p = document.createElement('p')//fazendo um parágrafo
        p.innerHTML = 'Terceiro'
        const div3 = document.createElement('div');
        div3.appendChild(p)//paragrafo dentro da função

        //exibindo no navegador
        body.appendChild(div1)
        body.appendChild(div2)
        body.appendChild(div3)

        const texto = document.createTextNode('Antes...')
        //div3 = elemento PAI, texto = elemento FILHO
        div3.insertBefore(textodiv3.childNodes[0])//insere antes da posição 1

        //Adicionando um clone
        const div4 = div3.cloneNode(true)//clonou o elemento 3 e coloca na div4
        body.appendChild(div4);//adiciona o elemento clonado
        body.removeChild(div3);//revovendo a div3

    </script>
</body>

</html>




Formulário de análise em Excel VBA #01




Código1 feito na Visual Macro

Sub relatorio()

Dim produtos_vendidos As Long
Dim produtos_totais As Long

produtos_vendidos = WorksheetFunction.CountIf(Plan3.Columns("c"), "SIM")
produtos_totais = WorksheetFunction.CountA(Plan3.Columns("a")) - 1

UserForm1.txtotais.Value = produtos_totais
UserForm1.txvendidos.Value = produtos_vendidos

MsgBox "ANÁLISE REALIZADA !", vbInformation, ""

End Sub



Fazendo formulário em Excel VBA #03

Excel 2010




















Código utilizado:

Private Sub ToggleButton1_Click()

'variáveis
Dim num1 As Long
Dim num2 As Long

'atribui valor que estiver na caixa de texto

num1 = Me.tx1.Value
num2 = Me.tx2.Value

Me.txResultado.Value = num1 * num2

MsgBox "Operação realizada com sucesso"

End Sub

21/11/2020

Fazendo um formulário em Excel VBA #02

Excel 2010







Fazendo um formulário em Excel VBA #01

Excel 2010







Relógio em LCD com PIC 16F628A

Software Proteus versão: 7.6


Código feito em CCS C Compiler

#include <16f628a.h>
#fuses intrc_io,nowdt,nomclr//fuse bits
#use delay (clock= 8MHz)  
#define use_portb_lcd TRUE
#include <lcd.c>     

void main(void{
   //variáveis
   int HORA=23, MINUTO=35, SEGUNDO=0;
   output_a(0x0f);  
   output_b(0x00);  
   lcd_init();
  
while(true){
  
    SEGUNDO ++;
    if (SEGUNDO > 59 || input(pin_A0)){//reset
         SEGUNDO = 0;
         MINUTO ++;
       }
    if (MINUTO > 59 || input(pin_A1)){
       MINUTO = 0;
       HORA ++;
       }
    if (HORA > 23) HORA = 0;
      printf(lcd_putc,"\f  %02u:%02u:%02u\nENG. COTIDIANA", HORA, MINUTO, SEGUNDO);
      delay_ms(1000);
    }
  }


Créditos para Alexando Lima

Acessando classes em HTML

<!DOCTYPE html>
<html>

<head>
    <meta charset='UTF-8'>
    <title>Acessando Classes</title>
    <link rel='stylesheet' href='css/estilo.css'>
</head>

<body class='conteudo exercicio'>
    <div>
        Classes
    </div>
    <script>
        const div = document.querySelector('div')//consegue adicionar, remover, acessar
        const classes = div.classList//
        classes.add('destaque')
        classes.remove('destaque')
        classes.toggle('destaque')//se não exixtir ele adiciona, se existir ele remove
        console.log(classes.contains('destaque'))//true
        classes.add('Blog')
        console.log(classes.length)//tamanho da classe
        classes.toggle('destaque')
        console.log(classes.length)

        classes.add('destaque1')
        classes.add('destaque2')
        console.log(classes.length)

        classes.add('destaque1')
        classes.add('destaque2')
        console.log(classes.length)

        for(let c of classes) {
            console.log(c)
        }
    </script>
</body>

</html>




Acessando atributos em HTML

<!DOCTYPE html>
<html>

<head>
    <meta charset='UTF-8'>
    <title>Acessando Atributos #03</title>
    <link rel='stylesheet' href='css/estilo.css'>
</head>

<body class='conteudo exercicio'>
    <div>
        <ul id="compras" destino='escritório' data-urgencia="5">
            <li>Café</li>
            <li>Água</li>
            <li>Copo Descartável</li>
        </ul>
    </div>
    <script>
        const lista = document.querySelector('#compras')

        // somente leitura
        console.log(lista.attributes)
        console.log(lista.attributes[0]);
        console.log(lista.attributes.id);
        console.log(lista.attributes[1]);
        console.log(lista.attributes.destino);
        console.log(lista.attributes['data-urgencia']);
        lista.attributes.destino = 'casa'
        console.log(lista.attributes.destino);

    </script>
</body>

</html>




15/11/2020

Acessando os atributos #01 em HTML

<!DOCTYPE html>
<html>

<head>
    <meta charset='UTF-8'>
    <title>Acessando Atributos #01</title>
    <link rel='stylesheet' href='css/estilo.css'>
</head>

<body class='conteudo exercicio'>
    <div>
        <a href='https://www.cod3r.com.br'>Cod3r</a>
    </div>
    <div id='primeiro'>
        <img src='http://files.cod3r.com.br/curso-web/logo-estreita.png' alt='logo'>
    </div>
    <script>
        const img = document.querySelector('img')
        //acessando os atributos de img através de uma string
        console.log('getAttribute'img.getAttribute('src'))
        //acessando os atributos através do nome 
        console.log('src'img.src)
        console.log('["src"]'img['src'])//
        console.log('alt'img.alt)

        console.log('Elemento "img"...............')
        console.log('NodeType'img.nodeType)
        console.log('NodeName'img.nodeName)

        const src = img.getAttributeNode('src')
        console.log('Atributo "src"...............')
        console.log('NodeType'src.nodeType)
        console.log('NodeName'src.nodeName)
        console.log('NodeValue'src.nodeValue)

        const link = document.querySelector('a')
        console.log('Elemento "a"...............')
        console.log('href'link.href)
        console.log('firstChild.nodeType'link.firstChild.nodeType)
        link.firstChild.nodeValue = 'Novo Texto'
    </script>
</body>

</html>

Saída gerada




Sintetizador de voz com Macro em Excel VBA

Excel 2010



























Private Sub UserForm_Activate()

Dim hora As String
Dim qtprodutosnv As Long

qtprodutosnv = WorksheetFunction.CountIf(Plan1.Columns(3), "NÃO")

'Irá capturar a data atual
hora = Format(Now, "hh:mm")

'sintetizador de voz
Application.Speech.Speak ("OLÁ MUNDO !")

'Avisa a hora atual em voz
Application.Speech.Speak ("AGORA SÃO " & hora)

'Emite a voz dizendo a quantidade de produtos para vender
Application.Speech.Speak ("VOCE POSSUI " & qtprodutosnv & "PRODUTOS PARA VENDER EM SEU ESTOQUE !")

'fechando o formulário


End Sub

Mensagem com box em Excel VBA

Excel 2010























Sub testes()

MsgBox "OPERAÇÃO REALIZADA COM SUCESSO !", vbInformation
MsgBox "ERRO !", vbCritical
MsgBox "ALERTA !", vbExclamation

'2° parte superior da caixa
MsgBox "CUIDADO !", vbExclamation, "SISTEMA DE GESTÃO 4.0"

End Sub

Loop para remover formulas no Excel VBA

Excel 2010


















Sub retirar()

Plan1.Range("E2:F31").Select

For Each x In Selection
    x.Value = x.Value
Next

MsgBox "OPERAÇÃO REALIZADA !"

End Sub