Programa da Disciplina

O curso está previsto para 14 aulas onde em cada uma delas o aluno irá aprender um determinado recurso oferecido pelo Arduino. A proposta é que esse recurso seja imediatamente aplicado (aprender fazendo) e que a cada nova aula o aluno aumente o seu repertório. Ao fim do curso ele deverá juntar os recursos aprendidos para conceber um produto ou robô. A sequência de aulas previstas é a seguinte:

Aula 1 – Introdução aos Computadores

Objetivo especifico: entender o que é um computador, como eles funcionam e refletir sobre a pertinência de programá-los.

Conhecimentos específicos: uma breve história dos computadores (das primitivas máquinas mecânicas de calcular, passando pela máquina de Babbage e o ENIAC, aos atuais PCs), o conceito de hardware e software, introdução a linguagens de programação e sua sintaxe.

Conhecimentos interdisciplinares:

Ciências Humanas: compreensão do estado das coisas atuais através da sucessão dos eventos passados (processo histórico).

Linguagens: a função sintática dos termos de uma oração na Língua Portuguesa e a transposição desse conceito para as linguagens de programação. Vocábulos da Língua Inglesa.

Aula 2 – Start: instalação da IDE do Arduino (aplicativo) e o nosso primeiro programa: acender e piscar um led

Objetivo especifico: instalar a IDE do Arduino no computador do aluno, produzir e carregar um programa para Arduino.

Conhecimentos específicos: instalação da IDE no computador, estabelecer uma conexão entre o computador e a placa de desenvolvimento, compreender a placa de desenvolvimento e suas diversas portas, a sintaxe da linguagem C, comentários: seu uso e importância, a estrutura de um programa para o Arduino, procedimentos para configurar as portas do Arduino com a função “pinMode()”, noções de algoritmo, uso das portas como saída de dados e uso das funções “digitalWrite()” e “delay()”.

Conhecimentos interdisciplinares:

Linguagens: a função sintática dos termos nas linguagens de programação: uso prático. Vocábulos da Língua Inglesa.

Matemática: noção de algoritmo.

Aula 3 – Sofisticando a experiência anterior: introduzindo meios para controlar o led

Objetivo especifico: desenvolver um programa para controlar o led utilizando uma e duas portas (botões).

Conhecimentos específicos: uso das portas como entrada de dados, procedimentos para leitura de dados, a função “pinMode()” na configuração “INPUT_PULLUP”, conceito de variáveis e seus tipos (inteiros, reais, caracteres…), representação de grandezas (sistemas numéricos: decimal, hexadecimal e binário – fundamentos), declarar e fazer uso de variáveis na linguagem C, alteração no valor de uma variável utilizando operadores lógicos, a função condicional “if()” e como essa função avalia os operadores lógicos: comparação (<, >, =…) e booleanos (E, OU e Não).

Conhecimentos interdisciplinares:

Matemática: reforço na noção de algoritmo, representação de grandezas, expressões lógicas e conjuntos numéricos.

Aula 4 – Ampliando a primeira experiência: desenvolver um semáforo

Objetivo especifico: desenvolver um programa para controlar um semáforo de duas vias .

Conhecimentos específicos: análise da sequência de um semáforo e os conhecimentos que foram desenvolvidos na primeira experiência dando-lhes agora um sentido mais prático.

Conhecimentos interdisciplinares:

Matemática: reforço na noção de algoritmo.

Linguagens: formas de comunicação não verbal.

Aula 5 – Sofisticando o semáforo: acrescentar uma passagem para pedestre

Objetivo especifico: juntar os conhecimentos das duas aulas anteriores desenvolvendo um programa que controle um semáforo de duas vias com passagem para pedestre.

Conhecimentos específicos: analise da sequência de um semáforo com passagem para pedestre, declaração e uso das funções na linguagem C, fazer uso das interrupções com a função “attachInterrupt()”, desvios condicionais e retornos nos algoritmos.

Conhecimentos interdisciplinares:

Linguagens: reforço da comunicação não verbal.

Matemática: reforço na noção de algoritmo e conceito de função.

Aula 6 – Ampliando o uso das portas: produzindo sons com o Arduino

Objetivo especifico: ampliar as possibilidades de uso das portas do Arduino utilizando-as para produzir sons. Utilizar as funções de repetição.

Conhecimentos específicos: conceito de vibração, freqüência, notas musicais e figuras musicais, declaração e uso de matrizes (strings), emprego da diretiva “#define”, da função “tone()” e do laço de repetição “’for()”.

Conhecimentos interdisciplinares:

Ciências da Natureza: vibrações e propriedades do som.

Linguagens: fundamentos da música.

Matemática: indexação de matrizes e tabelas (linhas e colunas).

Aula 7 – Ampliando o uso das portas: controlando a luminosidade de um led

Objetivo especifico: controlar a intensidade no brilho em um led.

Conhecimentos específicos: configurar as portas do Arduino para funcionar como saída analógica, função “analogWrite()” e o conceito de PWM (modulação por largura de pulso).

