• How to Place an Order

  • bKash Payment Method

  • Request for Quotation/ International Sourcing

Arduino Uno R3

Arduino UNO in Bangladesh The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz ceramic resonator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller.

Price BDT 399
More
In Stock
All best sellers

DS1302 Real Time Clock Module (DS1302Z clock chip,32.768KHZ crystal)

BDT 200
Quantity
In-Stock

  • Store Pickup Available! Store Pickup Available!
  • Shipping Available Shipping Available
  • Free Ship Over 5000 BDT Free Ship Over 5000 BDT
  • Quality Product Quality Product
Description

DS1302 Real Time Clock

The DS1302 is a Real Time Clock (RTC) or TimeKeeping Chip with a build-in Trickle-Charger.

Important note : Cheap modules with the DS1302 and DS1307 have often problems with the crystal and the voltage. They often don't work very well. You are strongly advised to use a DS3231, which is very reliable and accurate and needs only a battery to run (the crystal is inside the DS3231).

This is a cheap module with the DS1302:

(photo by Krodal, Public Domain. The RST pin is the old name for the CE pin. This circuit has pull-down resistors which are an extra, in many cases they are not needed.)

The page at maxim for the DS1302 with all information and datasheet: http://www.maxim-ic.com/datasheet/index.mvp/id/2685

For other programs and Real Time Clock chips, see the Time-section in the Playground index.


Connect it to the Arduino

The DS1302 can be easily connected to the Arduino. Three pins are needed for the interface (CE, I/O, SCLK), and Vcc2 should be connected to +5V (or +3.3V). The Vcc1 is for a battery or a rechargable battery or a supercap.
A crystal of 32.768kHz should be connected to X1 and X2.

The DS1302 will run with a voltage from 2.0V to 5.5V.

The three pins for the interface should avoid to use the internal pull-up resistors of the Arduino. The DS1302 has internal pull-down resistors, and the CE and SCLK lines should be low when inactive.

Some schematics on the internet have pull-up resistors on the three interface lines. That is wrong. Other schematics use two 22pF with the crystal. That is also wrong. See the datasheet for full specifications and a circuit.


Interfacing the DS1302

The DS1302 uses three lines (CE, I/O, SCLK). It is not I2C, it's not OneWire, and it is not SPI. The most used name is "3-wire interface".

The communication is straight forward, with one strange thing:

If a byte is read, the addres is written first. The last clock pulse of the address (using the rising edge) is also the first clock pulse of the data to read (using the falling edge). So the code has to detect that condition to prevent an extra clock pulse.

Reading valid clock data.

During reading, the clock could rollover. That would result in bad clock data. To prevent that, the DS1302 has a buffer to store the clock data. That buffer can be read in a single communication session, called a "burst" mode.

Any valid program should therefor use that "burst" mode to read the clock data.

The Year data of the DS1302 is only two digits (0-99). The Year '0' is 2000, and not 1970 or 1980. It has a Leap-Year compensation from 2000 up to 2099 (for a value of 0-99).

The DS1302 does not use Daylight Saving Time ( http://en.wikipedia.org/wiki/Daylight_saving_time ).


Ram

The chip has 31 bytes of ram. The data in this ram will get lost if the Arduino is off, and the battery (or supercap) gets empty.
To store data, the EEPROM section of the AVR chip (the microprocessor used in the Arduino) is a much better choice.


Code

The standard date and time functions like: strftime(), timelocal(), getdate(), mktime() are not available for the Arduino environment. Arduino uses the AVR GCC compiler which has no such functions.
At this moment (2012) there is no official library for date and time functions for the Arduino.

The most used date and time functions for the Arduino : http://playground.arduino.cc/Code/time

For the name of a month, this page contains many languages: http://www.omniglot.com/language/time/months.htm

The code below contains basic interface functions for the DS1302. Use it with Arduino 1.0.3 or higher.

Code improvement:

I was noted that the code could be improved. Reading from the DS1302 I/O line is only valid during SCLK low. During SCLK high, the I/O line could be set as input. That way the check for the 7th bit is not needed, since the line is always released.

By using a structure with bit fields, reading and writing the clock data is very simple.

The code below uses the European 24-hour format.

The size of the sketch is about 7k and will fit in a ATmega8.

 

// DS1302 RTC
// ----------
//
// Open Source / Public Domain
//
// Version 1
//     By arduino.cc user "Krodal".
//     June 2012
//     Using Arduino 1.0.1
// Version 2
//     By arduino.cc user "Krodal"
//     March 2013
//     Using Arduino 1.0.3, 1.5.2
//     The code is no longer compatible with older versions.
//     Added bcd2bin, bin2bcd_h, bin2bcd_l
//     A few minor changes.
//
//
// Documentation: datasheet
// 
// The DS1302 uses a 3-wire interface: 
//    - bidirectional data.
//    - clock
//    - chip select
// It is not I2C, not OneWire, and not SPI.
// So the standard libraries can not be used.
// Even the shiftOut() function is not used, since it
// could be too fast (it might be slow enough, 
// but that's not certain).
//
// I wrote my own interface code according to the datasheet.
// Any three pins of the Arduino can be used.
//   See the first defines below this comment, 
//   to set your own pins.
//
// The "Chip Enable" pin was called "/Reset" before.
//
// The chip has internal pull-down registers.
// This keeps the chip disabled, even if the pins of 
// the Arduino are floating.
//
//
// Range
// -----
//      seconds : 00-59
//      minutes : 00-59
//      hour    : 1-12 or 0-23
//      date    : 1-31
//      month   : 1-12
//      day     : 1-7
//      year    : 00-99
//
//
// Burst mode
// ----------
// In burst mode, all the clock data is read at once.
// This is to prevent a rollover of a digit during reading.
// The read data is from an internal buffer.
//
// The burst registers are commands, rather than addresses.
// Clock Data Read in Burst Mode
//    Start by writing 0xBF (as the address), 
//    after that: read clock data
// Clock Data Write in Burst Mode
//    Start by writing 0xBE (as the address), 
//    after that: write clock data
// Ram Data Read in Burst Mode
//    Start by writing 0xFF (as the address), 
//    after that: read ram data
// Ram Data Write in Burst Mode
//    Start by writing 0xFE (as the address), 
//    after that: write ram data
//
//
// Ram
// ---
// The DS1302 has 31 of ram, which can be used to store data.
// The contents will be lost if the Arduino is off, 
// and the backup battery gets empty.
// It is better to store data in the EEPROM of the Arduino.
// The burst read or burst write for ram is not implemented 
// in this code.
//
//
// Trickle charge
// --------------
// The DS1302 has a build-in trickle charger.
// That can be used for example with a lithium battery 
// or a supercap.
// Using the trickle charger has not been implemented 
// in this code.
//


// Set your own pins with these defines !
#define DS1302_SCLK_PIN   6    // Arduino pin for the Serial Clock
#define DS1302_IO_PIN     7    // Arduino pin for the Data I/O
#define DS1302_CE_PIN     8    // Arduino pin for the Chip Enable


// Macros to convert the bcd values of the registers to normal
// integer variables.
// The code uses separate variables for the high byte and the low byte
// of the bcd, so these macros handle both bytes separately.
#define bcd2bin(h,l)    (((h)*10) + (l))
#define bin2bcd_h(x)   ((x)/10)
#define bin2bcd_l(x)    ((x)%10)


// Register names.
// Since the highest bit is always '1', 
// the registers start at 0x80
// If the register is read, the lowest bit should be '1'.
#define DS1302_SECONDS           0x80
#define DS1302_MINUTES           0x82
#define DS1302_HOURS             0x84
#define DS1302_DATE              0x86
#define DS1302_MONTH             0x88
#define DS1302_DAY               0x8A
#define DS1302_YEAR              0x8C
#define DS1302_ENABLE            0x8E
#define DS1302_TRICKLE           0x90
#define DS1302_CLOCK_BURST       0xBE
#define DS1302_CLOCK_BURST_WRITE 0xBE
#define DS1302_CLOCK_BURST_READ  0xBF
#define DS1302_RAMSTART          0xC0
#define DS1302_RAMEND            0xFC
#define DS1302_RAM_BURST         0xFE
#define DS1302_RAM_BURST_WRITE   0xFE
#define DS1302_RAM_BURST_READ    0xFF



// Defines for the bits, to be able to change 
// between bit number and binary definition.
// By using the bit number, using the DS1302 
// is like programming an AVR microcontroller.
// But instead of using "(1<<X)", or "_BV(X)", 
// the Arduino "bit(X)" is used.
#define DS1302_D0 0
#define DS1302_D1 1
#define DS1302_D2 2
#define DS1302_D3 3
#define DS1302_D4 4
#define DS1302_D5 5
#define DS1302_D6 6
#define DS1302_D7 7


// Bit for reading (bit in address)
#define DS1302_READBIT DS1302_D0 // READBIT=1: read instruction

// Bit for clock (0) or ram (1) area, 
// called R/C-bit (bit in address)
#define DS1302_RC DS1302_D6

// Seconds Register
#define DS1302_CH DS1302_D7   // 1 = Clock Halt, 0 = start

// Hour Register
#define DS1302_AM_PM DS1302_D5 // 0 = AM, 1 = PM
#define DS1302_12_24 DS1302_D7 // 0 = 24 hour, 1 = 12 hour

// Enable Register
#define DS1302_WP DS1302_D7   // 1 = Write Protect, 0 = enabled

// Trickle Register
#define DS1302_ROUT0 DS1302_D0
#define DS1302_ROUT1 DS1302_D1
#define DS1302_DS0   DS1302_D2
#define DS1302_DS1   DS1302_D2
#define DS1302_TCS0  DS1302_D4
#define DS1302_TCS1  DS1302_D5
#define DS1302_TCS2  DS1302_D6
#define DS1302_TCS3  DS1302_D7


// Structure for the first 8 registers.
// These 8 bytes can be read at once with 
// the 'clock burst' command.
// Note that this structure contains an anonymous union.
// It might cause a problem on other compilers.
typedef struct ds1302_struct
{
  uint8_t Seconds:4;      // low decimal digit 0-9
  uint8_t Seconds10:3;    // high decimal digit 0-5
  uint8_t CH:1;           // CH = Clock Halt
  uint8_t Minutes:4;
  uint8_t Minutes10:3;
  uint8_t reserved1:1;
  union
  {
    struct
    {
      uint8_t Hour:4;
      uint8_t Hour10:2;
      uint8_t reserved2:1;
      uint8_t hour_12_24:1; // 0 for 24 hour format
    } h24;
    struct
    {
      uint8_t Hour:4;
      uint8_t Hour10:1;
      uint8_t AM_PM:1;      // 0 for AM, 1 for PM
      uint8_t reserved2:1;
      uint8_t hour_12_24:1; // 1 for 12 hour format
    } h12;
  };
  uint8_t Date:4;           // Day of month, 1 = first day
  uint8_t Date10:2;
  uint8_t reserved3:2;
  uint8_t Month:4;          // Month, 1 = January
  uint8_t Month10:1;
  uint8_t reserved4:3;
  uint8_t Day:3;            // Day of week, 1 = first day (any day)
  uint8_t reserved5:5;
  uint8_t Year:4;           // Year, 0 = year 2000
  uint8_t Year10:4;
  uint8_t reserved6:7;
  uint8_t WP:1;             // WP = Write Protect
};


void setup()
{      
  ds1302_struct rtc;


  Serial.begin(9600);
  Serial.println(F("DS1302 Real Time Clock"));
  Serial.println(F("Version 2, March 2013"));


  // Start by clearing the Write Protect bit
  // Otherwise the clock data cannot be written
  // The whole register is written, 
  // but the WP-bit is the only bit in that register.
  DS1302_write (DS1302_ENABLE, 0);

  // Disable Trickle Charger.
  DS1302_write (DS1302_TRICKLE, 0x00);

// Remove the next define, 
// after the right date and time are set.
#define SET_DATE_TIME_JUST_ONCE
#ifdef SET_DATE_TIME_JUST_ONCE  

  // Fill these variables with the date and time.
  int seconds, minutes, hours, dayofweek, dayofmonth, month, year;

  // Example for april 15, 2013, 10:08, monday is 2nd day of Week.
  // Set your own time and date in these variables.
  seconds    = 0;
  minutes    = 8;
  hours      = 10;
  dayofweek  = 2;  // Day of week, any day can be first, counts 1...7
  dayofmonth = 15; // Day of month, 1...31
  month      = 4;  // month 1...12
  year       = 2013;

  // Set a time and date
  // This also clears the CH (Clock Halt) bit, 
  // to start the clock.

  // Fill the structure with zeros to make 
  // any unused bits zero
  memset ((char *) &rtc, 0, sizeof(rtc));

  rtc.Seconds    = bin2bcd_l( seconds);
  rtc.Seconds10  = bin2bcd_h( seconds);
  rtc.CH         = 0;      // 1 for Clock Halt, 0 to run;
  rtc.Minutes    = bin2bcd_l( minutes);
  rtc.Minutes10  = bin2bcd_h( minutes);
  // To use the 12 hour format,
  // use it like these four lines:
  //    rtc.h12.Hour   = bin2bcd_l( hours);
  //    rtc.h12.Hour10 = bin2bcd_h( hours);
  //    rtc.h12.AM_PM  = 0;     // AM = 0
  //    rtc.h12.hour_12_24 = 1; // 1 for 24 hour format
  rtc.h24.Hour   = bin2bcd_l( hours);
  rtc.h24.Hour10 = bin2bcd_h( hours);
  rtc.h24.hour_12_24 = 0; // 0 for 24 hour format
  rtc.Date       = bin2bcd_l( dayofmonth);
  rtc.Date10     = bin2bcd_h( dayofmonth);
  rtc.Month      = bin2bcd_l( month);
  rtc.Month10    = bin2bcd_h( month);
  rtc.Day        = dayofweek;
  rtc.Year       = bin2bcd_l( year - 2000);
  rtc.Year10     = bin2bcd_h( year - 2000);
  rtc.WP = 0;  

  // Write all clock data at once (burst mode).
  DS1302_clock_burst_write( (uint8_t *) &rtc);
#endif
}


void loop()
{
  ds1302_struct rtc;
  char buffer[80];     // the code uses 70 characters.

  // Read all clock data at once (burst mode).
  DS1302_clock_burst_read( (uint8_t *) &rtc);

  sprintf( buffer, "Time = %02d:%02d:%02d, ", 
    bcd2bin( rtc.h24.Hour10, rtc.h24.Hour), 
    bcd2bin( rtc.Minutes10, rtc.Minutes), 
    bcd2bin( rtc.Seconds10, rtc.Seconds));
  Serial.print(buffer);

  sprintf(buffer, "Date(day of month) = %d, Month = %d, " 
    "Day(day of week) = %d, Year = %d", 
    bcd2bin( rtc.Date10, rtc.Date), 
    bcd2bin( rtc.Month10, rtc.Month), 
    rtc.Day, 
    2000 + bcd2bin( rtc.Year10, rtc.Year));
  Serial.println( buffer);

  delay( 5000);
}


// --------------------------------------------------------
// DS1302_clock_burst_read
//
// This function reads 8 bytes clock data in burst mode
// from the DS1302.
//
// This function may be called as the first function, 
// also the pinMode is set.
//
void DS1302_clock_burst_read( uint8_t *p)
{
  int i;

  _DS1302_start();

  // Instead of the address, 
  // the CLOCK_BURST_READ command is issued
  // the I/O-line is released for the data
  _DS1302_togglewrite( DS1302_CLOCK_BURST_READ, true);  

  for( i=0; i<8; i++)
  {
    *p++ = _DS1302_toggleread();
  }
  _DS1302_stop();
}


// --------------------------------------------------------
// DS1302_clock_burst_write
//
// This function writes 8 bytes clock data in burst mode
// to the DS1302.
//
// This function may be called as the first function, 
// also the pinMode is set.
//
void DS1302_clock_burst_write( uint8_t *p)
{
  int i;

  _DS1302_start();

  // Instead of the address, 
  // the CLOCK_BURST_WRITE command is issued.
  // the I/O-line is not released
  _DS1302_togglewrite( DS1302_CLOCK_BURST_WRITE, false);  

  for( i=0; i<8; i++)
  {
    // the I/O-line is not released
    _DS1302_togglewrite( *p++, false);  
  }
  _DS1302_stop();
}


// --------------------------------------------------------
// DS1302_read
//
// This function reads a byte from the DS1302 
// (clock or ram).
//
// The address could be like "0x80" or "0x81", 
// the lowest bit is set anyway.
//
// This function may be called as the first function, 
// also the pinMode is set.
//
uint8_t DS1302_read(int address)
{
  uint8_t data;

  // set lowest bit (read bit) in address
  bitSet( address, DS1302_READBIT);  

  _DS1302_start();
  // the I/O-line is released for the data
  _DS1302_togglewrite( address, true);  
  data = _DS1302_toggleread();
  _DS1302_stop();

  return (data);
}


// --------------------------------------------------------
// DS1302_write
//
// This function writes a byte to the DS1302 (clock or ram).
//
// The address could be like "0x80" or "0x81", 
// the lowest bit is cleared anyway.
//
// This function may be called as the first function, 
// also the pinMode is set.
//
void DS1302_write( int address, uint8_t data)
{
  // clear lowest bit (read bit) in address
  bitClear( address, DS1302_READBIT);   

  _DS1302_start();
  // don't release the I/O-line
  _DS1302_togglewrite( address, false); 
  // don't release the I/O-line
  _DS1302_togglewrite( data, false); 
  _DS1302_stop();  
}


// --------------------------------------------------------
// _DS1302_start
//
// A helper function to setup the start condition.
//
// An 'init' function is not used.
// But now the pinMode is set every time.
// That's not a big deal, and it's valid.
// At startup, the pins of the Arduino are high impedance.
// Since the DS1302 has pull-down resistors, 
// the signals are low (inactive) until the DS1302 is used.
void _DS1302_start( void)
{
  digitalWrite( DS1302_CE_PIN, LOW); // default, not enabled
  pinMode( DS1302_CE_PIN, OUTPUT);  

  digitalWrite( DS1302_SCLK_PIN, LOW); // default, clock low
  pinMode( DS1302_SCLK_PIN, OUTPUT);

  pinMode( DS1302_IO_PIN, OUTPUT);

  digitalWrite( DS1302_CE_PIN, HIGH); // start the session
  delayMicroseconds( 4);           // tCC = 4us
}


// --------------------------------------------------------
// _DS1302_stop
//
// A helper function to finish the communication.
//
void _DS1302_stop(void)
{
  // Set CE low
  digitalWrite( DS1302_CE_PIN, LOW);

  delayMicroseconds( 4);           // tCWH = 4us
}


// --------------------------------------------------------
// _DS1302_toggleread
//
// A helper function for reading a byte with bit toggle
//
// This function assumes that the SCLK is still high.
//
uint8_t _DS1302_toggleread( void)
{
  uint8_t i, data;

  data = 0;
  for( i = 0; i <= 7; i++)
  {
    // Issue a clock pulse for the next databit.
    // If the 'togglewrite' function was used before 
    // this function, the SCLK is already high.
    digitalWrite( DS1302_SCLK_PIN, HIGH);
    delayMicroseconds( 1);

    // Clock down, data is ready after some time.
    digitalWrite( DS1302_SCLK_PIN, LOW);
    delayMicroseconds( 1);        // tCL=1000ns, tCDD=800ns

    // read bit, and set it in place in 'data' variable
    bitWrite( data, i, digitalRead( DS1302_IO_PIN)); 
  }
  return( data);
}


// --------------------------------------------------------
// _DS1302_togglewrite
//
// A helper function for writing a byte with bit toggle
//
// The 'release' parameter is for a read after this write.
// It will release the I/O-line and will keep the SCLK high.
//
void _DS1302_togglewrite( uint8_t data, uint8_t release)
{
  int i;

  for( i = 0; i <= 7; i++)
  { 
    // set a bit of the data on the I/O-line
    digitalWrite( DS1302_IO_PIN, bitRead(data, i));  
    delayMicroseconds( 1);     // tDC = 200ns

    // clock up, data is read by DS1302
    digitalWrite( DS1302_SCLK_PIN, HIGH);     
    delayMicroseconds( 1);     // tCH = 1000ns, tCDH = 800ns

    if( release && i == 7)
    {
      // If this write is followed by a read, 
      // the I/O-line should be released after 
      // the last bit, before the clock line is made low.
      // This is according the datasheet.
      // I have seen other programs that don't release 
      // the I/O-line at this moment,
      // and that could cause a shortcut spike 
      // on the I/O-line.
      pinMode( DS1302_IO_PIN, INPUT);

      // For Arduino 1.0.3, removing the pull-up is no longer needed.
      // Setting the pin as 'INPUT' will already remove the pull-up.
      // digitalWrite (DS1302_IO, LOW); // remove any pull-up  
    }
    else
    {
      digitalWrite( DS1302_SCLK_PIN, LOW);
      delayMicroseconds( 1);       // tCL=1000ns, tCDD=800ns
    }
  }
}
Product Details
7 Items

Click here to leave a review

30 other products in the same category:

Reference: SEN-09403

Carbon Monoxide Sensor - MQ-7

Description: This is a simple-to-use Carbon Monoxide (CO)sensor, suitable for sensing CO concentrations in the air. The MQ-7 can detect CO-gas concentrations anywhere from 20 to 2000ppm.

Price BDT 750
More
In Stock

TCRT5000L Reflective Optical Sensor

The TCRT5000 and TCRT5000L are reflective sensors which include an infrared emitter and phototransistor in a leaded package which blocks visible light. The package includes two mounting clips. TCRT5000L is the long lead version.

Price BDT 10
More
In-Stock

Arduino GSM / GPRS SIM900 Shield

Details: The GPRS Shield is based on SIM900  module from SIMCOM and compatible with  Arduino and its clones. The GPRS Shield  provides you a way to communicate using  the GSM cell phone network.

Price BDT 2,200
More
Last items in stock

Slamtec RPLIDAR A1 2D 360 Degree 12 Meters LIDAR Sensor

Slamtec RPLIDAR A1 2D 360 Degree 12 Meters Scanning Radius LIDAR Sensor Scanner for Bstacle Avoidance and Navigation of Robot Features: Measures distance data in more than 8000 times/s 360 Degree Omnidirectional Laser Range Scanning 8000 times sample rate,the highest in the current economical LIDAR industry OPTMAG Original Design,prolong the life-span...

Price BDT 11,870
More
Last items in stock

Force Sensitive Resistor - Square

Description: This is a force sensitive resistor with a square, 1.75x1.5", sensing area. This FSR will vary its resistance depending on how much pressure is being applied to the sensing area

Price BDT 820
More
In-Stock

Reference: SparkFun

Flex Sensor 2.2"

Description: A simple flex sensor 2.2" in length. As the sensor is flexed, the resistance across the sensor increases. Patented technology by Spectra Symbol - they claim these sensors were used in the originalNintendo Power Glove. I love the Nintendo Power Glove. It’s so bad!

Price BDT 1,050
More
In-stock

Analog pH Sensor / Meter Kit For Arduino

Need to measure water quality and other parameters but haven't got any low cost pH meter? Find it difficult to use with Arduino? Analog pH meter, specially designed for Arduino controllers and has convenient and practical "Gravity" connector and a bunch of features

Price BDT 3,400
More
In Stock

IR Receiver Diode (3mm)

IR Receiver Diode (3mm) IR receiver diodes can be used in object detection applications like line follower,obstacle detecting robots etc.These were used in our IR Sensor Array.

Price BDT 4
More
In-Stock

Current Sensor ACS712-20A

DESCRIPTION Sensor module for measuring current. Both AC and DC, up to 20A can be measured. The output is a linear voltage between 0 – VCC, centered around VCC/2 at 0A. The load is connected in series to the screw terminal. * Dimensions: 31 x 13mm* Supply voltage: 5V* Sensitivity: 185mV/A* Sensor: ACS712ELC-05B

Price BDT 199
More
In-Stock

GY-VL53L0XV2V VL53L0X Time-of-Flight Distance Sensor Breakout Module

The VL53L0 uses ST’s FlightSense technology to precisely measure how long it takes for emitted pulses of infrared laser light to reach the nearest object and be reflected back to a detector, so it can be considered a tiny, self-contained lidar system. This time-of-flight (TOF) measurement enables it to accurately determine the absolute distance to a target

Price BDT 1,499
More
In-Stock

HB100 Microwave Sensor 10.525GHz Doppler Radar Motion Detector Arduino

Type: Microwave SensorChip: HB100Frequency: 10.525GHzVoltage: DC 5V±0.25VCurrent: 40mASize: 38 x 45 x 7 mm (L x W x H)Application: Automatic door startup, Car, House intrusion alarm, Collision warningTraffic monitoringNote:Please pay attention to the Voltage/Current/Power of your own devices.To ensure product safety, check whether this item is compliant...

Price BDT 620
More
In-Stock

9 Degrees of Freedom Breakout- MPU9250

9-Axis Gyro + Accelerator + Magnetometer Sensor Module MPU-9250   Features and Specifications: Chip: MPU9250; Power voltage: 3~5V Communication mode: I2C / SPI Gyro range: +/-250, +/-500, +/-1000, +/-2000dps Accelerator range: +/-2G, +/-4G, +/-8G, +/-16G Magnetometer range: +/-4800uF Pin spacing : 2.54mm

Price BDT 845
More
In-stock

TTP223B Digital Touch Sensor Capacitive Touch

Specification: The module is based on a touch-sensing IC (TTP223B) capacitive touch switch module. In the normal state, the module output low, low power consumption; When a finger touches the corresponding position, the module output high, if not touched for 12 seconds, switch to low-power mode. Features: Low power consumption Power supply for 2 ~ 5.5V DC

Price BDT 50
More
In-Stock

Current Sensor ACS712-5A

DESCRIPTION Sensor module for measuring current. Both AC and DC, up to 5A can be measured. The output is a linear voltage between 0 – VCC, centered around VCC/2 at 0A. The load is connected in series to the screw terminal. * Dimensions: 31 x 13mm* Supply voltage: 5V* Sensitivity: 185mV/A* Sensor: ACS712ELC-05B

Price BDT 179
More
In-Stock

Follow us on Facebook