Paso 13: El código
/ * Código escrito y diseños hechos por Kyle Hovey (también conocido como Speleomaniac en
Para este código, se utiliza un indicador binario a 7 segmentos 4511 decodificador para hacer
escribir código para muestra mucho más fácil.
Pantalla de siete segmentos:
Conectarse A: pin 13 de 4511 (el chip 4511 es un chip de 16 clavijas para todos preguntan)
B conectarse: pin 12 de 4511
C conectar a: pin 11 de 4511
D conectarse: pin 10 de 4511
E conectar en: perno 9 de 4511
F conectarse: pin 15 de 4511
G conectado a: pin 14 de 4511
Arduino a 4511:
Digital 8 pines conectado a: pin 1 de 4511 (binario pin 2)
Digital Pin 9 conectado a: pin 2 de 4511 (binario pin 3)
11 Pin digital conectado a: pin 6 de 4511 (binario pin 4)
Digital 12 Pin conectado a: pin 7 de 4511 (binario pin 1)
CDF para arduino:
Adjuntas del resistor de 10K a tierra y analógica por cable desde uno de los pines
de la FCD, otro pin de celular FCD es attatched a + 5v.
Binario:
B: DEC:
0000: 0
1000: 2
0100: 3
1100: 4
0010: 5
1010: 6
0110: 7
1110: 8
0001: 9 (el 4511 sólo acepta dígitos hasta nueve, el display de siete segmentos
1001:10 no puede mostrar números de dos dígitos a menos que tengas dos monitores y dos fichas)
0101: 11
1101: 12
0011: 13
0111: 14
1111: 15
El código de un medidor digital de luz en una pantalla de siete segmentos.
*/
const int Bin1 = 12; Todos estos están identificando las entradas binarias del
const int Bin2 = 8; el 4511 decodificador de siete segmentos
const int Bin3 = 9;
const int Bin4 = 11;
int val = 0;
int CDSpin = 0;
void setup() //Enters la fase de configuración
{
pinMode (Bin1, salida); configura la salida binaria uno como una salida digital
pinMode (Bin2, salida); y así sucesivamente...
pinMode (Bin3, salida);
pinMode (Bin4, salida);
Serial.Begin(9600);
}
void loop() / / prácticamente sólo diciendo "loop cualquier código es después de esta línea"
{
Val = analogRead(CDSpin); Establece el valor analógico "val" en el nivel de luz ambiente.
Val = mapa (val, 0, 1029, 0, 100); Escala el valor de 1029-max hasta 100 max
Serial.println (val, DEC);
Delay(10); Esperar para que arduino para ponerse al día
Si (val == 0 || val == 1) //if el valor es como mínimo:
{
digitalWrite (Bin1, B0); Escribir "0" en la pantalla
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
}
Si (val > 1 & & val < = 10) el valor es entre uno y diez //if:
{
digitalWrite (Bin1, B1); Escribir "1" en la pantalla
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
}
Si (val > 10 & & val < = 20) //if el valor es entre diez y veinte:
{
digitalWrite (Bin1, B0); Escriba "2" a la pantalla
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
}
Si (val > 20 & & val < = 30) //if el valor es entre Veinte y treinta:
{
digitalWrite (Bin1, B1); Escribir "3" en la pantalla
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B0);
}
Si (val > 30 & & val < = 40) //if el valor es entre treinta y cuarenta:
{
digitalWrite (Bin1, B0); Escribir "4" en la pantalla
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
}
Si (val > 40 & & val < = 50) //if el valor es entre cuarenta y cincuenta:
{
digitalWrite (Bin1, B1); Escribir "5" en la pantalla
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
}
Si (val > 50 & & val < = 60) //if el valor es entre cincuenta y sesenta:
{
digitalWrite (Bin1, B0); Escribir "6" en la pantalla
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
}
Si (val > 70 & & val < = 80) //if el valor es entre sesenta y setenta:
{
digitalWrite (Bin1, B1); Escribir "7" en la pantalla
digitalWrite (Bin2, B1);
digitalWrite (Bin3, B1);
digitalWrite (Bin4, B0);
}
Si (val > 80 & & val < = 90) //if el valor es de entre ochenta y noventa:
{
digitalWrite (Bin1, B0); Escribir "8" en la pantalla
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B1);
}
Si (val > 90 & & val < = 100) //if el valor es de entre noventa y vino cientos;
{
digitalWrite (Bin1, B1); Escribir "9" en la pantalla
digitalWrite (Bin2, B0);
digitalWrite (Bin3, B0);
digitalWrite (Bin4, B1);
}
}