sexta-feira, 30 de julho de 2021

Arduino - Saídas PWM

    Materiais utilizados:
  • Resistor 120
  • LED 
  • Arduino Uno
  • Protoboard
  • Jumpers
    O Arduino Uno possui 6 entradas analógicas (pinos A0, A1, A2, A3, A4, A5) e 14 pinos de entradas e saídas digitais, dos quais 6 podem ser utilizados como saídas PWM (pinos 3, 5, 6, 9, 10, 11).
    PWM é a sigla para Pulse Width Modulation ou modulação por largura de pulso, o qual é empregada em diversas aplicações na eletrônica, como por exemplo em fontes chaveadas, no controle de velocidade de motores, controle de servos motores e muitas outras. 
    Através do controle do tempo entre o pulsar da saída entre ligado e desligado é possível controlar a tensão média entregue a carga, quanto maior o tempo que a saída fica em nível lógico alto, maior a tensão média. 
    Para o funcionamento do PWM deve-se variar a largura do pulso da onda, ou seja, o tempo que a saída permanece em nível lógico alto. A largura do pulso é o tempo em que a saída está em nivel lógico alto, medido em milissegundos.
    Variando-se a largura do pulso, é possível variar também a tensão média entregue a carga, com isso a potência disponibilizada.
    O Duty Cycle, ou ciclo de trabalho, é a proporção entre o tempo em que a saída está em nível lógico alto em comparação com o tempo que a saída está em nível lógico baixo, é também expresso como a porcentagem do tempo ligado. Por exemplo, um Duty Cycle de 60%, é um sinal que está ligado 60% do tempo e desligado os outros 40%.

Fig. 1: Gráfico do sinal.

    A fórmula para o Duty Cycle é como mostrado abaixo:


  • DC = Duty Cycle em %
  • Largura do pulso = Tempo em que o sinal está ligado
  • Período = Tempo de um ciclo

    Utilizando o Arduino é possível verificar o comportamento das sáidas PWM. Foi utilizado um Arduino Uno acionando um LED através do pino 3 que é um dos pinos compatíveis com PWM.
    O esquema ficou da seguinte forma:

   Fig. 2: Esquema de ligação.
    
   Onde está ligado um LED com o anodo no pino 3 do Arduino e o catodo no GND passando por um resistor de 120Ω.

    A programação do Arduino ficou assim:
1:  /*  
2:   Saídas PWM  
3:     
4:   Este é um exemplo utilizando as Saídas PWM (analogWrite).  
5:   Por Alessandro Silva  
6:   */  
7:    
8:  int led_1 = 3;  
9:  int brilho = 0;  // Variável do tipo integer com nome "brilho".  
10:    
11:    
12:  void setup() {   
13:   pinMode(led_1, OUTPUT);  
14:   Serial.begin(19200);  
15:   Serial.flush();  
16:   Serial.println("Digite um valor entre 0 e 5");  
17:  }   
18:    
19:  void loop() {   
20:   if(Serial.available()>0) {  
21:   brilho=Serial.read();  
22:     
23:    if(brilho>=48, brilho<=53){ //Valores convertidos de ASCII para DECIMAL  
24:       
25:    switch (brilho) {  
26:     case 48: //Valor que corresponde a 0 em ASCII  
27:     analogWrite(led_1, 0);  
28:     Serial.println("Saída em 0%");  
29:     break;  
30:     case 49: //Valor que corresponde a 1 em ASCII  
31:     analogWrite(led_1, 51);  
32:     Serial.println("Saída em 20%");  
33:     break;  
34:     case 50: //Valor que corresponde a 2 em ASCII  
35:     analogWrite(led_1, 102);  
36:     Serial.println("Saída em 40%");  
37:     break;  
38:     case 51: //Valor que corresponde a 3 em ASCII  
39:     analogWrite(led_1, 153);  
40:     Serial.println("Saída em 60%");  
41:     break;  
42:     case 52: //Valor que corresponde a 4 em ASCII  
43:     analogWrite(led_1, 204);  
44:     Serial.println("Saída em 80%");  
45:     break;  
46:     case 53: //Valor que corresponde a 5 em ASCII  
47:     analogWrite(led_1, 255);  
48:     Serial.println("Saída em 100%");  
49:     break;  
50:    }  
51:    }     
52:    else {  
53:     Serial.println("Digite um valor válido");  
54:    }  
55:   delay(30);              
56:  }  
57:  }  

    Através do monitor serial altera-se o valor da saída no pino 3. Onde digita-se valores de 0 a 5, em que:
  • 0 = Saída desligada (Saída em 0 volts)
  • 1 = Saída com duty cycle em 20%
  • 2 = Saída com duty cycle em 40%
  • 3 = Saída com duty cycle em 60%
  • 4 = Saída com duty cycle em 80%
  • 5 = Saída ligada (Tensão máxima)
    Segue abaixo as imagens do monitor serial para as diferentes possibilidades de saída:

