segunda-feira, 25 de janeiro de 2021



Link2fs com Fsx, Display 8 digitos com 7 segmentos, enconder e botão







 


para baixar a biblioteca:

https://github.com/ozhantr/DigitLedDisplay


depois que baixar a biblioteca você vai colocar dentro da pasta de libraries do seu arduino

C:\Program Files (x86)\Arduino\libraries



#include "DigitLedDisplay.h"


#define DIN 8

#define CS 9

#define CLK 10 

#define DEBUG 0


DigitLedDisplay ld = DigitLedDisplay(DIN, CS, CLK);


unsigned long currentTime;

unsigned long lastTime;


unsigned long currentTime1;

unsigned long lastTime1;


const int pinA = 3;

const int pinB = 2;


const int pinC = 11;

const int pinD = 12;


boolean encA;

boolean encB;

boolean lastA = false;


boolean encC;

boolean encD;

boolean lastC = false;


int botao = 7;

int estado_do_botao = 0;

int valor_atual = 1;

  

void setup() { 

  

   pinMode(pinA, INPUT_PULLUP);

   pinMode(pinB, INPUT_PULLUP);

   

   pinMode(pinC, INPUT_PULLUP);

   pinMode(pinD, INPUT_PULLUP);

   

   pinMode(botao, INPUT_PULLUP);


   currentTime = millis();

   lastTime = currentTime;


   currentTime1 = millis();

   lastTime1 = currentTime1;

   

   ld.setBright(6);

   ld.setDigitLimit(8);

   

   Serial.begin(115200);

}

  

String leStringSerial(){

String conteudo = "";

char caractere;

  

  while(Serial.available() > 0) {

    caractere = Serial.read();

    if (caractere != '\n'){

      conteudo.concat(caractere);

    }

    delay(10);

  }

  ld.clear();

  //Serial.print("Recebi: ");

  conteudo.replace("b","");

  conteudo.replace("=","");

  Serial.println(conteudo.toInt());

  ld.printDigit(conteudo.toInt());

  

  return conteudo;

}

  

void loop() {

  if (Serial.available() > 0){

    String recebido = leStringSerial();

  }


   //-----------------------------------------------------

   currentTime = millis();

  if (currentTime >= (lastTime + 5))  {

    encA = digitalRead(pinA);

    encB = digitalRead(pinB);

       if ((!encA) && (lastA)) {

          if (encB){ Serial.println("B12");}else{Serial.println("B11");}

        }

   

    lastA = encA;

    lastTime = currentTime;

  } 

//-------------------------------------------------------


 

  currentTime1 = millis();

 if (currentTime1 >= (lastTime1 + 5))

  {

    

    encC = digitalRead(pinC);

    encD = digitalRead(pinD);

   

    if ((!encC) && (lastC)){

        if (encD){Serial.println("D080");}else{Serial.println("D090");}

    }

    

    lastC = encC;

    lastTime1 = currentTime1;

  }

//-------------------------------------------------------


 estado_do_botao = digitalRead(botao); //Armazena o Estado do botão.

            if ((estado_do_botao == LOW) && (valor_atual == 1))

                {

                    Serial.println("D070");  //d020 se refere ao pino 2 do arduino usado no link2fs

                    delay(200);

                    valor_atual = 0;

                    estado_do_botao = 1;

                }


            if ((estado_do_botao == LOW) && (valor_atual == 0))

                {

                    Serial.println("D070");

                    delay(200);

                    valor_atual = 1;

                    estado_do_botao = 0;

                }


}


quinta-feira, 23 de maio de 2019

A evolução dos computadores



Ábaco
O ábaco é um antigo instrumento de cálculo, formado por uma moldura com bastões ou arames paralelos, dispostos no sentido vertical, correspondentes cada um a uma posição digital (unidades, dezenas,...) e nos quais estão os elementos de contagem (fichas, bolas, contas,...) que podem fazer-se deslizar livremente. Teve origem provavelmente na Mesopotâmia, há mais de 2.500 anos a.C. O ábaco pode ser considerado como uma extensão do ato natural de se contar nos dedos. Emprega um processo de cálculo com sistema decimal, atribuindo a cada haste um múltiplo de dez. Ele é utilizado ainda hoje para ensinar às crianças as operações de somar e subtrair.
Como fazer os cálculos no ábaco?

