ARDUINO E PROTEUS Lendo Sensores Digitais professor Victory Fernandes www.tkssoftware.com/victory ARDUINO E PROTEUS Eletrônica - Sensores Push-Button, Chave On/Off, Fim de Curso Ligação em Normal Aberto – NA Ligação em Normal Fechado - NF Resistores de Pull-up Resistores de Pull-down Arduino + Proteus Lendo NA sensores nas entradas digitais em com pull-up vs. NA com pull-down NF com pull-up vs. NF com pull-down ELETRÔNICA SENSORES PUSH-BUTTON PUSH-BUTTON Sensor mecânico Detectar pressionamentos tipicamente executados por operador Chave não retentiva Pressiona ela fecha e se soltar ela abre o circuito NO PROTEUS CHAVE ON/OFF CHAVE ON/OFF Sensor mecânico Detectar pressionamentos tipicamente executados por operador Chave retentiva Pressiona ela fecha o circuito e fica fechada até haver novo pressionamento NO PROTEUS SENSOR DE FIM DE CURSO SENSOR DE FIM DE CURSO Sensor mecânico Detectar final de curso em abertura e/ou fechamento de portas, identificar presença de objetos etc POR DENTRO... NORMAL ABERTO - NA VS. NORMAL FECHADO - NF SENSOR DE FIM DE CURSO Pode ser instalado em 2 modos: NORMAL ABERTO – NA Quando nenhuma interferência externa é aplicada ao sensor o circuito encontra-se ABERTO! NORMAL FECHADO – NF Quando nenhuma interferência externa é aplicada ao sensor o circuito encontra-se FECHADO! SENSOR DE FIM DE CURSO NA – NORMAL ABERTO +5VDC Microcontrola dor SENSOR DE FIM DE CURSO NA – NORMAL ABERTO +5VDC Microcontrola dor SENSOR DE FIM DE CURSO NA – NORMAL ABERTO Sensor NÃO pressionado Circuito ABERTO mC lê 0 na entrada digital Sensor pressionado Circuito FECHA mC lê 1 na entrada digital SENSOR DE FIM DE CURSO NF – NORMAL FECHADO +5VDC Microcontrola dor SENSOR DE FIM DE CURSO NF – NORMAL FECHADO +5VDC Microcontrola dor SENSOR DE FIM DE CURSO NA – NORMAL FECHADO Sensor NÃO pressionado Circuito FECHADO mC lê 1 na entrada digital Sensor pressionado Circuito ABRE mC lê 0 na entrada digital NO PROTEUS... PROBLEMA DA TENSÃO FLUTUANTE 7482 é a referência de um circuito integrado - CI somador completo de 2 bits C0 A2 A1 B2 B1 ----------------C2 S2 S1 ???? ???? PROBLEMA DA TENSÃO FLUTUANTE No padrão TTL – Transistor Transistor Logic não se pode deixar entradas com tensões flutuante (que não estejam ligadas ao Vcc = 5V ou ao GND=0V) sob pena do sistema não saber qual o nível lógica da entrada e o valor poder flutuar entre 0 e 1 aleatoriamente. Resistores de Pull-Down e Pull-Up resolvem este problema! RESISTORES DE PULL-DOWN E PULL-UP RESISTORES DE PULL-DOWN RESISTORES DE PULL-DOWN Chave ABERTA Vout = GND = 0V mC lê 0 entrada Tipicamente valores altos para drenar rapidamente Ordem de 10kohm tipicamente Chave FECHADA Vout = Vin = 5V mC lê 1 entrada RESISTORES DE PULL-UP RESISTORES DE PULL-UP Tipicamente valores baixos para não dar muita queda de tensão Ordem de 300ohm tipicamente Chave ABERTA Vout = Vin = 5V mC lê 1 entrada Chave FECHADA Vout = GND = 0V mC lê 0 entrada PODE SER FEITO SEM OS RESISTORES? RESISTORES EVITAM O CURTO!! TUTORIAIS EXEMPLO BUTTON PULL-DOWN OU PULL-UP? NO PROTEUS... BOTÃO LEITURA DE ENTRADA DIGITAL BOTÃO LEITURA DE ENTRADA DIGITAL BOTÃO LEITURA DE ENTRADA DIGITAL const int buttonPin = 2; Declara uma constante do tipo inteira com o nome “ButtonPin” e atribue o valor inteiro 2 como conteúdo da mesma. const int victory = 30 const boolean verdade = true int buttonState = 0; Declara uma variável do tipo inteira com o nome “ButtonState” e atribue o valor inteiro 0 como conteúdo da mesma. const int victory = 30 const boolean verdade = true value = digitalread(pin) Lê o nível lógico HIGH (alto) ou LOW (baixo) de um pino de INPUT (entrada) e atribue o valor lido a variável “value”. pin = Qualquer pino do microcontrolador value = HIGH (se pino em nivel Alto; 5V) value = LOW (se pino em nivel Baixo; 0V) if (conditional){} else {} Testa uma condição utilizando operadores de comparação. == testa se igual != testa se diferente < testa se menor do que > testa se maior do que <= testa se menor ou igual >= testa se maior ou igual NO PROTOBOARD... professor Victory Fernandes www.tkssoftware.com/victory