2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
TCN75A to dwuprzewodowy, szeregowy czujnik temperatury z przetwornikiem temperatury na cyfrę. Jest on wyposażony w rejestry programowalne przez użytkownika, które zapewniają elastyczność w zastosowaniach z czujnikami temperatury. Ustawienia rejestru pozwalają użytkownikom skonfigurować tryb oszczędzania energii, tryb wyłączania, tryb one shot itp. Czujnik posiada interfejs szeregowy kompatybilny z i2c, który może ułatwić podłączenie do ośmiu urządzeń w jednej magistrali szeregowej. Oto jego demonstracja z arduino nano.
Krok 1: Czego potrzebujesz.
1. Arduino Nano
2. TCN75A
3. Kabel I²C
4. Tarcza I²C dla Arduino Nano
Krok 2: Połączenie:
Weź nakładkę I2C dla Arduino Nano i delikatnie wepchnij ją na piny Nano.
Następnie podłącz jeden koniec kabla I2C do czujnika TCN75A, a drugi koniec do ekranu I2C.
Połączenia prezentuje powyższy obrazek.
Krok 3: Kod:
Kod Arduino dla TCN75A można pobrać z naszego repozytorium Github-DCUBE Store.
Oto link do tego samego:
github.com/DcubeTechVentures/TCN75A/blob/master/Arduino/TCN75A.ino
Dołączamy bibliotekę Wire.h ułatwiającą komunikację I2c czujnika z płytką Arduino. Możesz również skopiować kod stąd, jest on podany w następujący sposób:
// Rozprowadzane z wolną licencją.
// Używaj go w dowolny sposób, z zyskiem lub za darmo, pod warunkiem, że pasuje do licencji powiązanych z nim dzieł.
// TCN75A
// Ten kod jest przeznaczony do pracy z TCN75A_I2CS I2C Mini Module
#włączać
// TCN75A I2C adres to 0x48(72)
#define Addr 0x48
pusta konfiguracja()
{
// Zainicjuj komunikację I2C jako Master
Wire.początek();
// Zainicjuj komunikację szeregową, ustaw szybkość transmisji = 9600
Serial.początek(9600);
// Rozpocznij transmisję I2C
Wire.beginTransmisja(Addr);
// Wybierz rejestr konfiguracji
Wire.write(0x01);
// 12-bitowa rozdzielczość ADC
Wire.write(0x60);
// Zatrzymaj transmisję I2C
Wire.endTransmission();
opóźnienie(300);
}
pusta pętla()
{
dane int bez znaku[2];
// Rozpocznij transmisję I2C
Wire.beginTransmisja(Addr);
// Wybierz rejestr danych
Wire.write(0x00);
// Zatrzymaj transmisję I2C
Wire.endTransmission();
// Poproś o 2 bajty danych
Wire.requestFrom(Addr, 2);
// Odczytaj 2 bajty danych
// temp msb, temp lsb
jeśli (Wire.available() == 2)
{
dane[0] = Przewód.odczyt();
dane[1] = Drut.odczyt();
}
// Konwertuj dane na 12-bitowe
int temp = (((dane[0] * 256) + (dane[1] i 0xF0)) / 16);
jeśli (temp > 2047)
{
temp -= 4096;
}
pływak cTemp = temp * 0,0625;
pływak fTemp = (cTemp * 1,8) + 32;
// Dane wyjściowe do monitora szeregowego
Serial.print("Temperatura w stopniach Celsjusza: ");
druk.seryjny(cTemp); Serial.println("C");
Serial.print("Temperatura w stopniach Fahrenheita: ");
Serial.print(fTemp);
Serial.println(" F");
opóźnienie (1000);
}
Krok 4: Aplikacje:
TCN75A to czujnik temperatury, który może być stosowany w komputerach osobistych i serwerach. Może być również stosowany w systemach rozrywki, sprzęcie biurowym, dyskach twardych i innych peryferiach PC. Czujnik ten znajduje również zastosowanie w sprzęcie teleinformatycznym.