O cálculo começa à esquerda, ou na coluna mais alta envolvida em seu cálculo, trabalha da esquerda para a direita. Assim, se tiver 548 e desejar somar com 637, primeiro colocará 548 na calculadora. Daí, adiciona 6 ao 5. Segue o padrão 6 = 10 – 4 por remover o 5 na vara das centenas e adicionar 1 na mesma vara (- 5 + 1 = - 4) daí, adicione uma das contas de milhares à vara da esquerda. Daí passa o três ao quatro, o sete ao oito, no ábaco aparecerá a resposta: 1.185.

Por operar assim, da esquerda para a direita, o cálculo pode ser iniciado assim que souber o primeiro dígito. Na aritmética mental ou escrita, o cálculo começa a partir das unidades ou do lado direito do problema.


1946: é anunciada a criação do primeiro computador digital eletrônico de grande escala do mundo, o ENIAC (Electrical Numerical Integrator and Calculator). 

 

1951 a 1959: surgem os computadores de primeira geração. Esses eram capazes de calcular com uma velocidade de milésimos de segundo, além de serem programados em linguagem de máquina.

1951 - Em 14 de junho foi entregue ao "U.S. Census Bureau" o primeiro computador produzido comercialmente, para uso civil e fabricado em série, o UNIVAC I ("UNIVersal Automatic Computer") encomendado pelo Censo dos Estados Unidos e desenvolvido pela "Remington Rand", sob a liderança de J. Presper Eckert e John W. Mauchly.


A máquina usava programa armazenado e um compilador. Ocupava 32,5 metros quadrados do escritório e pesava pouco mais de 7,2 toneladas. Era acompanhado de um equipamento para impressão chamado UNIPRINTER, que consumia 14.000 W de energia.
Trabalhava com caracteres alfanuméricos e tinha periféricos operacionalmente independentes. Era programado ajustando-se cerca de 6.000 chaves e conectando-se cabos a um painel. O UNIVAC possuía uma frequência de “clock” de 2,25 Mhz e podia calcular números de dez dígitos, com uma velocidade de 100.000 cálculos por segundo, além de poder gravar em sua fita magnética dados com a velocidade de 40.000 dígitos binários por segundo. Utilizava diodos de cristal e memória de mercúrio e uma fita magnética como memória. Tinha 5.000 tubos de vácuo e era capaz de realizar até 1.905 operações por segundo e seu preço chegou a US$1 milhão. Tinha um teclado que era usado para controlar o console. A entrada de dados era feita predominantemente com o uso dos cartões perfurados. A saída de dados era feita via linhas de impressão como uso da máquina de escrever para maior rapidez.
Foram vendidas 46 unidades do UNIVAC Modelo I, tendo sido o primeiro computador que armazenava programas e estava disponível comercialmente.

1955 - O TRADIC, o primeiro computador totalmente transistorizado, foi anunciado pelos laboratórios AT&T Bell e criado para a Força Aérea Americana. Possuía cerca de 800 transistores ao invés dos antigos tubos de vácuo, o que permitia trabalhar com menos de 100 Watts de consumo de energia. Com os transistores, os computadores tornaram-se mais rápidos leves e econômicos.

 1956 - a IBM produziu o computador 305 RAMAC, o primeiro a incluir uma unidade fixa de disco rígido, o 350 Disk Storage, não sendo possível retirá-la. Contava com 50 discos magnéticos que rodavam com velocidade de 1,2 mil RPM, tinha capacidade de armazenamento de 5 MB e pesava quase 1 tonelada.


1957 o engenheiro Kenneth Olsen fundou a "Digital Equipment Corporation" (DEC) que em 1961 lançou no mercado o PDP-1 (Programmed Data Processor 1) que tinha 4096 palavras de 18bits e clock de 200KHz. A capacidade de processamento do PDP-1 era a metade do poder computacional do IBM 7090,  que era o computador mais rápido do mundo naquela época e custava alguns milhões de dólares. Entretanto, o preço do PDP-1 era muito menor, na ordem de milhares de dólares. Assim, a DEC vendeu dezenas dessas máquinas, dando origem à indústria dos minicomputadores. Foi a primeira máquina que ficou conhecida como minicomputador.




1959 a 1965: surgem os computadores de segunda geração, com capacidade de calcular com uma velocidade de microssegundos, sendo programados em linguagem montadora.
1965 a 1975: nascem os computadores da terceira geração. Esses computadores passam a ter diversos componentes miniaturizados e montados em um único CHIP, sendo capazes de calcular em nanossegundos, com uma linguagem de programação de alto nível, orientada para os procedimentos.
A partir de 1975, dizemos que os computadores entraram na sua quarta geração (e estão até hoje). Encontram-se nesta geração os que se caracterizam por circuitos integrados em longa escala, LSI ( produzidos pela Intel ).
1966 - A "Hewlett-Packard" (HP) começou a produzir computadores para uso geral, pois o HP-2115 oferecia um alto poder de processamento. Ele suportava uma grande variedade de linguagens, entre elas Basic, Algol e FORTRAN.


