Populārākas Posts

Redaktora Izvēle - 2020

Tiny RTC I2C moduļi - pulkstenis, precīzs ģenerators, atmiņas mikroshēma

Es par Aliexpress nopirku Tiny RTC I2C Modules dēli par 30 rubļiem.

Tiny RTC I2C moduļu tāfele izrādījās ļoti noderīga ierīce. Tiklīdz es iepazīstinu attēlu ar divu mikroshēmu savienojumu ar siksnu pie maizes dēļa, tas kļūst nedaudz nemierīgs no neuzticamo savienojumu skaita. Tiny RTC I2C moduļu tāfele ir ļoti ērti izmantojama, strādājot ar ds1307Z reālā laika pulksteņa mikroshēmu ar seriālo I2C interfeisu, 24C32 atmiņas mikroshēmu ar seriālo I2C interfeisu, iespēju uzstādīt ds18b20 temperatūras sensoru. Jūs varat arī iegūt precīzus taisnstūra impulsus no ds1307Z mikroshēmas 7. izejas, savienotājā tā ir apzīmēta ar burtiem SQ. Uz Tiny RTC I2C moduļu shēmas plates ir grūti pamanīt, ka ds1307Z mikroshēmas septītais tapa ir savienota ar P1 savienotāja septīto tapu.
Maza RTC I2C moduļu paneļa shēma:

Pirms pirkšanas es internetā meklēju informāciju. Es uzzināju, ka dēlis ir izgatavots darbam ar litija akumulatoru, kuru ir grūti iegādāties. Tiny RTC I2C moduļu paneļa pircēji akumulatora vietā uzstādīja litija bateriju, un tāfele nedarbojās pareizi. Mikroshēma patērē ļoti maz enerģijas, tāpēc dēli var izmantot kopā ar litija akumulatoru. Lai to izdarītu, no Tiny RTC I2C moduļu paneļa noņemiet šādus radio komponentus: diode D1, rezistors R4 un R6 vietā pielodējiet džemperi. Es izdzēsu arī rezistoru R7, iepazīstoties ar tipisko shēmu ds1307 mikroshēmas ieslēgšanai.

Tipiska ds1307 shēmas shēma:

Jūs varat uzzināt vairāk par Tiny RTC I2C moduļu paneļa pabeigšanu no video, ko ierakstījis un tīklā publicējis biedrs Aleksejs Bukrejevs.
Ds1307 mikroshēmas datu lapa:
ds1307_lat.pdf 312,14 Kb (lejupielādes: 229)
Skatīt tiešsaistes failu: ds1307_rus.pdf
ds1307_lat.pdf 312,14 Kb (lejupielādes: 229)
Skatīt tiešsaistes failu: ds1307_rus.pdf

Es savienoja Arduino Pro Mini plati ar Tiny RTC I2C Modules plati un Arduino Pro Mini plati ar USB seriālā adaptera CH340G plati.

Palaidiet kodu, lai noteiktu ds1307 un 24C32 mikroshēmu adreses. Kods tiek publicēts lapā:
//adatum.ru/skaner-shiny-i2c-dlya-arduino.html
Pats kods:
# iekļaut stīgu virkniOne; spēkā neesoša iestatīšana () {Wire.begin (); Sērijas.begin (9600); kamēr (! seriāls); } void loop () {baita kļūda, adrese; int nDevices; Serial.println ("Skenēšana ..."); nDevices = 0; for (adrese = 1; adrese <127; adrese ++) {Wire.beginTransmission (address); kļūda = Wire.endTransmission (); if (kļūda == 0) {String stringOne = String (adrese, 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 ieejas 3 asu digitālais akselerometrs' '); if (stringOne == "1E") Serial.println ("'HMC5883 3-Axis Digital Compass'"); if (stringOne == "5A") Serial.println ('' Skāriena sensors ''); if (stringOne == "5B") Serial.println ('' Skāriena sensors ''); if (stringOne == "5C") Serial.println ('' BH1750FVI digitālā gaismas sensors 'VAI' Skārienjutības sensors '); if (stringOne == "5D") Serial.println ('' Skāriena sensors ''); if (stringOne == "20") Serial.println ("'PCF8574 8-Bit I / O Expander' VAI 'LCM1602 LCD Adapter' '); if (stringOne == "21") Serial.println ("'PCF8574 8-Bit I / O Expander'"); if (stringOne == "22") Serial.println ("'PCF8574 8-Bit I / O Expander'"); if (stringOne == "23") Serial.println ("'PCF8574 8-bitu I / O paplašinātājs' VAI 'BH1750FVI digitālais gaismas sensors' '); 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-Bit I / O Expander' VAI 'LCM1602 LCD Adapter' '); if (stringOne == "39") Serial.println ("'TSL2561 Apkārtējās gaismas sensors'"); if (stringOne == "40") Serial.println ("'BMP180 barometriskā spiediena sensors'"); if (stringOne == "48") Serial.println ("'ADS1115 modulis 16 bitu' '); if (stringOne == "49") Serial.println ("'ADS1115 modulis 16 bitu' VAI 'SPI-to-UART' '); if (stringOne == "4A") Serial.println ("'ADS1115 modulis 16 bitu' '); if (stringOne == "4B") Serial.println ("'ADS1115 modulis 16 bitu' '); if (stringOne == "50") Serial.println ("'AT24C32 EEPROM'"); if (stringOne == "53") Serial.println ("'ADXL345 ieejas trīs asu digitālais akselerometrs' '); if (stringOne == "68") Serial.println ("'DS3231 reālā laika pulkstenis'"); if (stringOne == "7A") Serial.println ('' LCD OLED 128x64 ''); if (stringOne == "76") Serial.println ("'BMP280 barometriskā spiediena sensors'"); if (stringOne == "77") Serial.println ("'BMP180 barometriskā spiediena sensors' VAI 'BMP280 barometriskā spiediena sensors'"); if (stringOne == "78") Serial.println ("'LCD OLED 128x64'"); nDevices ++; } else if (kļūda == 4) {Serial.print ("Nezināt kļūda adresē 0x"); if (adrese <16) Serial.print ("0"); Serial.println (adrese, HEX); }} if (nDevices == 0) Serial.println ("Neviena I2C ierīce nav atrasta  n"); else Serial.println ("paveikts  n"); kavēšanās (5000); }

Pēc Arduino IDE palaišanas, izvēloties arduino tāfeles modeli, uzstādot seriālo portu (man ir com31) un nokopēju iepriekš norādīto kodu logā ar teksta aizstāšanu. Es sāku apkopošanu, kamēr Arduino IDE lūdz saglabāt skices mapi. Noklikšķiniet uz Saglabāt un Arduino IDE apkoposies. Mēs rakstām programmu arduino tāfelē, un seriālā porta monitorā mēs redzam sekojošo:

Tātad, mēs pārliecinājāmies, ka dēļi ir savienoti pareizi.
Tagad, lai strādātu ar reālā laika mikroshēmu (ds1307), jāinstalē bibliotēka "Universal library iarduino_RTC.zip"
Fails: iarduino_RTC.zip Universālā bibliotēka:
Pēc bibliotēkas instalēšanas un Arduino IDE pārstartēšanas palaidiet gettime piemēru:

Pēc apkopošanas, programmas rakstīšanas arduino tāfelē, seriālā porta monitorā mēs redzēsim reālā laika mikroshēmas rezultātu.

Zemāk redzamajā fotoattēlā mans Arduino Pro Mini:

Lai jauka iepirkšanās!

Sīkāka informācija par Aliexpress

"

Atstājiet Savu Komentāru