Conhecimentos interdisciplinares:

Ciências da Natureza: a persistência da visão.

Matemática: valor médio e razão e proporção (regra de três).

Aula 8 – Ampliando o uso das portas: estabelecendo uma comunicação serial entre o computador e o Arduino

Objetivo especifico: estabelecer um canal de comunicação entre o Arduino e o computador.

Conhecimentos específicos: utilizar as portas 0 e 1 do Arduino para estabelecer uma comunicação com o computador via RS232, controlar e configurar os parâmetros dessa porta utilizando as funções: “Serial.begin()”, “Serial.end()”, “Serial,available()”, “Serial.read()”, “Serial.print()” e “Serial.println()”.

Aula 9 – Ampliando o uso das portas: instalado um display alfanumérico para exibir textos e valores (dois encontros)

Objetivo especifico: exibir textos e valores através de um display alfanumérico tornando o Arduino um sistema com capacidade de comunicação autoportado.

Conhecimentos específicos: uso da biblioteca “#include ” e funções associadas ao controle do display, transmissão de dados serial/paralelo, conexão paralela de dados, estudo das funções do display e comunicar ideias através dos recursos disponíveis.

Conhecimentos interdisciplinares:

Linguagens: comunicar ideias utilizando recursos restritos.

10 Aula 10 – Ampliando o uso das portas: medindo distâncias com sensor de ultrassom

Objetivo especifico: medir distâncias utilizando um sensor ultrassônico e mostrar essa distância no display alfanumérico.

Conhecimentos específicos: natureza e propagação do som, velocidade do som no ar, utilizar a função “pulseIn()” para determinar o tempo de retorno de uma onda sonora (eco) e calcular a distância a partir do tempo decorrido.

Conhecimentos interdisciplinares:

Linguagens: apresentar dados utilizando recursos restritos.

Ciências da Natureza: ondas mecânicas e velocidade de propagação.

Matemática: razão e proporção (regra de três).

Aula 11 – Fundamentos de eletrônica (dois encontros)

Objetivo especifico: introduzir conhecimentos básicos de eletrônica.

Conhecimentos específicos: eletricidade e grandezas elétricas, correntes alternadas e contínuas, componentes elétricos: resistores, capacitores e indutores, identificação de resistores (código de cores), componentes semicondutores: diodos e transistores, Lei de Ohm e relação entre grandezas elétricas.

Conhecimentos interdisciplinares:

Ciências da Natureza: eletricidade e Lei de Ohm.

12 Aula 12 – Ampliando o uso das portas: medindo a luminosidade do ambiente

Objetivo especifico: fazer uso dos conhecimentos de eletricidade para determinar a luminosidade do ambiente e mostra-la através do display alfanumérico . Utilizar as portas analógicas para medir tensão elétrica.

Conhecimentos específicos: estudo do resistor LDR, Lei de Ohm e divisores de tensão e uso da função “analogRead()”.

Conhecimentos interdisciplinares:

Ciências da Natureza: eletricidade e Lei de Ohm.

Matemática: razão e proporção (regra de três).

13 Aula 13 – Motores elétricos1 – Controlar um motor DC rotativo para movimentar uma cancela de acesso

Objetivo especifico: estudar um motor elétrico de corrente contínua. Controlar uma cancela de acesso utilizando os conhecimentos desenvolvidos nas aulas anteriores. Determinar a posição do braço mecânico. Detectar se há obstáculos obstruindo a cancela.

Conhecimentos específicos: eletricidade e magnetismo, motores de corrente contínua, sistemas mecânico para redução da rotação (caixa de redução), análise do funcionamento de uma cancela para acesso de veículos, estabelecer estratégias para perceber a posição do braço e se ele tocou ou não um veículo, uso da biblioteca “servo.h”, das funções de repetição “while()” e “do while()”.

Conhecimentos interdisciplinares:

Ciências da Natureza: eletromagnetismo e mecânica.

Matemática: medida e conversão de ângulos e razão e proporção (regra de três).

14 Aula 14 – Motores elétricos 2 – Controlar um motor de passo angular

Objetivo especifico: movimentar um motor elétrico de corrente alternada.

Conhecimentos específicos: eletricidade e magnetismo, motores de corrente alternada, drivers para motores, utilizar a biblioteca “#include ” e funções relacionadas para controlar um motor de passo.

Conhecimentos interdisciplinares:

Ciências da Natureza: eletromagnetismo e mecânica.

Matemática: razão e proporção (regra de três).

15 –PROJETO DE CONCLUSÃO

Objetivo específico: utilizar os conhecimentos adquiridos para produzir um equipamento ou produto, de sua livre escolha, utilizando os recursos disponíveis.

Será oferecido um chassis com dois motores de passo, acelerômetro de três eixos, módulo de comunicação Wi-Fi e sensor ultrassônico no qual os alunos poderão embarcar seu software. Outros elementos podem ser agregados e esse equipamento terá o uso compartilhado entre todos os alunos, por isso as experiências dessa fase terão de passar por agendamento.