Jack St. Clair Kilby que, cerca de 10 anos antes, tinha desenvolvido um dos primeiros circuitos integrados, patenteou a primeira calculadora eletrônica portátil para demonstrar o potencial de miniaturização dos eletrônicos com esses circuitos. A calculadora efetuava as 4 operações (somar, subtrair, multiplicar e dividir), trabalhava com algumas casas decimais e admitia números com até 12 algarismos. Utilizava uma bateria de prata-zinco e imprimia o resultado em um pequeno rolo de papel. O modelo só entrou em produção em abril de 1970, quando a "Texas Instruments" lançou o produto no Japão, em associação com a "Canon". A calculadora foi denominada "Pocketronic" e custava US$ 400.
1974 - O microprocessador estreava no mundo dos computadores a bordo de um Altair 8800. Pequena (para a época), essa máquina abriu caminhos para a revolução do computador pessoal. 




1975

Em fevereiro, Bill Gates e Paul Allen desenvolvem a versão mais aperfeiçoada da linguagem Basic (criada em 1963, no Darthmouth College) para microcomputadores, o Visual Basic. As linguagens anteriores eram adequadas aos grandes e médios computadores. Em abril, a dupla funda a Microsoft, que se torna a maior e mais importante companhia de software do mundo.

- A primeira rede comercial foi implantada, que era equivalente à ARPANET.
- Foi anunciado o Altair 8800, baseado em um microprocessador da Intel 8080.
- Lee Felsentein inventou o VDM (módulo de indicador visual).
- Foi lançado o Tandem-16, o primeiro computador para transação on-line de processos.

1976 

- Steve Wozniak e Steve Jobs terminam o projeto do micro Apple I, o primeiro microcomputador feito para ser vendido em grande escala, e fundam a Apple Computer Company.
- The Cray I notabilizou-se como o primeiro processador vetorial comercial.
- Gary Kildall desenvolveu o CP/M, um sistema operacional para computadores pessoais.

1976 - A "Scelbi Computer Consulting Company" ofereceu o primeiro kit de microcomputador nos Estados Unidos usando um microprocessador, baseado no Intel 8008, o Scelbi-8H, com 1 KB de memória programável. Podiam ser adicionados 15 KBs.



1977 

- Surge o Commodore PET (Personal Eletronic Transactor), um dos primeiros computadores pessoais que foi lançado no ano.
- O Apple II apresenta características inovadoras: circuito impresso em sua placa-mãe, fonte de alimentação, teclado e cartuchos para jogos.
- Aparece mais um computador pessoal, o Tandy Radio Shack's (TRS-80), que vende no primeiro ano mais de 10 mil unidades.
- O governo dos EUA adota o padrão de encriptografia de dados da IBM (chave para destravar mensagens codificadas, que servem para proteger os dados confidenciais dentro de suas agências).
1977 – Apple II – Foi o primeiro microcomputador tal como o conhecemos hoje. Pela primeira vez, a máquina tinha um teclado e podia ser ligada em um monitor, no caso, uma TV.


1978

- O VAX 11/780, da Digital Equipment Corporation, caracterizou-se por ser uma máquina capaz de processar até 4.3 gigabytes de memória virtual, provando ser o mais rápido dos minicomputadores da época. 



- O disco flexível de 5 ¼" transformou-se na medida padrão de software para computadores pessoais, logo após que a Apple e o Tandy Radio Shack's adaptaram seus softwares para este formato. 




1979 

- A Motorola inventa um microprocessador, o 68000, que se mostra mais veloz que os concorrentes. 



- Daniel Bricklin e Robert Frankston, programadores da Universidade Harvard, desenvolvem um programa que transforma os computadores comerciais em pessoais, o Visicalc. 



1980 

- O primeiro Hard Disk Drive para microcomputadores é capaz de armazenar 4,4 megabytes de dados e pesava 1 tonelada. Foi produzido pela Seagate Technology. 




- A Phillips desenvolve o primeiro disco óptico de armazenamento de dados. Tinha uma capacidade sessenta vezes maior que o disco de 5 ¼".
- Um computador habilitado com alto desempenho na busca de informações é inventado por John Shoch, da Xerox.

1981 