Fig. 3: Saída ligada.

 Fig. 4: Saída em 80%.

Fig. 5: Saída em 60%.

Fig. 6: Saída em 40%.

Fig. 7: Saída em 20%.

Fig. 8: Saída desligada.

    Abaixo as imagens do osciloscópio com as respectivas saídas acima:

Fig. 9: Saída ligada.

Fig. 10: Saída em 80%.

Fig. 11: Saída em 60%.

Fig. 12: Saída em 40%.

Fig. 13: Saída em 20%.

Fig. 14: Saída desligada.

    Com isso é possível definir qualquer nível de tensão na saída PWM do Arduino Uno, com uma resolução de 8 bits (0 a 255).








sábado, 14 de dezembro de 2019

GeoGebra - Sistema de 3 equações e 3 incógnitas

Para a solução de sistemas, primeiramente é necessário criar uma matriz com os coeficientes das funções, chamada de matriz ampliada, logo depois o comando MatrizEscalonada(MA) dá a solução para o sistema, onde MA é a matriz ampliada que foi criada anteriormente.

Exemplos:
1. Resolver o seguinte sistema de equações:

Para inserir a matriz ampliada, no campo de entrada digite:
MA = {{3,5,0,1},{2,0,1,3},{5,1,-1,0}}

Logo depois insira a matriz escalonada:
Solução = MatrizEscalonada(MA)

Resultando em:


Onde: x = 0,4375,  y = -0,0625 e z = 2,125.

2. Resolver o seguinte sistema de equações:


Para inserir a matriz ampliada, no campo de entrada digite:
MA = {{1,-2,3,-1},{2,-1,2,3},{3,1,2,3}}

Logo depois insira a matriz escalonada:
Solução = MatrizEscalonada(MA)

Resultando em:


Onde: x = 3,1429y = -1,5714 z = -2,4286.

Confira também GeoGebra - Derivada e Integrais



GeoGebra - Derivada e Integrais

O cálculo diferencial e integral, ou simplesmente cálculo, é um ramo importante da matemática, desenvolvido a partir da Álgebra e da Geometria, que se dedica ao estudo de taxas de variação de grandezas (como a inclinação de uma reta) e a acumulação de quantidades (como a área debaixo de uma curva ou o volume de um sólido), e é amplamente utilizado na área de exatas e deixa os alunos de cabelos em pé.
O software auxilia e muito na compreensão dos conceitos envolvidos, como também na sua aplicação. Veja abaixo alguns exemplos de como utilizar o software para esse fim:

Exemplos:

Integral definida

Primeiro digitar a função no software e pressionar enter. Depois, ao começar a digitar a palavra integral aparecerá as opções refentes ao que se pede, como se trata de uma integral definida, selecionar a terceira opção, como na imagem abaixo:


Em função colocar a função f(x), em valor de x inicial, colocar o valor do limite de integração inferior e em valor de x final, colocar o valor do limite de integração superior.
Após preencher os campos e pressionar enter, o resultado se dá como na imagem abaixo:


Integral indefinida

Do mesmo modo, primeiro digitar a função no software e pressionar enter. Depois, ao começar a digitar a palavra integral aparecerá as opções refentes ao que se pede, como se trata de uma integral indefinida, selecionar a primeira opção, como na imagem abaixo:




Em função colocar a função f(x), como no exemplo.
Após preencher o campo com a função e pressionar enter, o resultado se dá como na imagem abaixo:



Derivada
f(x) = x²+1

Assim como na integral, primeiro digitar a função no software e pressionar enter. Depois ao começar a digitar a palavra derivada aparecerá as opções refentes ao que se pede, selecionar a primeira opção, como na imagem abaixo:



Após preencher o nome da função e pressionar enter, o resultado se dá como na imagem abaixo:



Confira também GeoGebra - Comando Função

Fonte:
https://pt.wikipedia.org/wiki/C%C3%A1lculo

quarta-feira, 4 de setembro de 2019

GeoGebra - Comando Função

O software GeoGebra possui vários comandos, entre eles o comando função, que nos permite esboçar o gráfico de funções em um intervalo definido.
Sua forma base está representada abaixo:
Função( , , )

Funções polinomiais
Sabe-se que uma função polinomial é da forma:

