Documente Academic
Documente Profesional
Documente Cultură
En cuanto a los materiales se necesita: una matriz de displays 5461H, se usó el sensor de
temperatura LM35 en modo de 0 a °C, un Negador 7404, un decodificador 7448.
Se plantean dos posibles soluciones:
PRIMERA SOLUCION
byte pines[7]={4,5,6,7,8,9,10}; //PINES PARA 7 SEGMENTOS
{1,1,1,1,0,0,1}, //1
{0,1,0,0,1,0,0}, //2
{0,1,1,0,0,0,0}, //3
{0,0,1,1,0,0,1}, //4
{0,0,1,0,0,1,0}, //5
{0,0,0,0,0,1,0}, //6
{1,1,1,1,0,0,0}, //7
{0,0,0,0,0,0,0}, //8
{0,0,1,0,0,0,0} //9
};
void setup() {
pinMode(pines[i],OUTPUT);
pinMode(mux0,OUTPUT);
pinMode(mux1,OUTPUT);
void loop() {
digitalWrite(mux1,HIGH);
sensorValue = analogRead(A0); //LECTURA DE DATOS
temperatura = (sensorValue*500.0)/1023;//ALGORITMO
b = temperatura / 10;//DECENA
a = temperatura % 10;//UNIDAD
//unidades
digitalWrite(mux1,HIGH);
digitalWrite(pines[j],seg[b][j]);
digitalWrite(mux0,LOW);
delay(10);
//decimales
digitalWrite(mux0,HIGH);
digitalWrite(pines[j],seg[a][j]);
digitalWrite(mux1,LOW);
delay(10);
SIMULACION EN PROTEUS
U3
LM35
1
VOUT
18.0
1
3
SIM2
A5
A4
A3
A2
A1
A0
5V
SIMULINO UNO
GND
RESET
ANALOG IN POWER
blogembarcado.blogspot.com
www.arduino.cc
ATMEL
ATMEGA328P
ARDUINO
SIMULINO
DIGITAL (PWM~)
RX < 0
TX > 1
AREF
~10
~11
~3
~5
~6
~9
12
13
2
c
a
b
d
e
f
g
m0
m1
m1
m0
13
11
1
0
1
1
1
2
12
10
2
c
g
SEGUNDA SOLUCION
byte pines[4]={4,5,6,7}; //PINES PARA 7 SEGMENTOS
{0,0,0,1}, //1
{0,0,1,0}, //2
{0,0,1,1}, //3
{0,1,0,0}, //4
{0,1,0,1}, //5
{0,1,1,0}, //6
{0,1,1,1}, //7
{1,0,0,0}, //8
{1,0,0,1} //9
};
void setup() {
pinMode(pines[i],OUTPUT);
pinMode(mux0,OUTPUT);
pinMode(mux1,OUTPUT);
Serial.begin(9600);
void loop() {
digitalWrite(mux1,LOW);
temperatura = (sensorValue*500.0)/1023;//ALGORITMO
b = temperatura / 10;//DECENA
a = temperatura % 10;//UNIDAD
Serial.println(temperatura);
Serial.println(b);
Serial.println(a);
//unidades
digitalWrite(mux1,LOW);
digitalWrite(pines[j],seg[b][j]);
Serial.print(seg[b][j]);
digitalWrite(mux0,HIGH);
delay(10);
//decimales
Serial.println(" ");
digitalWrite(mux0,LOW);
digitalWrite(pines[j],seg[a][j]);
Serial.print(seg[a][j]);
digitalWrite(mux1,HIGH);
delay(10);
Serial.println(" ");
SIMULACION EN PROTEUS
SIM1
1
M00
M11
AREF
13
ARDUINO
RESET 12
1 U5 ~11
5V ~10 U6
~9 7 13
A QA
SIMULINO
POWER
8 1 12
M00
M11
GND
27.0 B QB
2 11
C QC
ATMEGA328P
6 10
DIGITAL (PWM~)
7 D QD
2 ~6 4 9
VOUT BI/RBO QE
ATMEL
ANALOG IN
A0 ~5 5 15
RBI QF
A1 4 3 14
LT QG
A2 ~3
3 LM35 A3 2 7448
A4 TX > 1
A5 RX < 0
www.arduino.cc
blogembarcado.blogspot.com
SIMULINO UNO