- A IBM lança o PC-5150, o antecessor de todos os micros existentes. Tinha 64 Kbytes de memória e velocidade de 4,77 megahertz. O MS-DOS foi o software utilizado pelo PC-5150, o que proporcionou uma aliança entre a IBM e a Microsoft 



- O primeiro computador portátil é lançado, o Osborne I. 



- A primeira estação de trabalho, a DN100, foi desenvolvida pela Apollo Computer. Sua capacidade era superior a muitos micros de preço equivalente. 




1982

- O lotus 123 é desenvolvido por Mitch Kapor para o PC da IBM. 



- O filme "Tron", da Disney, fez com que a utilização dos gráficos gerados por computadores em filmes sofresse um aumento.

1983

- A Apple desenvolve o primeiro computador pessoal com interface gráfica. 



- A Compac lança seu primeiro PC com software da IBM. 



- O Windows e o Word são apresentados pela Microsoft. 



- O MIDI (Musical Instrument Digital Interface) foi introduzido na North American Music Manufactures em L.A.

1984

- A Apple lança o Macintosh, o primeiro computador com mouse e interface gráfica. A utilização do disquete de 3 ½" cresceu devido à sua utilização no Macintosh. 



- A IBM lança o PC-AT, mais rápido que o original, tornou-se um grande sucesso por seu ótimo desempenho e grande capacidade de armazenamento. 



- Willian Gigson inventa o termo Ciberespaço, no livro Neuromancer.

1985 

- A Microsoft lança uma versão do Windows e do Word que rodam em computadores Macintosh.
- A Internet ganha força com a ligação de cinco grandes computadores de universidades americanas com o NFSNET.
- O mercado de CDs de música aumenta com a alta capacidade de armazenamento de CD-ROMs.
- A linguagem de programação C++ surge e domina a indústria de computação.

1986

- O estudo sobre a Inteligência Artificial é impulsionado quando Daniel Hillis desenvolve o conceito de conexões paralelas.

1987

- A IBM lança o PS/2 fabricado com drives de 3 1/2”. 


- Willian Alkinson projeta o Hypercard (software que simplifica o uso do computador em aplicações domésticas)
- O microprocessador 68030 da Motorola é desenvolvido.



1988

- A companhia NeXT é fundada por Steve Jobs, que foi o co-fundador da Apple.
- Tin Toy, da Pixar, ganha o Oscar de melhor desenho animado em curta metragem utilizando os recursos de animação de computadores.

1989

- A Intel e a Motorola lançam novos processadores com mais de um milhão de transistor
- O jogo SimCity é lançado. Ele utiliza diversos dispositivos de simulação.
- Realidade Virtual foi o tema da convenção de Siggraph´s.

1990 



- Há uma atualização do Windows. O Windows 3.0, que foi lançado em 22 de maio, é compatível com o DOS.
- Nasce a World Wide Web do desenvolvimento do HTML. (www)

1991

- Uma aliança entre a Apple, a IBM e a Motorola produz o Power PC.

1992

- A versão 3.1 do Windows chega às lojas.
- O candidato à vice-presidência dos EUA, Al Gore lidera um projeto para permitir a entrada de qualquer cidadão à Internet.

1993

- O Pentium, da Intel, é lançado. Tem 3,1 milhões de transistor, memória de 4 gigabytes e velocidade de 66 megahertz.

- O PC 486 da IBM incorpora o Windows 3.1. 

1994 

- O Netscape Communications é fundado e o primeiro browser torna-se disponível, criando um crescimento de surfistas na Web.

1995

- "Toy Story" foi o primeiro longa feito totalmente com animação de computador.
- O Windows 95 é lançado.
- A linguagem Java é descoberta.
- a Netscape amplia suas conexões na Internet.

1996

- O Pentium Pro é lançado.

1997

- O Netscape Navigator 2.0 é o primeiro browser com suporte para o Java Script.
- Um computador de IBM, o Deep Blue, ganha do campeão mundial de xadrez Gary Kasparov.

1998

- É lançado o Pentium II.
- A versão do Windows 98 chega às lojas. 
1999 
- O Linux é lançado pelo finlandês Linus Torevald.


2000 

- A Intel lança uma quantidade limitada de Pentium III. É apresentado o Windows 2.000
- É apresentado o Windows Millenium

2001

- O Linux Kernel é lançado.
- O Pentium 4 é apresentado 
2002 
- É apresentado o Windows XP

2006 

- O Pentium Duo Core é Apresentado
- O Windows Vista é apresentado em versões de teste.

Nintendo lança o Wii
Sony lança o Playstation 3


2007 
- Microsoft lança o Windows Vista a uso doméstico
- Apple lança o iPhone


