Homework

Scaling Up Inclusion: Robotics, a STEM focused Project. Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel

Description
Scaling Up Inclusion: Robotics, a STEM focused Project Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel Alberto Brochado, Eugénio Oliveira, Fernando Coelho 05 Conceito
Categories
Published
of 22
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Related Documents
Share
Transcript
Scaling Up Inclusion: Robotics, a STEM focused Project Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel Alberto Brochado, Eugénio Oliveira, Fernando Coelho 05 Conceito de sensor Sensores são transdutores, ou seja, conversores de grandezas físicas em sinais elétricos correspondentes. Um sensor é um dispositivo que mede o valor de uma grandeza física, como por exemplo, a velocidade, a distância, a pressão, a luz,. Sensores internos: fornecem informação sobre os parâmetros internos, por exemplo, avaliam a carga das baterias, a posição ou a velocidade de uma roda, ou o ângulo. Sensores externos: lidam com a observação do mundo exterior. Sensores de contacto, sensores de proximidade, sensores de força, visão, laser, ultra som, infravermelhos 05 Sensores Luz LDR O LDR, sigla em inglês de Light Dependent Resistor, que significa resistência dependente da luz, nada mais é do que o que o próprio nome diz. Tipicamente, quanto maior a luz incidente nesse componente, menor será sua resistência. As resistências LDr devolvem uma voltagem analógica quando ligadas a uma fonte 5v. O Arduino usa o seu ADC interno para converter num valor digital entre 05 Sensores Ultra som O Sensor ultrassónico HC SR04 é capaz de medir distâncias de 2cm a 4m com ótima precisão e baixo preço. Este módulo possui um circuito pronto com emissor e recetor acoplados e 4 pinos (VCC, Trigger, ECHO, GND) para medição. A operação é simples, envia um sinal ultrassónico inaudível. 05 Sensores temperatura/humidade DHT11 O DHT11 é um sensor de temperatura e humidade que permite fazer leituras de temperaturas entre 0º a 50º Celsius e humidade entre 20 a 90%. 06 Programação Condicionais Condicional completa if (expr) { cmd else { cmd onde: expr representa uma expressão a ser avaliada que pode ser do tipo lógica, relacional ou aritmética. O resultado da avaliação de uma expressão é sempre um valor lógico. cmd comando(s) a ser executado. Dentro da instrução else pode ser executado outro IF 06 Programação Condicionais Exemplos de como podemos usar o condicional IF / ELSE if (ledstate==high) { ledstate=low; else { ledstate=high; digitalwrite(ledpin, ledstate); 06 Programação Condicionais Switch Case O comando Switch/Case é do tipo Seleção/Condição, tal como o IF. Perante uma condição, ele seleciona o que será feito numa lista de possibilidades. switch (expressão) { case valor1: comandos; break; case valor2: comandos; break;... default: comandos; switch (letra) { case S : serial.println( Escolheu a opção SIM ); break; case N : serial.println( Escolheu a opção NÃO ); break;... default: serial.println( Só pode escolher S ou N ); 06 Programação Ciclos For Este tipo de comando de repetição deve ser utilizado quando se sabe a quantidade de vezes que uma determinada instrução deve ser executada. for (contador início; expr ; incremento do contador) { cmd; onde: contador é uma variável do tipo inteiro (int) expr é uma expressão relacional incremento do contador passo de incremento do contador Exemplo FOR 06 Programação Ciclos int vezes = 10; // Quantidade de vezes que a mensagem será impressa no monitor serial int executado = 0; // Quantidade de mensagens já impressas void setup() { Serial.begin(9600); void loop() { for (executado; executado vezes; executado++) { Serial.println( A testar o comando de repeticao for() ); 07 Programação Funções O código de segmentação em funções permite que um programador crie código modular que executa uma tarefa definida e, em seguida, devolva à área do código a partir da qual a função foi chamada . Um caso típico para criar uma função é quando é necessário executar a mesma ação várias vezes num programa. 07 Programação Funções As funções ajudam o programador a manter se organizado. As funções codificam uma ação num só lugar, de modo que a função só precisa ser pensada e depurada uma vez. Isso também reduz as possibilidades de erros na modificação, se o código precisar ser alterado. As funções tornam o programa menor e mais compacto porque as seções de código são reutilizadas muitas vezes. As funções tornam mais fácil de reutilizar o código noutros programas, tornando o mais modular. 07 Programação Funções Exemplo FUNÇÃO Int main() { int x, y = 2, z = 3; y = y + z; x = y; printf ( %i, x); void foo() { int x, y = 2, z = 3; y = y + z; x = y; printf ( %i, x); Int main() { foo (); 07 Programação Funções Criar Cuidado com o nome, nome com significado Primeiro define se só depois é que pode ser usada Funções em C Esta função permite escrever dados na porta serial. Os dados são enviados como um byte os série de bytes. Sintaxe da função: Serial.write(val) Serial.write(str) Parâmetros: val é o valor a enviar com simples byte str é o valor a enviar como série de bytes 08 Programação Trabalhar com librarias As librarias existem porque alguém já se deu ao trabalho de programar funções para determinadas situações. Assim, devemos procurar e utilizar essas librarias. Como adicionar uma libraria ao Arduino IDE? Menu Rascunho/Incluir Libraria/Adicionar Biblioteca.ZIP ou Descompactar o ficheiro ZIP e copiar a pasta para a pasta Libraries existente na pasta de instalação do Arduimo IDE Rever conceitos: INPUT ou INPUT_PULLUP https://www.youtube.com/watch?v=g_i1zhadta0 Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel Alberto Brochado, Eugénio Oliveira, Fernando Coelho Exercício revisão Escreva um novo programa(sketch) que permita ligar 1 LED apenas quando o butão (pushbutton) for premido. Não esquecer as resistências // Definição de variáveis. int LedPin = 11; int PinButton = 2; void setup(){ // inicializar os pinos pinmode(ledpin,output); pinmode(pinbutton,input_pullup); void loop() { if(digitalread(pinbutton) == HIGH) { digitalwrite(ledpin,low); else { digitalwrite(ledpin,high); Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel Exercícios Práticos Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel Alberto Brochado, Eugénio Oliveira, Fernando Coelho 1º Exercício Ler dados no monitor serial Dado um valor inserido no monitor serial e diz qual foi esse valor int valor = 0; void setup() { Serial.begin(9600); // Definição da velocidade de transmissão Serial.println( Digite um numero ); void loop() { If(Serial.available() 0){ valor = Serial.read(); // leitura de dados do monitor serial Serial.print( O numero digitado foi: ); Serial.write(valor); Serial.println(); Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel 3º Exercício int sensor = 0; //Pino analógico em que o sensor está conectado. int valorsensor = 0; //Usada para ler o valor do sensor em tempo real. const int ledverde = 8; const int ledamarelo = 9; const int ledvermelho = 10; void setup(){ //Ativando o serial monitor que exibirá os valores lidos. Serial.begin(9600); //Definindo pinos digitais dos leds como de saída. pinmode(ledverde,output); pinmode(ledamarelo,output); pinmode(ledvermelho,output);. Com um sensor de luz LDR, caso o ambiente esteja bem iluminado o led verde acenderá, caso a iluminação do ambiente for mediana o led amarelo acenderá e caso a iluminação esteja ruim o led vermelho acenderá, Centro de Formação de Associação de Escolas Paços de Ferreira, Paredes e Penafiel 3º Exercício. void loop(){ Com um sensor de luz LDR, caso o ambiente esteja bem iluminado o led verde acenderá, caso a iluminação do ambiente for mediana o led amarelo acenderá e caso a iluminação esteja ruim o led vermelho acenderá, //Lendo o valor do sensor. int valorsensor = analogread(sensor); //Valores da luminosidade podem ser alterados conforme necessidade. //Luminosidade baixa. if (valorsensor 750) { apagaleds(); digitalwrite(ledvermelho,high); //Luminosidade média. if (valorsensor = 750 && valorsensor = 800) { apagaleds(); digitalwrite(ledamarelo,high); //Luminosidade alta. if (valorsensor 800) { apagaleds(); digitalwrite(ledverde,high);.. //Exibindo o valor do sensor no serial monitor. Serial.println(valorSensor); delay(50); //Função criada para apagar todos os leds de uma vez. void apagaleds() { digitalwrite(ledverde,low); digitalwrite(ledamarelo,low); digitalwrite(ledvermelho,low);
Search
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks