Boyokisi ya Arduino mpo na senseur ya température LM75A
Na boyekoli oyo, tokoyekola ndenge ya kosalela sensor ya température LM75A na Arduino mpo na komeka température na Celsius mpe Fahrenheit. Sensor ya LM75A esololaka na protokolo ya I2C, oyo esalaka ete ezala pete kosangisa yango na ba Arduino. Na suka ya boyekoli oyo, okozala na installation oyo ezali kolakisa ba lectures ya température na seconde nyonso.

Mpo na kosalela boyekoli oyo malamu, nandimi ete oyeba video oyo esangani na yango, oyo epesaka bokambi ya komona na mise en place mpe code (na video na 20:29).
Matoko ya Hardware
Sensor ya température LM75A ezali sensor ya digitale oyo ekoki komeka température ya environnement na précision ya likolo. Esalaka na protokolo ya communication I2C, oyo epesaka nzela ete ba sensors ebele esangisa na bus moko. Sensor oyo ezali na fonction ya coupure ya température oyo eleki, oyo ekoki kosalisa kobatela énergie ntango esalelami te.
Sensor oyo ezali généralement disponible so lokola puce ya isolé to lokola module ya PCB. Module yango ezali na ba pins ya ntina lokola VCC, GND, SDA, mpe SCL, oyo esengeli mpo na communication na Arduino. Ntango kosalelaka sensor oyo, esengeli kozala na ba connexions ya malamu mpe kopona adresse ya I2C ya malamu mpo na communication.
Détails ya Datasheet
| Fabricant | NXP / Texas Instruments |
|---|---|
| Numéro ya pièce | LM75A |
| Tension ya logique/IO | 2.7 V kino 5.5 V |
| Tension ya alimentation | 2.7 V kino 5.5 V |
| Courant ya sortie (na canal) | 3 mA |
| Courant ya pointe (na canal) | 10 mA |
| Guidance ya fréquence PWM | N/A |
| Seuils ya logique ya entrée | 0.3 VCC (élevé), 0.2 VCC (bas) |
| Chute ya tension / RDS(on) / saturation | 0.5 V max |
| Limites ya thermique | -55 °C kino +125 °C |
| Package | SOIC-8 / TSSOP |
| Notes / variantes | Ezali na ba adresses I2C ndenge na ndenge |
- Kokamba ete adresse ya I2C ya malamu ezali na code na yo.
- Salela ba résistances ya pull-up na ba lignes SDA mpe SCL soki esengeli.
- Pesa sensor tension ya stable (2.7 V kino 5.5 V).
- Kotalela mpo na échauffement; sensor ekoki kosala kino 125 °C.
- Kosimba sensor na bokebi mpo na kobuka te ntango ya installation.
Ba Instructions ya Câblage

Mpo na kosangisa sensor ya température LM75A na Arduino na yo, banda na kosangisa pin ya terre ya sensor na pin ya terre ya Arduino na yo. Na nsima, sangisa pin ya VCC ya sensor na pin ya 5V na Arduino. Mpo na communication ya I2C, sangisa pin ya SDA ya sensor (oyo eyebani na couleur verte) na pin ya A4 na Arduino, mpe pin ya SCL (oyo eyebani na couleur bleue) na pin ya A5. Soki ozali kosalela modèle ya Arduino mosusu, kamba ete ozali kosangisa na ba pins ya malamu ya I2C; na ndakisa, na Arduino Mega, SDA esangisaka na pin 20 mpe SCL na pin 21.
Soki ozali kosalela LM75A lokola puce ya isolé kasi te module, kamba ete osangisa ba pins oyo ekokani malamu: pin ya liboso esangisaka na A4 (SDA), pin ya mibale esangisaka na A5 (SCL), pin ya minei esangisaka na terre, mpe pin ya mwambe esangisaka na VCC. Tika ba pins mosusu ezanga connexion. Mise en place oyo esalaka ete sensor ekoki kosolola malamu na Arduino.
Ba Exemples ya Code & Explication
Code oyo elandaka ebandisaka sensor ya LM75A mpe etangaka température na seconde nyonso. Identifiant ya ntina na code oyo ezali lm75a_sensor, oyo ezali exemple ya classe LM75A. Exemple oyo esalelamaka mpo na kozwa ba lectures ya température na sensor.
LM75A lm75a_sensor(false, false, false);
Ligne oyo ekelaka exemple ya classe LM75A, oyo epesaka ba paramètres oyo batelaka état ya ba pins A0, A1, mpe A2. État ya défaut ekoki kotiama na false soki ba pins oyo esalelami te.
Na fonction setup(), tobandisaka communication ya série na taux ya baud 9600, oyo ezali ya ntina mpo na kolakisa ba lectures ya température na moniteur ya série.
void setup(void) {
Serial.begin(9600);
Serial.println("Robojax LM75A Test");
}
Extrait oyo etiaka moniteur ya série, oyo epesaka nzela mpo na kotala ba lectures ya température ndenge ezali komonana na seconde nyonso.
Na fonction loop(), tozongelaka température na degrés Celsius mpe totyelaka likebi na ba erreurs nyonso. Soki température ezali valide, tokomaka yango elongo na équivalent na yango ya Fahrenheit.
float temperature_in_degrees = lm75a_sensor.getTemperatureInDegrees();
if (temperature_in_degrees == INVALID_LM75A_TEMPERATURE) {
Serial.println("Error while getting temperature");
} else {
Serial.print("Temperature: ");
Serial.print(temperature_in_degrees);
Serial.print(" degrees (");
Serial.print(LM75A::degreesToFahrenheit(temperature_in_degrees));
Serial.println(" Fahrenheit)");
}
Segment ya code oyo emonisaka ndenge ya kosalela lecture ya température mpe komema yango na Celsius mpe Fahrenheit na moniteur ya série. Ezali na gestion ya erreurs mpo na ba lectures oyo ezali malamu te.
Mpo na code ya mobimba, tala section ya chargement na nsé ya article.
Démonstration / Nini Okoki Kozela
Ntango okokisi câblage mpe opési code na Arduino na yo, okoki komona ba lectures ya température na moniteur ya série na seconde nyonso. Okoki komeka réactivité ya sensor na kosimba yango to na kosalela pistolet ya chaleur, mpe okoki komona ba lectures ebongwanaka ndenge esengeli. Kozala na bokebi na polarité ya kobalola ntango okosangisa sensor, mpo ekoki kobebisa module.
/*
* \brief Show temperature in degrees Celsius and Fahrenheit every second
*
* \author Quentin Comte-Gaz <quentin@comte-gaz.com>
* \date 8 July 2016
* \license MIT License (contact me if too restrictive)
* \copyright Copyright (c) 2016 Quentin Comte-Gaz
* \version 1.0
*
* Video instruction by Ahmad Shamshiri on July 10, 2018 at 20:29 for Robojax.com
* in Ajax, Ontario, Canada
* Watch the video instruction for this code: https://youtu.be/2gmkubeHUXw
For this sketch you need to connect:
VCC to 3.3V or 5V and GND to GND of the Arduino
SDA to A4 and SCL to A5
*/
#include <LM75A.h>
// Create I2C LM75A instance
LM75A lm75a_sensor(false, //A0 LM75A pin state
false, //A1 LM75A pin state
false); //A2 LM75A pin state
// Equivalent to "LM75A lm75a_sensor;"
void setup(void)
{
Serial.begin(9600);
Serial.println("Robojax LM75A Test");
Serial.println("Temperatures will be displayed every second:");
}
void loop()
{
// Robojax.com LM75A Test
float temperature_in_degrees = lm75a_sensor.getTemperatureInDegrees();
if (temperature_in_degrees == INVALID_LM75A_TEMPERATURE) {
Serial.println("Error while getting temperature");
} else {
Serial.print("Temperature: ");
Serial.print(temperature_in_degrees);
Serial.print(" degrees (");
Serial.print(LM75A::degreesToFahrenheit(temperature_in_degrees));
Serial.println(" Fahrenheit)");
}
delay(1000);
}
Mokili na bisika
Pas encore de ressources.
Fichiers📁
Fritzing File
-
LM75 Temperature Sensor
Temperature Sensor - LM75.fzpz0.01 MB
Mabala a mangwe
-
LM75A datasheet from Philips
robojax-LM75A_temperature_senssor_datasheet_philips.pdf0.13 MB