2008 
- 8 de Agosto um Windows responsável pelas imagens na abertura dos Olimpíadas de Pequim simplesmente apresenta uma BSOD
- Começa-se a construção de um vídeo sobre a história dos computadores.

2009
- Microsoft lança o Windows 7
- Microsoft lança o Office 2010
- USB 3.0

2010
- Apple apresenta o iPad


2011
- Apple apresenta a tecnologia de E/S Thunderbold com a Intel em MacBooks Pro

- Apple apresenta iPad 2 e iOS 4.3




Fonte:

quinta-feira, 12 de outubro de 2017

Resolvido Link2fs com PMDG ou Wilco ou qualquer outra aeronave fs2004 com Arduino

Olá pessoal

Se você tentou usar o Link2fs com o PMDG deve ter ficado frustado pois o link2fs na sua configuração padrão só funciona com a aeronaves Padrão do simulador. Mas é possível usar o Link2fs com o PMDG ou outra aeronave que você instalou.

Enfim eu consegui e gostaria de compartilhar com vocês como usar o link2fs com o PMDG ou qualquer outra aeronave com o arduino.

Leia tudo com muita atenção que é muito importante para você fazer o seu Home cockpit.

Meu primeiro MCP funcional.





Primeiro Passo - lembre-se que existe uma tecla para cada comando que você quiser fazer no simulador. e se não tiver você pode fazer uma macro.

https://www.youtube.com/watch?v=__of5EEZzvc

Seguindo desse principio utilizaremos o Link2fs na parte de Key. conforme imagem abaixo.


Vejamos o exemplo do PMDG a tecla de atalho para Increase Curso é CTRL+SHIFT+D

Agora vamos usar essa informação para acionarmos qualquer comando do simulador.
ATENÇÃO AGORA!!
Não esqueça que dependendo da Versão do windows que vocês está usando talvez seja necessário executar o Link2fs como administrador e com modo de compatibilidade do Windows Vista.
1 - clicar em ENTER PROGRAMER MODE
2 -  indicar qual o pino do arduino que você quer usar por exemplo o pino 7 do arduino será escrito como 07.
3 - Inserir as teclas referentes para executar o comando


veja que a imagem acima CTRL+SHIFT+D é igual a D070 que é o pino 7 do arduino, então quando eu pressionar o botão ligado no pino 7 eu imprimo D070. Veja no código Abaixo.



agora o código do arduino para encoder e botões que.

Depois é só fazer os ajustes necessários.


// encoder 1
unsigned long currentTime;
unsigned long lastTime;

//encoder 2
unsigned long currentTime1;
unsigned long lastTime1;

//encoder 3
unsigned long currentTime2;
unsigned long lastTime2;


// encoder
const int pinA = 3; // número do pino
const int pinB = 4;


const int pinC = 8;
const int pinD = 9;


const int pinE = 11;
const int pinF = 12;

// Storing the readings

boolean encA;
boolean encB;
boolean lastA = false;

boolean encC;
boolean encD;
boolean lastC = false;

boolean encE;
boolean encF;
boolean lastE = false;

// BOTÃO SPEED
int botao = 2;
int estado_do_botao = 0;
int valor_atual = 1;

// BOTÃO VER SPEED
int botao1 = 10;
int estado_do_botao1 = 0;
int valor_atual1 = 1;

// BOTÃO APP
int botao2 = 7;
int estado_do_botao2 = 0;
int valor_atual2 = 1;

// BOTÃO VNAV
int botao3 = 5;
int estado_do_botao3 = 0;
int valor_atual3 = 1;

// BOTÃO LNAV
int botao4 = 6;
int estado_do_botao4 = 0;
int valor_atual4 = 1;

// BOTÃO CMD A
int botao5 = 13;
int estado_do_botao5 = 0;
int valor_atual5 = 1;


void setup()
       {
             pinMode(pinA, INPUT_PULLUP);
             pinMode(pinB, INPUT_PULLUP);
             pinMode(pinC, INPUT_PULLUP);
             pinMode(pinD, INPUT_PULLUP);
             pinMode(pinE, INPUT_PULLUP);
             pinMode(pinF, INPUT_PULLUP);
             pinMode(botao, INPUT_PULLUP);
             pinMode(botao1, INPUT_PULLUP);
             pinMode(botao2, INPUT_PULLUP);
             pinMode(botao3, INPUT_PULLUP);
             pinMode(botao4, INPUT_PULLUP);
             pinMode(botao5, INPUT_PULLUP);
              currentTime = millis();
              lastTime = currentTime;

              currentTime1 = millis();
              lastTime1 = currentTime1;

              currentTime2 = millis();
              lastTime2 = currentTime2;
             Serial.begin(115200);
       }
      
