0% acharam este documento útil (0 voto)
19 visualizações

Exercícios Arduino

Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
19 visualizações

Exercícios Arduino

Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 7

Questão 1:

Resposta:
int x = 2; Serial.begin(9600);
void setup(){ }
pinMode(2, OUTPUT);
pinMode(3, OUTPUT); void loop(){
pinMode(4, OUTPUT); int xa = x;
pinMode(5, OUTPUT); int a = analogRead(A0);
pinMode(6, OUTPUT); int b = analogRead(A1);
pinMode(7, OUTPUT); a = map(a, 0,1023,0,5);
b = map(b, 0,1023,0,5); for(int p = 0; p<=7; p++)
Serial.print("valor A0 ="); {
Serial.print(a); digitalWrite(p, LOW);
Serial.print(" valor A1="); }
Serial.println(b); }
for(int i = 2; i<=x+2; i++)
delay(10); {
if(a >= b) digitalWrite(i, HIGH);
{ }
x = a;

} }
else{
x = b; Link para acesso ao projeto:
https://wokwi.com/projects/3794240114
}
26134017
if(xa != x)
{
Questão 2:

void setup() { Serial.print(" HEX: ");


Serial.begin(9600); Serial.print(i, HEX);
} Serial.print(" BIN: ");
Serial.println(i,BIN);
void loop() { }
for (int i = 0; i <= 1023; i++) { delay(50);
int n = i & B10011100; //operação and
bit a bit com o i em binário
}
if ( n == B10011100) { //compara a
operação bit a bit
delay(1000);
Serial.print("DEC: ");
}
Serial.print(i);

Link para acesso: https://wokwi.com/projects/379430697262643201


O número com os bits setados é 10011100, sendo assim os 6 primeiros são:
DEC: 156 HEX: 9C BIN: 10011100
DEC: 157 HEX: 9D BIN: 10011101
DEC: 158 HEX: 9E BIN: 10011110
DEC: 159 HEX: 9F BIN: 10011111
DEC: 188 HEX: BC BIN: 10111100
DEC: 189 HEX: BD BIN: 10111101

E os 6 últimos são:
DEC: 990 HEX: 3DE BIN: 1111011110
DEC: 991 HEX: 3DF BIN: 1111011111
DEC: 1020 HEX: 3FC BIN: 1111111100
DEC: 1021 HEX: 3FD BIN: 1111111101
DEC: 1022 HEX: 3FE BIN: 1111111110
DEC: 1023 HEX: 3FF BIN: 1111111111
Questão 3:

Resposta (a): Para o funcionamento correto do circuito é necessário a adição de alguma


conexão nas portas de leitura A0 e A1, dado que a situação atual está ocasionando em
leituras incertas sem alguma referência, provavelmente de ruído ou interferência
eletromagnética, sendo assim, valores aleatórios são apresentados no display. Para a
correção de tal fator, basta referenciá-lo através de algum resistor e/ou alguma entrada
que permite leitura de níveis de tensão, tal como sensores ou módulos.
Trecho incluso:
void loop(){
...
int x = map(v1,0,5,0,255);
int y = map(v2,0,5,0,255);
analogWrite(5, x);
analogWrite(6, y);
}
Link de acesso: https://wokwi.com/projects/379426103235773441
Código do projeto:
// LCD1602 to Arduino Uno connection
example
}

#include <LiquidCrystal.h>
void loop() {
//lcd.clear();
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
lcd.setCursor(0,0);
unsigned long tempo = millis();
void setup() {
lcd.print(" Tempo(s): ");
lcd.begin(20, 4);
lcd.print((tempo/1000.),2);
lcd.setCursor(0,1);
lcd.print(" A0:");
float v1 = analogRead(0)*5./1023; }
lcd.print(v1,1);
lcd.print(" A1:");
float v2 = analogRead(1)*5./1023; Link para acesso:
https://wokwi.com/projects/3794271751
lcd.print(v2,1);
15440129
lcd.print("V");
lcd.setCursor(0,2);
lcd.print(" A2:");
float v3 = analogRead(2)*5./1023;
lcd.print(v3,1);
lcd.print("V");
lcd.print(" A3:");
float v4 = analogRead(3)*5./1023;
lcd.print(v4,1);
lcd.print("V");
lcd.setCursor(0,3);
lcd.print(" A4:");
float v5 = analogRead(4)*5./1023;
lcd.print(v5,1);
lcd.print("V");
lcd.print(" A5:");
float v6 = analogRead(5)*5./1023;
lcd.print(v6,1);
lcd.print("V");

delay(100);

Você também pode gostar