Ramo Estudantil UnB.
Seção Brasília.
[email protected]
Eletrônica Básica
Aula 8
AVISO
• Please note that you may reproduce the materials provided
here as long as you do not charge anyone for the
reproduction or include it with a product that is being sold
and the material copied is used for educational purposes
only and not for resale.
Make sure to comply with the fact that you must state on
the reproduction that this material has “Copyright © by
Elenco® Electronics Inc. All rights reserved and has been
reproduced with permission from Elenco Electronics Inc.”
Revisão
“A vantagem de ter péssima memória é
divertir-se muitas vezes com as mesmas
coisas boas como se fosse a primeira vez.”
Friedrich Nietzsche
Boa Notícia !!
Boa Notícia!!!
Acharam o Bóson de Higgs 04/07/2012
Representa a
chave para
explicar a
origem da
massa das
outras
partículas
elementares
Peter Higgs
Ainda está vivo hoje
Descoberta no
CERN
com 99,8% de
certeza
Revisão Aula 5
• História dos circuitos
integrados
• Circuitos integrados: MUSIC
• Transistor(TRANSISTOR
HUMANO!!)
• Amplificador
Alguma Dúvida?
Revisão Aula 6
• Transformadores
• A guerra das correntes:
Corrente Contínua X Alternada
• Rádio FM
• Gravador
Alguma Dúvida?
Revisão Aula 7
• Retificador
• Oscilador( Código Morse)
• Entropia
• Célula Fotoelétrica
• História da descoberta do
Efeito fotoelétrico
Alguma Dúvida?
Protoboard (Breadboard)
Estrutura
1:
1
Os pontos em são geralmente usados
para conectar os terminais + e – ( ou
ground(GND))
Todos os pontos em
1, na mesma
linha, estão conectados
2:
2
Os pontos em são geralmente usados
para conectaros componentes desejados do
circuito))
Todos os pontos em
2, na mesma
coluna, estão conectados
Arduino: Eletrônica simplificada
• Projeto criado na Itália
pelo Mássimo Banzi no
Interaction Design
Institute Ivrea;
• Nasceu para
complementar o
aprendizado de
programação,
computação física e
gráfica
•Possui o
microcontrolador AVR
de 8 bits com memória
Flash
O que há no Arduino
Algoritmo
no paradigma Estruturado:
para Arduino
Setup(Materiais
necessários)
• Escrever na forma
• Tipo nome_variável
Função
Principal(loop)(Receita)
•{
• “Usar” materiais
definidos chamando os
procedimentos
implementados para
chegar à saída desejada
•}
Procedimentos(Funções)
• Escrever na forma:
• Tipo de Retorno
Nome_função( variável
de entrada)
• {Descrição da função}
Experimento 1: uso da protoboard
Algoritmos!!!
Apresentou a primeira solução sistemática
das equações lineares e quadráticas. É
considerado o fundador da Álgebra
O radical de algarismo e algoritmo vem
de algoritmi, a forma latina de seu nome
Abū ‘Abd Allāh Muhammad ibn Mūsā
al-Khwārizmī
780 – 850 dc
Mas o que é Algoritmo?
Um algoritmo:” é uma sequência finita
de instruções bem definidas e não ambíguas,
cada uma das quais pode ser executada
mecanicamente num período de tempo finito
e com uma quantidade de esforço finita”
Alan Turing (1912 – 1954 )
Algoritmo quicksort para ordenação
De um vetor de elementos
( Dividir e conquistar)
Paradigmas de Programação
• Programação
estruturada(Arduino)
O programa é dividido em subrotinas
chamadas seguencial e
logicamente para sair de um
estágio inicial conhecido para um
final desejado
• Programação orientada a objeto:
baseado na composição e interação
entre diversas unidades de
software chamadas de objetos.
Vamos Fazer um Bolo??
Receita da internet
•
•
•
•
•
•
•
BOLO SIMPLES
Ingredientes
2 copos e meio de farinha
2 copos e meio de açúcar
1 copo de leite
4 ovos
Fermento em pó
Modo de Preparo
• Bata as claras em neve,
• à parte bata o açúcar com as gemas , misture as claras batendo sempre
• a farinha de trigo o fermento e o leite fervendo, por último uma pitada de sal
• Asse em forno pré-aquecido
• Assadeira de buraco ou redonda
• Cubra com uma mistura de açúcar clara e maracujá, você pode também por um
chocolate ou algum ao seu gosto
Como escrever um algoritmo
no Arduino
Setup( Preparação dos
Materiais necessários)
• Escrever na forma
• Tipo nome_variável;
Função
Principal(Receita)(loop)
•{
• Definir novas variéveis
necessárias;
• “Usar” variáveis
definidos chamando os
procedimentos
implementados para
chegar à saída desejada
•}
Procediimentos(Funções)
• Escrever na forma:
• Tipo de Retorno
Nome_função( variável
de entrada)
• {Descrição da função}
Mais ou menos o algoritmo da Receita
da internet
Setup( Preparação dos
Materiais necessários)
• CopoFarinha CF =
prepararCopoFarinha();
• CopoAcucar CA =
prepararCopoAcucar()
• CopoLeite CL
=prepararCopoLeite();
Função Principal(Receita)
•{
• Ovo ovos = 4;
• Fermento F = 1;
• ClaradeNeve cn;
• GemaeAcucar Ga;
• Bolo B;
• Cn = BaterOvo( ovos);
• Ga =BaterGemaeAcucar
(ovos, CopoAcucar c);
• B = Ferver( Cl, F, Ga,cn
);
Procedimentos(Funções)
• Clara BaterOvo(Ovo o)
• GemaeAcucar
BaterGemaeAcucar
(Ovo o, CopoAcucar c)
• Bolo Ferver(CopoLeite
l, Fermento f,
GemaeAcucar ga,
ClaradeNeve cn )
Ambiente Arduino
Um programa
Arduino Sempre
tem dois métodos
void Setup()
{
}
void loop()
{
}
Ambiente Arduino
Ambiente Arduino
Tipos padrão
Tipo
Descrição
• Número
Inteiro
• Numero
Racional
• Caracter
• ...-10,1,2...
• ...-4.64, 0,
5.8, 7.8...
• ‘a’, ‘A’, ‘#’,...
Como escrever
• int i = 1;
• float f = 5.8;
double d = 4.64;
• char c = ‘c’;
Hello World!
Execute o programa
pisca_led_rapido.pde
Códido pisca_led_rapido.pde
•
•
•
•
int tempo = 1000;
void setup() {
pinMode(13, OUTPUT);
}
• void loop() {
• digitalWrite(13, HIGH);
• delay(tempo);
• digitalWrite(13, LOW);
• delay(tempo);
•
• tempo = tempo - 30;
• }
Experimento 2
•Execute o programa
quadrado.pde
•
Experimento 2:
Código
int n = 0; // Para entrada de dados seriais
(for if (Serial.available() >0) {
incoming serial data)
int Area;
// leitura dos dados (read the incoming
byte:)
•
void setup() {
•
Serial.begin(9600); // Ativa a porta serial
(opens serial port, sets data rate to 9600 bps) n = Serial.read();
•
Serial.flush();
n = n - '0';//POR QUE????
•
•
}
void loop() {
Area = n*n;
•
•
•
•
// mostra na tela (say what you got:)
// Testa se a prta serial esta recebendo dados Serial.print("Valor do lado digitado: ");
Serial.println(n);
(send data only when you receive data:)
Serial.println("Area ");
delay(3000);//POR QUE????
Serial.println("Digite o tamanho do lado do Serial.println(Area);
quadrado ");
}
}
Serial.flush();
Tabela ASCII: tabela dos caracteres
Experimento 3
• Calculem o perímetro de um quadrado
De lado inteiro lido pelo teclado
Experimento 3
int n = 0; // Para entrada de dados seriais (for incoming
serial data)
n = Serial.read();
n = n - '0';//POR QUE????
void setup() {
Serial.begin(9600); // Ativa a porta serial (opens serial port,
sets data rate to 9600 bps)
Serial.flush();
}
void loop() {
// Testa se a prta serial esta recebendo dados (send data
only when you receive data:)
delay(3000);//POR QUE????
Serial.println("Digite o tamanho do lado do quadrado ");
if (Serial.available() >0) {
int Perimetro;
// leitura dos dados (read the incoming byte:)
Perimetro = 4*n;
// mostra na tela (say what you got:)
Serial.print("Valor do lado digitado: ");
Serial.println(n);
Serial.println("Perimetro ");
Serial.println(Perimetro);
}
Serial.flush();
}
Download

Eletrônica Básica Aula 8