void loop()
      {
            // BLOCO DO BOTÃO SPEED
            estado_do_botao = digitalRead(botao); //Armazena o Estado do botão.
            if ((estado_do_botao == LOW) && (valor_atual == 1))
                {
                    Serial.println("D020");  //d020 se refere ao pino 2 do arduino usado no link2fs
                    delay(200);
                    valor_atual = 0;
                    estado_do_botao = 1;
                }

            if ((estado_do_botao == LOW) && (valor_atual == 0))
                {
                    Serial.println("D020");
                    delay(200);
                    valor_atual = 1;
                    estado_do_botao = 0;
                }


                
           // BLOCO DO BOTÃO VERTICAL SPEED
            estado_do_botao1 = digitalRead(botao1); //Armazena o Estado do botão.
            if ((estado_do_botao1 == LOW) && (valor_atual1 == 1))
                {
                    Serial.println("D100");
                    delay(200);
                    valor_atual1 = 0;
                    estado_do_botao1 = 1;
                }

            if ((estado_do_botao1 == LOW) && (valor_atual1 == 0))
                {
                    Serial.println("D100");
                    delay(200);
                    valor_atual1 = 1;
                    estado_do_botao1 = 0;
                }

                 // BLOCO DO BOTÃO APP
            estado_do_botao2 = digitalRead(botao2); //Armazena o Estado do botão.
            if ((estado_do_botao2 == LOW) && (valor_atual2 == 1))
                {
                    Serial.println("D070");
                    delay(200);
                    valor_atual2 = 0;
                    estado_do_botao2 = 1;
                }

            if ((estado_do_botao2 == LOW) && (valor_atual2 == 0))
                {
                    Serial.println("D070");
                    delay(200);
                    valor_atual2 = 1;
                    estado_do_botao2 = 0;
                }
  // BLOCO DO BOTÃO VNAV
            estado_do_botao3 = digitalRead(botao3); //Armazena o Estado do botão.
            if ((estado_do_botao3 == LOW) && (valor_atual3 == 1))
                {
                    Serial.println("D060");
                    delay(200);
                    valor_atual3 = 0;
                    estado_do_botao3 = 1;
                }

            if ((estado_do_botao3 == LOW) && (valor_atual3 == 0))
                {
                    Serial.println("D060");
                    delay(200);
                    valor_atual3 = 1;
                    estado_do_botao3 = 0;
                }
                
  // BLOCO DO BOTÃO LNAV
            estado_do_botao4 = digitalRead(botao4); //Armazena o Estado do botão.
            if ((estado_do_botao4 == LOW) && (valor_atual4 == 1))
                {
                    Serial.println("D060");
                    delay(200);
                    valor_atual4 = 0;
                    estado_do_botao4 = 1;
                }

            if ((estado_do_botao4 == LOW) && (valor_atual4 == 0))
                {
                    Serial.println("D060");
                    delay(200);
                    valor_atual4 = 1;
                    estado_do_botao4 = 0;
                }
// BLOCO DO BOTÃO CMD A
            estado_do_botao5 = digitalRead(botao5); //Armazena o Estado do botão.
            if ((estado_do_botao5 == LOW) && (valor_atual5 == 1))
                {
                    Serial.println("D130");
                    delay(200);
                    valor_atual5 = 0;
                    estado_do_botao5 = 1;
                }

            if ((estado_do_botao5 == LOW) && (valor_atual5 == 0))
                {
                    Serial.println("D130");
                    delay(200);
                    valor_atual5 = 1;
                    estado_do_botao5 = 0;
                }

                

// PRIMEIRO BLOCO IAS 3/4 ENCODER
  currentTime = millis();
  if (currentTime >= (lastTime + 5))  {
    encA = digitalRead(pinA);
    encB = digitalRead(pinB);
       if ((!encA) && (lastA)) {
          if (encB){ Serial.println("D030");}else{Serial.println("D040");}
        }
   
    lastA = encA;
    lastTime = currentTime;
  } 


// SEGUNDO BLOCO ALT 8/9 ENCODER
  currentTime1 = millis();
 if (currentTime1 >= (lastTime1 + 5))
  {
    
    encC = digitalRead(pinC);
    encD = digitalRead(pinD);
   
    if ((!encC) && (lastC)){
        if (encD){Serial.println("D080");}else{Serial.println("D090");}
    }
    
    lastC = encC;
    lastTime1 = currentTime1;
  }
  // TERCEIRO BLOCO VS 11/12
  currentTime2 = millis();
 if (currentTime2 >= (lastTime2 + 5))
  {
    
    encE = digitalRead(pinE);
    encF = digitalRead(pinF);
   
    if ((!encE) && (lastE)){
        if (encF){Serial.println("D110");}else{Serial.println("D120");}
    }
    
    lastE = encE;
    lastTime2 = currentTime2;
  }              
}