Para esboçar o gráfico da função f(x)=3x²-4x+1 no intervalo [-2,2], basta digitar Função( 3x²-4x+1, -2, 2 ) e em seguida pressionar enter. 
Pronto aparecerá o gráfico como mostrado a seguir:


Funções exponenciais
Sabe-se que as funções exponenciais são da forma:
A maneira mais comum com que esta função aparece é quando a = e (número de Euler), ou seja:
Digitando f(x)=exp(x) e pressionando enter temos o gráfico que representa esta função:



Como também é possível através do comando função, digitando por exemplo Função( exp(x), -5, 3 ), o qual aparecerá no intervalo [-5,3] como na imagem abaixo:


Funções trigonométricas

As funções trigonométricas são funções periódicas, ou seja, na sua representação gráfica as funções se caracterizam pela repetição de um padrão.

As principais funções trigonométricas são:
  • Função Seno
  • Função Cosseno
  • Função Tangente
Exemplos:
1- Função seno, expressa por f(x)=sen(x).


Digite Função( sen(x), 0, 2π ).

2- Função cosseno, expressa por f(x)=cos(x).



Digite Função( cos(x), 0, 2π ).

3-Função tangente, expressa por f(x)=tan(x).

Digite Função( tan(x), 0, 2π ).


4- Esboçar o gráfico da função f(x)=sen(x)+cos(x), onde ≤ x ≤ 2π

Digitando Função( sen(x)+cos(x), 0, 2π )


Confira também Software GeoGebra.

Software GeoGebra

GeoGebra (aglutinação das palavras Geometria e Álgebra) é um aplicativo de matemática dinâmica que combina conceitos de geometria e álgebra em uma única interface. Sua distribuição é livre, nos termos da GNU General Public License, e é escrito em linguagem Java, o que lhe permite estar disponível em várias plataformas.



O GeoGebra é um software de matemática dinâmica para todos os níveis de ensino que reúne Geometria, Álgebra, Planilha de Cálculo, Gráficos, Probabilidade, Estatística e Cálculos Simbólicos em um único pacote fácil de se usar. O GeoGebra possui uma comunidade de milhões de usuários em praticamente todos os países. O GeoGebra se tornou um líder na área de softwares de matemática dinâmica, apoiando o ensino e a aprendizagem em Ciência, Tecnologia, Engenharia e Matemática.

História

Foi criado por Markus Hohenwarter para ser utilizado em ambiente de sala de aula. O projeto foi iniciado em 2001, na Universität Salzburg, e tem prosseguido em desenvolvimento na Florida Atlantic University.



O programa permite realizar construções geométricas com a utilização de pontos, retas, segmentos de reta, polígonos etc., assim como permite inserir funções e alterar todos esses objetos dinamicamente, após a construção estar finalizada. Equações e coordenadas também podem ser diretamente inseridas. Portanto, o GeoGebra é capaz de lidar com variáveis para números, pontos, vetores, derivar e integrar funções, e ainda oferecer comandos para se encontrar raízes e pontos extremos de uma função. Com isto, o programa reúne as ferramentas tradicionais de geometria com outras mais adequadas à álgebra e ao cálculo. Isto tem a vantagem didática de representar, ao mesmo tempo e em um único ambiente visual, as características geométricas e algébricas de um mesmo objeto. A partir da versão 5.0 também é possível trabalhar com geometria em três dimensões.


GeoGebra wiki
No GeoGebra wiki estão disponíveis informações sobre como usar o GeoGebra e também contribuir com as suas próprias ideias . Conta com itens como manual do GeoGebra, fórum, tutoriais e eventos.

Exemplos de aplicação do software:


Regressão polinomial


Solução de matrizes

Integral e derivada

E muito mais é possível com a utilização do software, confira também GeoGebra - Comando Função.

Links úteis do GeoGebra
GeoGebra

quinta-feira, 21 de setembro de 2017

Sistemas de numeração: Binário, hexadecimal e decimal



Cada um destes sistemas apresentam sua própria faixa de valores possíveis, e cada um possui uma aplicação específica, dentro da Ciência da Computação.

Sistema de Numeração binário ou de base dois: é um sistema de numeração posicional em que todas as quantidades se representam com base em dois números, ou seja, zero e um (0 e 1).Toda a eletrônica digital e computação estão baseadas no sistema binário.


Sistema de numeração hexadecimal: é um sistema de numeração posicional que representa os números em base 16, portanto empregando 16 símbolos.Os símbolos utilizados no sistema de numeração hexadecimal são:

0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

