Paso 3: Poner juntos
El código que lo he puesto junto es el final de este post. Básicamente instala las bibliotecas de la temperatura, lee la temperatura y luego pone esto en los registros de cambio.#include OneWire.h
#include DallasTemperature.h
configuraciones de PIN
int latchPin = 8;
clockPin INT = 12;
int dataPin = 11;
int tempPin = 7;
librraries para conectar al sensor
OneWire oneWire(tempPin);
DallasTemperature tempSens(&oneWire);
caracteres para la visualización en 7 seg pantalla 0-9
numberSet Byte [10] = {}
B01111011, B01000001, B00110111, B01100111, / / 0,1,2,3
B01001101, B01101110, B01111110, B01000011, / / 4,5,6,7
B01111111, B01101111 / / 8,9
};
void setup() {}
Inicio serie
Serial.Begin(9600);
sensor de temperatura del init
tempSens.begin();
configurar pin modos de registors de cambio
pinMode (latchPin, salida);
pinMode (myClockPin, salida);
pinMode (myDataPin, salida);
}
void loop() {}
tempSens.requestTemperatures();
Float t = tempSens.getTempCByIndex(0);
Serial.println(t);
molde para flotador (solo tienen 2 dígitos en pantalla)
int rT = (int) t;
unidades de temperatura
int unidades = rT % 10;
valor de obtener decenas de temp
rT = rT/10;
int decenas = rT % 10;
displayNumb (unidades, decenas);
Delay(100);
}
void displayNumb (int a, int b) {}
obtener el código de los números
bitsA bytes = numberSet [a];
bitsB bytes = numberSet [b];
Set listo para cambiar de puesto hacia fuera
digitalWrite (latchPin, bajo);
unidades de cambio
shiftOut (dataPin, clockPin, bitsA);
cambio de decenas
shiftOut (dataPin, clockPin, bitsB);
cambiar los datos
digitalWrite (latchPin, HIGH);
}
trasladar los datos hacia fuera a los registors de cambio
{} void shiftOut (int myDataPin, int myClockPin, byte myDataOut)
int i = 0;
int pinState;
digitalWrite (myDataPin, 0);
digitalWrite (myClockPin, 0);
iterar sobre cada bit en el byte myDataOut
para (i = 7; i > = 0; i--) {}
digitalWrite (myClockPin, 0);
Si (myDataOut & (1 < pinState = 1; digitalWrite (myDataPin, pinState); digitalWrite (myClockPin, 0);
}
Else {}
pinState = 0;
}
digitalWrite (myClockPin, 1);
digitalWrite (myDataPin, 0);
}
}