https://www.youtube.com/watch?v=9_B5ija21-o


sexta-feira, 20 de março de 2015

Criptografia

É de um conjunto de regras que visa codificar a informação de forma que só o emissor e o receptor consiga decifrá-la. Uma explicação sobre o que é criptografia. O termo Criptografia surgiu da fusão das palavras gregas Kryptós e gráphein. O envio e o recebimento de informações sigilosas é uma necessidade antiga, que existe há centenas de anos. E daí a criptografia tornou-se uma ferramenta essencial para que apenas o emissor e o receptor tenham acesso livre às informações. Este artigo tem por objetivo dar uma abordagem introdutória à criptografia, mostrando os aspectos e conceitos mais importantes.

O termo Criptografia surgiu da fusão das palavras gregas "Kryptós" e "gráphein", que significam "oculto" e "escrever", respectivamente. Trata-se de um conjunto de regras que visa codificar a informação de forma que só o emissor e o receptor consiga decifrá-la. Para isso varias técnicas são usadas, e ao passar do tempo modificada, aperfeiçoada e o surgimento de novas outras de maneira que fiquem mais seguras.

Na computação, a técnica usada são a de chaves, as chamadas “CHAVES CRIPTOGRÁFICAS”, Trata-se de um conjunto de bit’s baseado em um algoritmo capaz de codificar e de decodificar informações. Se o receptor da mensagem usar uma chave diferente e incompatível com a do emissor ela não conseguira ter a informação.
    A primeira técnica de criptografia usava apenas um algoritmo de decodificação, assim bastava o receptor de o algoritmo para decifrá-la, porem se um intruso conhecesse esse algoritmo poderia decifrar a informações caso capturá asse os dados criptografados. Ainda existe outro problema imagine:
    Se a pessoa A tivesse que enviar uma informação para a pessoa B, e a pessoa C tivesse que receber uma informação da pessoa A, mas a pessoa C não pode saber a informação passada a pessoa B,mas para a pessoa B e a pessoa C obterem a informação precisaria ter o algoritmo, assim teríamos que ter mais que um algoritmo.
      Com o uso de chaves, um emissor pode usar o mesmo algoritmo (o mesmo método) para vários receptores. Basta que cada um receba uma chave diferente. Além disso, caso um receptor perca ou exponha determinada chave, é possível trocá-la, mantendo-se o mesmo algoritmo.
      Por meio do uso da criptografia você pode:
      • proteger os dados sigilosos armazenados em seu computador, como o seu arquivo de senhas e a sua declaração de Imposto de Renda;
      • criar uma área (partição) específica no seu computador, na qual todas as informações que forem lá gravadas serão automaticamente criptografadas;
      • proteger seus backups contra acesso indevido, principalmente aqueles enviados para áreas de armazenamento externo de mídias;
      • proteger as comunicações realizadas pela Internet, como os e-mails enviados/recebidos e as transações bancárias e comerciais realizadas.

      terça-feira, 17 de março de 2015

      Redes Wireless

      Hoje com a grande demanda de aparelhos portateis como tablets e smarphone. ficou inimaginavel o mundo hoje com redes sem fio. como todos esses equipamento demandam de acesso a internet. a necessidade de se concectar a todo o tempo e em todo lugar é essencial as redes sem fio Wi-Fi.

      Existem alguns padrões:

      802.11b: Frequência entre 2,4 e 2,485 GHZ e Velocidades de 11 Mbps.

      802.11g: Frequência entre 2,4 e 2,485 GHZ e Velocidades de 54 Mbps.

      802.11a: Frequência entre 5,1 e 5,8 GHZ e Velocidades de 54 Mbps.

      802.11n: Frequência entre 2,4 e 5 GHZ e Velocidades de 150 Mbps.

      segunda-feira, 9 de março de 2015

      Redes de computadores é a comunicação entre dois ou mais terminais de computadores, impressoras, repetidores, pontes, roteadores. Seria praticamente difícil de imaginar como seria nossos dias hoje sem a rede de computadores. Agora imagine os benefícios e as vantagens: Compras pela internet, Pagamento de contas, Redes Sociais, WhatsApp.

      Topologia e tamanho das redes

      as redes podem ser divididas das seguintes formas

      Rede Barramento
      A desvantagem desse tipo de rede é que se o cabo se romper várias máquinas ficarão sem comunicação.
      E também a comunicação é de uma máquina de cada vez, enquanto estiver se comunicando na redes as demais devem esperar terminar a comunicação para então iniciar outra comunicação.

      Topologia de Anel

      O próprio nome sugere uma formação em círculo dando origem a um anel físico.

      Topologia de Estrela

      É a topologia mais utilizada hoje, nesse tipo de rede utiliza-se um Switch. A grande vantagem nesse tipo de rede é que se um cabo der problema, apenas aquele computador ficará sem funcionar na rede. E também é uma rede de fácil gerenciamento e Barata.

      Topologia de Mesh

      Muito pouco utilizada por ser bastante cara e dispendioso, todos o computadores estão conectados entre si.



      Agora as Redes quanto ao tamanho:

      As redes podem ser classificadas como LAN. MAN, WAN.

      LAN - Local Area Network - Rede Local tipo um Escritório.

      MAN - Metropolitan Area Network - São redes maiores capazes de chegar a outras cidades, tipo um fábrica com algumas filiais.

      WAN - Wide Area Network - A internet em si é um exemplo são grandes redes capazes de chegar em outros países e até mesmos continentes.

      Serviços de uma Rede

      Existem dois tipos de serviços que podem ser compartilhado em um a rede:

      Pear-to-Pear (Ponto a ponto)
      Cliente servidor (Multiponto)

      Modelo OSI (Open System Interconection)

      Funciona da seguinte forma:


      Camada Aplicação: Funções especializadas (transferência de arquivos, terminal virtual, e-mail).
      Camada Apresentação: Formatação de dados e conversão de caracteres e códigos.
      Camada Sessão: Negociação e estabelecimento de conexão com outro nó.
      Camada Transporte: Meios e métodos para a entrega de dados ponta-a-ponta.
      Camada Rede: Roteamento de pacotes através de uma ou várias redes.
      Camada Enlace ou Link: Detecção e correção de erros introduzidos pelo meio de transmissão.
      Camada Física: Transmissão dos bits através do meio de transmissão.

      TCP/IP

      O TCP/IP (Transmission Control Protocol / Internet Protocol ) é o protocolo de rede mais utilizado atualmente, na verdade o TCP é um conjunto de protocolos que contem uma coleção de serviços e especificações que fornecem e fazem o gerenciamento do acesso ao hardware. Diferente do Modelo OSI que tem sete camadas o Protocolo TCP/IP tem 4 camadas conforme podemos ver abaixo: 
      O protocolo é uma regra para que os hosts possam se comunicar.
      Esse grupo é dividido em quatro camadas: aplicação, transporte, rede e interface. Cada ma delas é responsável pela execução de tarefas distintas. Essa divisão em camadas é uma forma de garantir a integridade dos dados que trafegam pela rede.
      Aplicação
      Essa camada é utilizada pelos programas para enviar e receber informações de outros programas através da rede. Nela, você encontra protocolos como SMTP (para email), FTP (transferência de arquivos) e o famoso HTTP (para navegar na internet). Uma vez que os dados tenham sido processados pela camada de aplicação, eles são enviados para a divisão abaixo.
      Transporte e Rede
      A camada de transporte é responsável por receber os dados enviados pelo grupo acima, verificar a integridade deles e dividi-los em pacotes. Feito isso, as informações são encaminhadas para a camada internet, logo abaixo dela. Na Rede, os dados empacotados são recebidos e anexados ao endereço virtual (IP) do computador remetente e do destinatário. Agora é a vez dos pacotes serem, enfim, enviados pela internet. Para isso, são passados para a camada Interface.

      Como a internet começou?

      A rede mundial de computadores, ou Internet, surgiu em plena Guerra Fria. Criada com objetivos militares, seria uma das formas das forças armadas norte-americanas de manter as comunicações em caso de ataques inimigos que destruíssem os meios convencionais de telecomunicações. Nas décadas de 1970 e 1980, além de ser utilizada para fins militares, a Internet também foi um importante meio de comunicação acadêmico. Estudantes e professores universitários, principalmente dos EUA, trocavam idéias, mensagens e descobertas pelas linhas da rede mundial.


      Em 57 foi criado o conceito de terminais de acesso conectados remotamente ao computador principal e podemos considerar o início do desenvolvimento das redes de computadores, também conhecido como Switch.