O sistema de numeração hexadecimal é muito utilizado para representar números binários de uma forma mais compacta, pois é muito fácil converter binários para hexadecimal e vice-versa. Nesse sistema as letras assumem os valores para continuarem os números, ou seja:

0 1 2 3 4 5 6 7 8 9 A B C D E F Hexadecimal

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Decimal           A=10, B=11, C=12, D=13, E=14, F=15

Sistema de numeração decimal: é um sistema de numeração de posição que utiliza a base dez. E é o sistema que usamos no dia a dia.

Conversão de Binário para Hexadecimal e vice-versa


Binário para Hexadecimal:

Um dígito em hexadecimal pode representar um número binário de 4 dígitos, dessa forma, para transformar um binário em hexadecimal, separamos o binário em grupos de 4 bits, começando pela direita.

Exemplo:

 100111001110

1001 1100 1110                    
   9      12    14                          Onde 12 = C, e 14 = E.
   9       C     E 


Então o número binário 100111001110 = 9CE em hexadecimal.

Hexadecimal para Binário:


É o inverso do processo anterior. Cada digito será transformado em um número binário de 4 bits.

Exemplo:

          9CE

   9       C     E
   9      12    14
1001 1100 1110


Então o número hexadecimal 9CE = 100111001110 em binário.

Conversão de Binário para Decimal e vice-versa

Binário para Decimal:

Exemplo:

1001 1100 1110

1 0 0 1 1 1 0 0 1 1 1 0




Ou seja, o número binário 1001 1100 1110 é igual ao número decimal 2510.

Se tratando de um sistema de numeração posicional, cada posição do número binário começando da direita representa um número decimal, e a cada número binário deslocado para a esquerda esse número decimal é multiplicado por dois.

Exemplo:

O número binário 1110 é o mesmo que 8+4+2+0 = 14 em decimal.

8  4  2  1

1  1  1  0

Os valores das posições são muito conhecidos na informática:

... 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

E assim por diante.

Decimal para binário


Basta ir dividindo o número decimal por dois e ao final pegar os restos das divisões do fim para o início.

Exemplo:

Número decimal 14

quarta-feira, 9 de agosto de 2017

Dobrador de tubos

Essa dica é pra quem tem interesse em montar um dobrador de tubos, mas está com dificuldades. Na internet é muito difícil de se encontrar um projeto gratuito, por isso resolvi disponibilizar esse projeto aqui, que foi desenvolvido por mim em parceria com meu irmão.

Licença

Licença Creative Commons
O projeto Dobrador de tubos de Alessandro R. P. da Silva está licenciado com uma Licença Creative Commons - Atribuição-NãoComercial-CompartilhaIgual 4.0 Internacional.


Você pode fazer quase tudo com o projeto, respeitando os itens abaixo:
- não vender;
- as melhorias realizadas também serem compartilhadas sob as mesmas condições;
- se for publicar mencionar os autores e o blog.

Materiais

- Chapas de 1/2"
- 500 mm de ferro maciço redondo de 1"
- 1000 mm de tubo de 3"
- 300 mm de barra roscada 3/4"
- 2 viga U de 6" de 350 mm de comprimento.
- Roldanas para os tubos

Modelagem 3D




















Componentes e cotas



Roldanas fixas

Roldanas móveis

 Cantoneira de apoio lateral para tubo

Cabo e barra roscada da parte móvel

A barra roscada fica entre as duas peças da parte móvel para prender e travar na distância desejada.

 Partes móveis

Partes móveis, onde uma é encaixada na outra para dar o movimento e regular a distância entre as roldanas.



Pino da parte móvel

Pino de 22mm de diâmetro para as roldanas da parte móvel.

Cantoneira de apoio para o tubo

Cantoneira de apoio inferior para os tubos, com um furo oblongo para regulagem da outra cantoneira de apoio lateral.

Base superior

Base superior do dobrador de tubos, onde vão fixadas as partes móveis e fixas com as roldanas.

Pino com chaveta, reforço para as bases e espaçador

Abaixo pode ser visto o pino com chaveta utilizado nas roldanas da parte fixa, também há os reforços das bases e o espaçador, que vai no pino chavetado, para garantir a altura correta das roldanas fixas em relação as roldanas móveis. 

Tubo para a base

Tubo de 3" para ser utilizada para unir as bases.

 Vigas U para a base inferior

São utilizadas duas viga U soldadas unidas, porém podem serem substituídas. Foram utilizadas as vigas pois tínhamos disponível. 


O projeto completo pode ser baixado aqui.
Qualquer dúvida é só perguntar.