Deska Tiny RTC I2C Moduules se ukázala být velmi užitečným zařízením. Jakmile představím obrázek se spojením dvou mikročipů s páskováním na prkénku, stane se to s nepohodlným spojením trochu nepříjemné. Deska Tiny RTC I2C Moduules je velmi vhodná pro práci s hodinovým čipem ds1307Z v reálném čase se sériovým rozhraním I2C, paměťovým čipem 24C32 se sériovým rozhraním I2C, možností instalace teplotního senzoru ds18b20. Přesné obdélníkové impulzy můžete získat také ze 7. výstupu čipu ds1307Z, na konektoru je označen písmeny SQ. Na desce obvodů modulů Tiny RTC I2C je obtížné vidět, že sedmý kolík čipu ds1307Z je připojen k sedmému kolíku konektoru P1.
Schéma desek modulů Tiny RTC I2C:
Před nákupem jsem hledal informace na internetu. Dozvěděl jsem se, že deska byla vyrobena pro práci s lithiovou baterií, kterou je obtížné koupit. Kupující desky Tiny RTC I2C Moduly nainstalovali lithiovou baterii místo baterie a deska nefungovala správně. Mikroobvod spotřebovává velmi málo energie, takže desku lze použít s lithiovou baterií. Chcete-li to provést, odstraňte z desky Tiny RTC I2C Moduly následující rádiové komponenty: dioda D1, rezistor R4 a propojku propojte místo R6. Také jsem odstranil rezistor R7, seznámil jsem se s typickým obvodem pro zapnutí čipu ds1307.
Typické obvody ds1307:
Více se dozvíte o dokončení desky Tiny RTC I2C Moduly z videa nahraného a publikovaného v síti soudruhem Alexejem Bukreevem.
Datasheet na čipu ds1307:
Zobrazit online soubor:
Zobrazit online soubor:
Připojil jsem desku Arduino Pro Mini s malými moduly RTC I2C a Arduino Pro Mini se sériovým adaptérem USB CH340G.
Spusťte kód a určete adresy mikroobvodů ds1307 a 24C32.
Samotný kód:
#include
String stringOne;
neplatné nastavení ()
{
Wire.begin ();
Serial.egegin (9600);
while (! Serial);
}
prázdná smyčka ()
{
chyba bajtu, adresa;
int nDevices;
Serial.println („Skenování ...“);
n Zařízení = 0;
pro (adresa = 1; adresa <127; adresa ++)
{
Wire.beginTransmission (adresa);
error = Wire.endTransmission ();
if (error == 0)
{
String stringOne = String (adresa, HEX);
Serial.print ("0x"); Serial.print (stringOne); Serial.print ("-");
if (stringOne == "0A") Serial.println ("'Motor Driver'");
if (stringOne == "0F") Serial.println ("'Motor Driver'");
if (stringOne == "1D") Serial.println ("'ADXL345 Input 3-Axis Digital Accelerometer'");
if (stringOne == "1E") Serial.println ("'HMC5883 3-osý digitální kompas" ");
if (stringOne == "5A") Serial.println ("'Touch Sensor'");
if (stringOne == "5B") Serial.println ("'Touch Sensor'");
if (stringOne == "5C") Serial.println ("'BH1750FVI digitální světelný senzor" NEBO "dotykový senzor");
if (stringOne == "5D") Serial.println ("'Touch Sensor'");
if (stringOne == "20") Serial.println ("'PCF8574 8-bitový expandér I / O' nebo 'LCM1602 LCD adaptér'");
if (stringOne == "21") Serial.println ("'PCF8574 8-Bit Expandér I / O'");
if (stringOne == "22") Serial.println ("'PCF8574 8-Bit I / O Expander'");
if (stringOne == "23") Serial.println ("'PCF8574 8-bitový expandér I / O' NEBO 'BH1750FVI digitální světelný senzor'");
if (stringOne == "24") Serial.println ("'PCF8574 8-Bit I / O Expander'");
if (stringOne == "25") Serial.println ("'PCF8574 8-Bit I / O Expander'");
if (stringOne == "26") Serial.println ("'PCF8574 8-Bit I / O Expander'");
if (stringOne == "27") Serial.println ("'PCF8574 8-bitový expandér I / O' nebo 'LCM1602 LCD adaptér'");
if (stringOne == "39") Serial.println ("'TSL2561 Senzor okolního světla'");
if (stringOne == "40") Serial.println ("'barometrický snímač tlaku BMP180'");
if (stringOne == "48") Serial.println ("'ADS1115 Module 16-Bit'");
if (stringOne == "49") Serial.println ("'ADS1115 Module 16-bit' OR 'SPI-to-UART'");
if (stringOne == "4A") Serial.println ("'ADS1115 Module 16-Bit'");
if (stringOne == "4B") Serial.println ("'ADS1115 Module 16-Bit'");
if (stringOne == "50") Serial.println ("'AT24C32 EEPROM'");
if (stringOne == "53") Serial.println ("'ADXL345 Input 3-Axis Digital Accelerometer'");
if (stringOne == "68") Serial.println ("'hodiny reálného času DS3231'");
if (stringOne == "7A") Serial.println ("'LCD OLED 128x64'");
if (stringOne == "76") Serial.println ("'snímač barometrického tlaku BMP280'");
if (stringOne == "77") Serial.println ("'Barometrický tlakový senzor BMP180' NEBO 'Barometrický tlakový senzor BMP280'");
if (stringOne == "78") Serial.println ("'LCD OLED 128x64'");
nDevices ++;
}
jinak pokud (chyba == 4)
{
Serial.print ("Neznámá chyba na adrese 0x");
if (adresa <16)
Serial.print ("0");
Serial.println (adresa, HEX);
}
}
if (nDevices == 0)
Serial.println ("Nebyla nalezena žádná zařízení I2C \ n");
jinde
Serial.println ("hotovo \ n");
zpoždění (5000);
}
Po spuštění Arduino IDE, výběru modelu arduino desky, instalaci sériového portu (mám com31) a zkopírování výše uvedeného kódu do okna s nahrazením textu. Začal jsem kompilaci, zatímco Arduino IDE žádá o uložení složky skici. Klikněte na Uložit a Arduino IDE se zkompiluje. Program zapíšeme na arduino desku a na monitoru sériového portu uvidíme následující:
Zajistili jsme tedy správné připojení desek.
Nyní, abyste mohli pracovat s mikroobvodem v reálném čase (ds1307), musíte nainstalovat knihovnu „Universal library iarduino_RTC.zip“
Soubor: iarduino_RTC.zip univerzální knihovna:
Po instalaci knihovny a restartu Arduino IDE spusťte příklad gettime:
Po dokončení kompilace, zápisu programu na arduino desku, na monitoru sériového portu uvidíme výsledek čipu v reálném čase.
Na fotografii níže, můj Arduino Pro Mini:
Přeji hezké nakupování!
Cena: ~ 29