{"title":"Modules","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","products":[{"product_id":"hc-sr04-ultrasonic-module-distance-sensor-2","title":"1D26 HC-SR04 Ultrasonic Module Distance Sensor","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eHC-SR04 stands for High-Conductance\u003ca href=\"https:\/\/vayuyaan.com\/shop\/sensor\/ultrasonic-range-sensor-hc-sr04-sensor-module\/\" previewlistener=\"true\"\u003e\u003cstrong\u003e\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e\u003c\/a\u003eUltrasonic Sensor consists of a transmitter and receiver. The sensor measures how far things are without touching them, and it uses sound waves to get the measurements right. It can work well when things are between two to four centimeters away. Just like other tools that measure distances, this sensor doesn’t harm objects. So, it’s good for things that are around two to four centimeters away.\u003c\/p\u003e\n\u003cp\u003eThe HC-SR04 creates sounds we can’t hear, which help us figure out how far things are or how they’re placed. The sensor can feel things within a specific area. To get it to function, you need to lift the Trig pin while keeping the Echo pin down for roughly 10 seconds.\u003c\/p\u003e\n\u003cp\u003eThe Ultrasonic sensor can tell you how far things are, even if they’re as distant as 13 feet. It’s really cheap and easy to use, which is great for robots that run on batteries. This thing kind of looks like the eyes of Wall-E the Robot. It sends out sounds you can’t hear, and these sounds are like 40,000 little vibrations per second. The farther away things are, the quieter the sounds get. Depending on how far stuff is, you can use this sensor for all sorts of things. You can also study how the sensor works to get what it does.\u003c\/p\u003e\n\u003cp\u003eEvery time the wave reflects, the HC-SR04 produces a pulse. The time between the transmitted wave and the reflected signal is proportional to the distance, and the longer the time, the greater the distance. The sensor can determine the distance between the transmitter and the object when this pulse is high. It is an excellent tool for robot obstacle avoidance and path-finding applications. This is the ultrasonic sensor definition.\u003c\/p\u003e\n\u003ch3 id=\"technical-specifications\"\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cp\u003eHere are the specifications:\u003c\/p\u003e\n\u003cdiv class=\"tablescroll\"\u003e\n\u003ctable class=\"tabler max550 parametertabler\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd\u003eDC 5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Current\u003c\/td\u003e\n\u003ctd\u003e15mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Frequency\u003c\/td\u003e\n\u003ctd\u003e40KHz\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax Range\u003c\/td\u003e\n\u003ctd\u003e4m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMin Range\u003c\/td\u003e\n\u003ctd\u003e2cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRanging Accuracy\u003c\/td\u003e\n\u003ctd\u003e3mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMeasuring Angle\u003c\/td\u003e\n\u003ctd\u003e15 degree\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTrigger Input Signal\u003c\/td\u003e\n\u003ctd\u003e10µS TTL pulse\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimension\u003c\/td\u003e\n\u003ctd\u003e45 x 20 x 15mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003cbr\u003e\u003c\/p\u003e\n\u003ch2 class=\"wp-block-heading\"\u003eHow Ultrasonic Sensor Works\u003c\/h2\u003e\n\u003cp\u003eIt all starts when the trigger pin is set HIGH for 10µs. In response, the sensor transmits an ultrasonic burst of eight pulses at 40 kHz. This 8-pulse pattern is specially designed so that the receiver can distinguish the transmitted pulses from ambient ultrasonic noise.\u003c\/p\u003e\n\u003cp\u003eThese eight ultrasonic pulses travel through the air away from the transmitter. Meanwhile the echo pin goes HIGH to initiate the echo-back signal.\u003c\/p\u003e\n\u003cp\u003eIf those pulses are not reflected back, the echo signal times out and goes low after 38ms (38 milliseconds). Thus a pulse of 38ms indicates no obstruction within the range of the sensor.\u003cimg alt=\"HC-SR04 Ultrasonic Sensor Working - Echo when no Obstacle\" height=\"435\" width=\"565\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/HC-SR04-Ultrasonic-Sensor-Working-Echo-when-no-Obstacle.gif\" decoding=\"async\" loading=\"lazy\"\u003e\u003c\/p\u003e\n\u003cp\u003eIf those pulses are reflected back, the echo pin goes low as soon as the signal is received. This generates a pulse on the echo pin whose width varies from 150 µs to 25 ms depending on the time taken to receive the signal.\u003cimg alt=\"HC-SR04 Ultrasonic Sensor Working - Echo reflected from Obstacle\" height=\"435\" width=\"565\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/HC-SR04-Ultrasonic-Sensor-Working-Echo-reflected-from-Obstacle.gif\" decoding=\"async\" loading=\"lazy\"\u003e\u003c\/p\u003e\n\u003ch3 id=\"hcsr04-ultrasonic-sensor-pinout\"\u003ePinout\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"HC-SR04 Ultrasonic Distance Sensor Pinout\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/HC-SR04-Ultrasonic-Distance-Sensor-Pinout.png\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-red\"\u003eVCC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003esupplies power to the HC-SR04 ultrasonic sensor. You can connect it to the 5V output from your Arduino.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-blue\"\u003eTrig (Trigger)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epin is used to trigger ultrasonic sound pulses. By setting this pin to HIGH for 10µs, the sensor initiates an ultrasonic burst.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-purple\"\u003eEcho\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epin goes high when the ultrasonic burst is transmitted and remains high until the sensor receives an echo, after which it goes low. By measuring the time the Echo pin stays high, the distance can be calculated.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-black\"\u003eGND\u003c\/span\u003e\u003cspan\u003e is the ground pin. Connect it to the ground of the Arduino.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3 id=\"wiring-an-hcsr04-sensor-to-an-arduino\"\u003eWiring\u003c\/h3\u003e\n\u003cp\u003eConnecting the HC-SR04 to Arduino is very easy. Start by placing the sensor on your breadboard. Connect the VCC pin to the 5V pin on the Arduino and the GND pin to the ground pin. Now connect the trig and echo pins to digital pins #9 and #10 respectively.\u003c\/p\u003e\n\u003cp\u003eThe following table lists the pin connections:\u003c\/p\u003e\n\u003cdiv class=\"tablescroll\"\u003e\n\u003ctable class=\"tabler connections\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"tabler-header\"\u003e\n\u003ctd\u003eHC-SR04 Sensor\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003eArduino\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVCC\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-red\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTrig\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-green\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e9\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEcho\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-blue\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e10\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-black\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003eWhen you are done you should have something that looks similar to the image shown below.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Arduino-Wiring-Fritzing-Normal-Mode-Connections-with-HC-SR04-Ultrasonic-Sensor.png\" alt=\"Arduino Wiring Fritzing Normal Mode Connections with HC-SR04 Ultrasonic Sensor\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3 id=\"library-installation-newping\"\u003eLibrary Installation\u003c\/h3\u003e\n\u003cp\u003eTriggering the ultrasonic sensor and measuring the received signal pulse width manually is a lot of work but luckily there are many libraries available to us. One of the popular libraries is the\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/playground.arduino.cc\/Code\/NewPing\" aria-label=\"(opens in a new tab)\" target=\"_blank\" previewlistener=\"true\"\u003eNewPing\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003elibrary. This is the library we will use in our examples.\u003c\/p\u003e\n\u003cp\u003eThe NewPing library is quite advanced. It supports up to 15 ultrasonic sensors at once and can output directly in centimeters, inches, or time periods.\u003c\/p\u003e\n\u003cp\u003eThis library is not included in the Arduino IDE, so you will need to install it first.\u003c\/p\u003e\n\u003cp\u003eTo install the library navigate to Sketch \u0026gt; Include Libraries \u0026gt; Manage Libraries… Wait for Library Manager to download the library index and update the list of installed libraries.\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Manage-Libraries.png\" alt=\"manage libraries\" width=\"531\" height=\"535\"\u003e\u003c\/p\u003e\n\u003cp\u003eFilter your search by typing ‘newping’. Click on the first entry and then select Install.\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/NewPing-Library-Installation.png\" alt=\"newping library installation\" width=\"700\" height=\"316\"\u003e\u003c\/p\u003e\n\u003ch3 id=\"arduino-example-code\"\u003eArduino Example Code\u003c\/h3\u003e\n\u003cp\u003eHere is a simple sketch that uses the serial monitor to display a distance measured in centimeters. Give this sketch a try before we start a detailed analysis of it.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\/\/ Include NewPing Library\n#include \"NewPing.h\"\n\n\/\/ Hook up HC-SR04 with Trig to Arduino Pin 9, Echo to Arduino pin 10\n#define TRIGGER_PIN 9\n#define ECHO_PIN 10\n\n\/\/ Maximum distance we want to ping for (in centimeters).\n#define MAX_DISTANCE 400\t\n\n\/\/ NewPing setup of pins and maximum distance.\nNewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);\n\nvoid setup() {\n\tSerial.begin(9600);\n}\n\nvoid loop() {\n\tSerial.print(\"Distance = \");\n\tSerial.print(sonar.ping_cm());\n\tSerial.println(\" cm\");\n\tdelay(500);\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eOnce the sketch is uploaded, open your serial monitor, set the baud rate to 9600 bps. Try pointing the sensor at objects lying around you. You should see the measured distance begin to stream by.\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/HC-SR04-Ultrasonic-Sensor-Arduino-Distance-Measurement-Sketch-Output-Serial-Monitor.png\" width=\"481\" height=\"309\" alt=\"HC-SR04 Ultrasonic Sensor Arduino Distance Measurement Sketch Output on Serial Monitor\"\u003e\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image size-full\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\n\u003cfigcaption\u003eOutput on Serial Monitor\u003c\/figcaption\u003e\n\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003ch3 id=\"code-explanation-newping\"\u003eCode Explanation:\u003c\/h3\u003e\n\u003cp\u003eThe sketch starts by including the newly installed NewPing library.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e#include \u003cspan class=\"str\"\u003e\"NewPing.h\"\u003c\/span\u003e\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eFirst the Arduino pins are defined to which the Trig and Echo pins of the HC-SR04 are connected. We have also defined a constant called\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eMAX_DISTANCE\u003c\/code\u003e. It will set a maximum distance where pings beyond that distance are read as no ping “clear”.\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eMAX_DISTANCE\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003eis currently set to 400 [default = 500cm].\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e#define TRIGGER_PIN 9\n#define ECHO_PIN 10\n#define MAX_DISTANCE 400\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eAfter this, an instance of NewPing library named\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003esonar\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003eis created.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003eNewPing \u003cspan class=\"func\"\u003esonar\u003c\/span\u003e(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eIn the setup, we initialize the serial communication with PC.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"kwd\"\u003evoid\u003c\/span\u003e \u003cspan class=\"func\"\u003esetup\u003c\/span\u003e() {\n\tSerial.\u003cspan class=\"func\"\u003ebegin\u003c\/span\u003e(\u003cspan class=\"lit\"\u003e9600\u003c\/span\u003e);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eIn the loop, we simply call the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eping_cm()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction and print the result on the serial monitor. This function sends a ping and returns the distance in centimeters.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"kwd\"\u003evoid\u003c\/span\u003e \u003cspan class=\"func\"\u003eloop\u003c\/span\u003e() {\n\tSerial.\u003cspan class=\"func\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"Distance = \"\u003c\/span\u003e);\n\tSerial.\u003cspan class=\"func\"\u003eprint\u003c\/span\u003e(sonar.\u003cspan class=\"func\"\u003eping_cm\u003c\/span\u003e());\n\tSerial.\u003cspan class=\"func\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\" cm\"\u003c\/span\u003e);\n\t\u003cspan class=\"func\"\u003edelay\u003c\/span\u003e(\u003cspan class=\"lit\"\u003e500\u003c\/span\u003e);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218191577191,"sku":"B0903B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/rhtyui78654ghnjhmkoi9876trfgbn-000111_cf95be65-4cad-4755-8c35-4feba6ead049.jpg?v=1530919702"},{"product_id":"5v-two-2-channel-relay-module-with-optocoupler","title":"1C10  5V Two 2 Channel Relay Module With optocoupler","description":"\u003ch3 data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eDescription\u003c\/strong\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eThe 2 Channels Relay Module is a convenient board which can be used to control high voltage, high current load such as motor, solenoid valves, lamps and AC load. It is designed to interface with microcontroller such as Arduino, PIC and etc. The relays terminal (COM, NO and NC) is being brought out with screw terminal. It also comes with a LED to indicate the status of relay.\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eSpecification\u003c\/strong\u003e:\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eDigital output controllable\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eCompatible with any 5V microcontroller such as Arduino.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eRated through-current: 10A (NO) 5A (NC)\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eControl signal: TTL level\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eMax. switching voltage 250VAC\/30VDC\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eMax. switching current 10A\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eSize: 50mm x 38mm x 17mm\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ePackage includes:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003e1 x 2 Channels 5V Relay Module\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 id=\"twochannel-relay-module-pinout\"\u003ePinout\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"relay module pinout\" height=\"336\" width=\"567\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/relay-module-pinout.png\" decoding=\"async\" loading=\"lazy\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp id=\"control-pins\"\u003e\u003cstrong\u003eControl Pins:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-red\"\u003eVCC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epin provides power to the built-in optocouplers and, optionally, the relay’s electromagnet (if you keep the jumper in place). Connect it to the 5V pin on the Arduino.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-black\"\u003eGND\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the common ground pin.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-yellow\"\u003eIN1 \u0026amp; IN2\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epins control the relay. These are active low pins, which means that pulling them LOW activates the relay and pulling them HIGH deactivates it.\u003c\/p\u003e\n\u003cp id=\"power-supply-selection-pins\"\u003e\u003cstrong\u003ePower Supply Selection Pins:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-purple\"\u003eJD-VCC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eprovides power to the relay’s electromagnet. When the jumper is in place, JD-VCC is shorted to VCC, allowing the electromagnets to be powered by the Arduino’s 5V line. Without the jumper cap, you’d have to connect it to a separate 5V power source.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-red\"\u003eVCC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epin is shorted to the JD-VCC pin with the jumper cap on. Keep this pin disconnected if you remove the jumper.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-black\"\u003eGND\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the common ground pin.\u003c\/p\u003e\n\u003cp id=\"output-terminals\"\u003e\u003cstrong\u003eOutput Terminals:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-gray\"\u003eCOM\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eterminal connects to the device you intend to control.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-blue\"\u003eNC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eterminal is normally connected to the COM terminal, unless you activate the relay, which breaks the connection.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-green\"\u003eNO\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eterminal is normally open, unless you activate the relay that connects it to the COM terminal.\u003c\/p\u003e\n\u003ch3\u003eWiring\u003c\/h3\u003e\n\u003cp\u003e\u003cb data-mce-fragment=\"1\"\u003eWarning:\u003c\/b\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eThis board interacts with HIGH AC voltage. Improper or incorrect use could result in serious injury or death. Therefore, it is intended for people who are familiar with and knowledgeable about HIGH AC voltage.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eBegin by connecting the module’s VCC pin to the Arduino’s 5V pin and the GND pin to ground. We will only be using one relay for our experiment, so connect digital pin #6 to the IN1 input pin.\u003c\/p\u003e\n\u003cp\u003eYou’ll also need to connect the relay module to the AC-powered device you want to control, in this case, a lamp. You’ll need to cut your live AC line and connect one end of the cut wire (coming from the wall) to COM and the other to NC or NO, depending on what you want your device’s initial state to be.\u003c\/p\u003e\n\u003cp\u003eIf you want to keep your device off most of the time and turn it on occasionally, connect the other end of the wire to NO. Otherwise, connect it to NC.\u003c\/p\u003e\n\u003cp\u003eFor this project, we want our lamp to be off at first and then turn on when we activate the relay, so we will connect one end of the wire to COM and the other to NO.\u003c\/p\u003e\n\u003cp\u003eThe following illustration shows the wiring.\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/wiring-relay-module-with-arduino.png\" width=\"693\" height=\"541\" alt=\"wiring relay module with arduino\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/wiring-relay-module-with-arduino.png\"\u003e\u003c\/p\u003e\n\u003cp\u003eWe left the jumper in place in the above wiring diagram, so the relay’s electromagnet will be driven directly from the Arduino. In this case, the relay module and the Arduino will not be physically isolated.\u003c\/p\u003e\n\u003cp\u003eIf you want to keep them isolated, you must provide a separate 5V power supply voltage to the JD-VCC and GND. The wiring below shows how to accomplish this.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/wiring-relay-module-with-arduino-and-external-supply.png\" alt=\"wiring relay module with arduino and external supply\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/wiring-relay-module-with-arduino-and-external-supply.png\"\u003e\u003c\/p\u003e\n\u003ch3 id=\"arduino-example-code\"\u003eCode\u003c\/h3\u003e\n\u003cp\u003eControlling a relay module with the Arduino is as easy as controlling an LED. Here’s a simple code that will activate the relay for 3 seconds and then deactivate it for 3 seconds.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003eint RelayPin = 6;\n\nvoid setup() {\n\t\/\/ Set RelayPin as an output pin\n\tpinMode(RelayPin, OUTPUT);\n}\n\nvoid loop() {\n\t\/\/ Let's turn on the relay...\n\tdigitalWrite(RelayPin, LOW);\n\tdelay(3000);\n\t\n\t\/\/ Let's turn off the relay...\n\tdigitalWrite(RelayPin, HIGH);\n\tdelay(3000);\n}\n\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch3 id=\"code-explanation\"\u003eCode Explanation:\u003c\/h3\u003e\n\u003cp\u003eThe sketch begins by declaring the pin to which the relay module’s input pin is connected.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"kwd\"\u003eint\u003c\/span\u003e RelayPin = \u003cspan class=\"lit\"\u003e6\u003c\/span\u003e;\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eIn the setup function, we configure the input pin to behave as an output.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"func\"\u003epinMode\u003c\/span\u003e(RelayPin, OUTPUT);\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eIn the loop function, we turn the device ON\/OFF by pulling the relay pin LOW\/HIGH.\u003c\/p\u003e\n\u003cp\u003e\u003ccode\u003edigitalWrite(RelayPin, LOW)\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003epulls the pin LOW, whereas\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003edigitalWrite(RelayPin, HIGH)\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003epulls the pin HIGH.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"func\"\u003edigitalWrite\u003c\/span\u003e(RelayPin, LOW);\n\u003cspan class=\"func\"\u003edelay\u003c\/span\u003e(\u003cspan class=\"lit\"\u003e3000\u003c\/span\u003e);\n\n\u003cspan class=\"func\"\u003edigitalWrite\u003c\/span\u003e(RelayPin, HIGH);\n\u003cspan class=\"func\"\u003edelay\u003c\/span\u003e(\u003cspan class=\"lit\"\u003e3000\u003c\/span\u003e);\u003c\/code\u003e\u003c\/pre\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218198687847,"sku":"B0908B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8437823_8176770.jpg?v=1530919747"},{"product_id":"rc522-rfid-card-reader-module-kit","title":"6C4   RC522 RFID Card Reader Module Kit","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003carticle\u003e\n\u003cdiv id=\"desc-full\"\u003e\n\u003cp\u003eThis is the RFID 13.56 MHz RFID Module Board kit, The module board that is used on this kit has an RC522 integrated circuit that drives the 13.56 MHz radio frequency. The MF RC522 is a highly integrated transmission for contact-less communication that runs on 13.56 MHz. It also supports the ISO 14443A\/MIFARE mode library. This RFID kit includes the S50 RFID card and ID tag.\u003c\/p\u003e\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eOperating Current: :13-26mADC 3.3V\u003c\/li\u003e\n\u003cli\u003eIdle Current: :10-13mADC 3.3V\u003c\/li\u003e\n\u003cli\u003eleep Current: 80uA\u003c\/li\u003e\n\u003cli\u003ePeak Current: 30 mA\u003c\/li\u003e\n\u003cli\u003eOperating Frequency: 13.56 MHz\u003c\/li\u003e\n\u003cli\u003eSupported card types: mifare1 S50, mifare1 S70 MIFARE Ultralight, mifare Pro, and MIFARE DESFire\u003c\/li\u003e\n\u003cli\u003eEnvironmental Operating Temperature: -20–80 degrees Celsius\u003c\/li\u003e\n\u003cli\u003eEnvironmental Storage Temperature: -40–85 degrees Celsius\u003c\/li\u003e\n\u003cli\u003eRelative humidity: relative humidity: 5 percent–95 percent\u003c\/li\u003e\n\u003cli\u003eReader Distance: 50mm1.95 (mifare 1)\u003c\/li\u003e\n\u003cli\u003eModule Size: 40mm×60mm1.57x2.34\u003c\/li\u003e\n\u003cli\u003eModule interfaces SPI Parameter\u003c\/li\u003e\n\u003cli\u003eData transfer rate: maximum 10 Mbps\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Includes\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1x  RC522 RFID Card Reader Module\u003c\/li\u003e\n\u003cli\u003e1x  S50 RFID CARD\u003c\/li\u003e\n\u003cli\u003e1x  S50 RFID TAG\u003c\/li\u003e\n\u003cli\u003e2x straight and angular pins\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218200588391,"sku":"B0909B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_9146468_9778668.jpg?v=1530919758"},{"product_id":"precision-real-time-clock-module-ds3231-at24c32-iic","title":"2B25  precision Real time clock module DS3231 AT24C32 IIC (BATTERY NOT INCLUDED)","description":"\u003ch3 data-mce-fragment=\"1\" data-v-182c285f=\"\"\u003eDescription\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDS3231 is a low-cost real-time clock (RTC) that has an integrated temperature-compensated crystal oscillator (TCXO) and I2C working protocol. It also has a backup battery, which provides power when the main supply is cut off.\u003c\/li\u003e\n\u003cli\u003eIt has a crystal resonator, which enhances the long-term accuracy of the device and reduces the piece-part count in a manufacturing line.\u003c\/li\u003e\n\u003cli\u003eIt is available in a 16-pin, 300-millimeter SO package. This RTC module maintains seconds, minutes, hours, dates, months, and yearly information. It changes date and time at the end of the month automatically, including corrections for the leap year.\u003c\/li\u003e\n\u003cli\u003eThis module operates in either a 24-hour or 12-hour format with an AM\/PM indicator.\u003c\/li\u003e\n\u003cli\u003eIt consists of a temperature-compensated voltage reference and comparator circuit, which monitors the status of Vcc to detect power failures. This circuit provides a reset output and automatically switches to a backup supply when necessary.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cfigure\u003e\u003ca href=\"https:\/\/images.theengineeringprojects.com\/image\/webp\/2019\/03\/introduction-to-ds3231.jpg.webp?ssl=1\" previewlistener=\"true\" target=\"_blank\"\u003e\u003cpicture\u003e\u003csource loading=\"lazy\" type=\"image\/webp\" height=\"379\" width=\"600\" class=\"aligncenter\" alt=\"DS3231 Introduction, DS3231 Pinout, DS3231 Features, DS3231 working, DS3231 Applications, DS3231 Arduino interfacing, DS3231\" srcset=\"https:\/\/images.theengineeringprojects.com\/image\/webp\/2019\/03\/introduction-to-ds3231.jpg.webp?ssl=1\"\u003e\u003cimg loading=\"lazy\" sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"https:\/\/images.theengineeringprojects.com\/image\/main\/2019\/03\/introduction-to-ds3231.jpg 1017w, https:\/\/images.theengineeringprojects.com\/image\/300\/2019\/03\/introduction-to-ds3231.jpg 300w, https:\/\/images.theengineeringprojects.com\/image\/600\/2019\/03\/introduction-to-ds3231.jpg 600w, https:\/\/images.theengineeringprojects.com\/image\/768\/2019\/03\/introduction-to-ds3231.jpg 768w, https:\/\/images.theengineeringprojects.com\/image\/1024\/2019\/03\/introduction-to-ds3231.jpg 1024w\" height=\"605\" width=\"958\" class=\"aligncenter\" alt=\"DS3231 Introduction, DS3231 Pinout, DS3231 Features, DS3231 working, DS3231 Applications, DS3231 Arduino interfacing, DS3231\" src=\"https:\/\/images.theengineeringprojects.com\/image\/main\/2019\/03\/introduction-to-ds3231.jpg\"\u003e\u003c\/picture\u003e\u003c\/a\u003e\u003c\/figure\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Includes\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1 x DS3231 Real-Time Clock Module\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe features of an electronic component can help you better understand the major functions associated with it. It will help you make a final decision before picking a device for your relevant project. Following are some features of DS3231.\u003c\/li\u003e\n\u003cli\u003eIts accuracy from 0°C to +40°C is ±2 ppm, and -40°C to +85°C is ±3.5 ppm.\u003c\/li\u003e\n\u003cli\u003eIt is a low-power device. It has a battery backup for continuous timekeeping.\u003c\/li\u003e\n\u003cli\u003eIts temperature range for commercial use is 0°C to +70°C, and for industries, it is -40°C to +85°C.\u003c\/li\u003e\n\u003cli\u003eThis real-time clock counts seconds, minutes, hours, days, dates, months, and years with leap-year compensation valid up to 2100.\u003c\/li\u003e\n\u003cli\u003eIt has two times-a-day alarms. It can operate up to 400 kHz.\u003c\/li\u003e\n\u003cli\u003eIt has a simple serial interface that can be connected to most microcontrollers. Its working protocol is I2C.\u003c\/li\u003e\n\u003cli\u003eUnderwriters Laboratories (UL) is recognized.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 id=\"ds3231-rtc-module-pinout\"\u003ePinout\u003c\/h3\u003e\n\u003cp\u003eThe DS3231 RTC module has 6 pins in total. The pinout is as follows:\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_1_480x480.png?v=1707398563\" width=\"550\" height=\"393\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-orange\"\u003e32K\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epin outputs a stable (temperature-compensated) and accurate reference clock.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-yellow\"\u003e\u003cspan class=\"overline\"\u003eINT\u003c\/span\u003e\/SQW\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epin provides either an interrupt signal (due to alarm conditions) or a square-wave output at either 1Hz, 4kHz, 8kHz, or 32kHz.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-green\"\u003eSCL\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis a serial clock pin for the I2C interface.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-blue\"\u003eSDA\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis a serial data pin for the I2C interface.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-red\"\u003eVCC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eprovides power to the module. You can connect it to a 3.3 to 5 volt power supply.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-black\"\u003eGND\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the ground pin.\u003c\/p\u003e\n\u003ch3 id=\"wiring-a-ds3231-rtc-module-to-an-arduino\"\u003eWiring a DS3231 RTC module to an Arduino\u003c\/h3\u003e\n\u003cp\u003eLet’s connect the RTC to the Arduino.\u003c\/p\u003e\n\u003cp\u003eConnections are straightforward. Begin by connecting the VCC pin to the Arduino’s 5V output and the GND pin to ground.\u003c\/p\u003e\n\u003cp\u003eNow we are left with the pins that are used for I2C communication. Note that each Arduino board has different I2C pins that must be connected correctly.  On Arduino boards with the R3 layout, the SDA (data line) and SCL (clock line) are on the pin headers close to the AREF pin. They are also referred to as A5 (SCL) and A4 (SDA).\u003c\/p\u003e\n\u003cp\u003eThe following table lists the pin connections:\u003c\/p\u003e\n\u003cdiv class=\"tablescroll\"\u003e\n\u003ctable class=\"tabler connections\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"tabler-header\"\u003e\n\u003ctd\u003eDS3231 Module\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003eArduino\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVCC\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-red\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-black\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSCL\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-green\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003eSCL or A5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSDA\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-blue\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003eSDA or A4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003eThe diagram below shows how to connect everything.\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_2_480x480.png?v=1707398939\"\u003e\u003c\/p\u003e\n\u003ch4 id=\"installing-urtclib-library\"\u003eInstalling uRTCLib Library\u003c\/h4\u003e\n\u003cp\u003eIt takes a lot of effort to communicate with an RTC module. Fortunately, the \u003ca aria-label=\"(opens in a new tab)\" href=\"https:\/\/github.com\/Naguissa\/uRTCLib\" previewlistener=\"true\" target=\"_blank\"\u003euRTCLib library\u003c\/a\u003e was created to hide all of the complexities, allowing us to issue simple commands to read the RTC data.\u003c\/p\u003e\n\u003cp\u003eIt is a simple yet powerful library that also supports time-of-day alarms and programming the SQW output, which is not supported by many RTC libraries.\u003c\/p\u003e\n\u003cp\u003eTo install the library, navigate to \u003cstrong\u003eSketch \u0026gt; Include Library \u0026gt; Manage Libraries…\u003c\/strong\u003e Wait for the Library Manager to download the library index and update the list of installed libraries.\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"Arduino Library Installation - Selecting Manage Libraries in Arduino IDE\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Manage-Libraries.png\"\u003e\u003c\/p\u003e\n\u003cp\u003eFilter your search by entering \u003cstrong\u003e‘urtclib’\u003c\/strong\u003e. Look for \u003cstrong\u003euRTCLib\u003c\/strong\u003e by \u003cstrong\u003eNaguissa\u003c\/strong\u003e. Click on that entry and then choose Install.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg height=\"351\" width=\"700\" alt=\"urtclib library installation\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/uRTCLib-Library-Installation.png\" decoding=\"async\" loading=\"lazy\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cp\u003eAt the end of the tutorial, we’ve also included code for reading and writing the onboard 24C32 EEPROM. If you’re interested, you’ll need to install the uEEPROMLib library. Look for ‘\u003cstrong\u003eueepromlib\u003c\/strong\u003e‘ and install it as well.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg height=\"354\" width=\"700\" alt=\"ueepromlib library installation\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/uEEPROMLib-Library-Installation.png\" decoding=\"async\" loading=\"lazy\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003ch3 id=\"arduino-code-reading-date-time-and-temperature\"\u003eArduino Code – Reading Date, Time and Temperature\u003c\/h3\u003e\n\u003cp\u003eThis is a simple sketch for setting\/reading the date, time, and temperature from the DS3231 RTC module.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e#include \"Arduino.h\"\n#include \"uRTCLib.h\"\n\n\/\/ uRTCLib rtc;\nuRTCLib rtc(0x68);\n\nchar daysOfTheWeek[7][12] = {\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"};\n\nvoid setup() {\n  Serial.begin(9600);\n  delay(3000); \/\/ wait for console opening\n\n  URTCLIB_WIRE.begin();\n\n  \/\/ Comment out below line once you set the date \u0026amp; time.\n  \/\/ Following line sets the RTC with an explicit date \u0026amp; time\n  \/\/ for example to set January 13 2022 at 12:56 you would call:\n   rtc.set(0, 56, 12, 5, 13, 1, 22);\n  \/\/ rtc.set(second, minute, hour, dayOfWeek, dayOfMonth, month, year)\n  \/\/ set day of week (1=Sunday, 7=Saturday)\n}\n\nvoid loop() {\n  rtc.refresh();\n\n  Serial.print(\"Current Date \u0026amp; Time: \");\n  Serial.print(rtc.year());\n  Serial.print('\/');\n  Serial.print(rtc.month());\n  Serial.print('\/');\n  Serial.print(rtc.day());\n\n  Serial.print(\" (\");\n  Serial.print(daysOfTheWeek[rtc.dayOfWeek()-1]);\n  Serial.print(\") \");\n\n  Serial.print(rtc.hour());\n  Serial.print(':');\n  Serial.print(rtc.minute());\n  Serial.print(':');\n  Serial.println(rtc.second());\n\n  Serial.print(\"Temperature: \");\n  Serial.print(rtc.temp()  \/ 100);\n  Serial.print(\"\\xC2\\xB0\");   \/\/shows degrees character\n  Serial.println(\"C\");\n\n  Serial.println();\n  delay(1000);\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch4\u003eHere’s what the output looks like:\u003c\/h4\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg height=\"372\" width=\"566\" alt=\"ds3231 rtc arduino output\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/DS3231-RTC-Arduino-Output.png\" decoding=\"async\" loading=\"lazy\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003ch3 id=\"code-explanation\"\u003eCode Explanation:\u003c\/h3\u003e\n\u003cp\u003eThe sketch begins by including the Arduino.h and uRTCLib.h libraries for communicating with the module. We then create an uRTCLib library object and define the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003edaysOfTheWeek\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e2D character array to store the days information.\u003c\/p\u003e\n\u003cp\u003eTo interact with the RTC module, we use the following functions in the setup and loop sections of the code:\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ebegin()\u003c\/strong\u003e function ensures that the RTC module is properly initialized.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eset(ss, mm, hh, day, dd, mm, yy)\u003c\/strong\u003e function sets the RTC to an explicit date and time. For example, to set January 13, 2022 at 12:56, you would call:\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003ertc.set(0, 56, 12, 5, 13, 1, 22);\u003c\/code\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003erefresh()\u003c\/strong\u003e function refreshes data from the HW RTC.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eyear()\u003c\/strong\u003e function returns the current year.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003emonth()\u003c\/strong\u003e function returns the current month.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eday()\u003c\/strong\u003e function returns the current day.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003edayOfWeek()\u003c\/strong\u003e function returns the current day of the week (1 to 7). This function is typically used as an index for a 2D character array that stores information about the days.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ehour()\u003c\/strong\u003e function returns the current hour.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eminute()\u003c\/strong\u003e function returns the current minute.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003esecond()\u003c\/strong\u003e function returns the current seconds.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003etemp()\u003c\/strong\u003e function returns the current temperature of the ‘die’.\u003c\/p\u003e\n\u003ch4\u003e\u003c\/h4\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218202423399,"sku":"B0910B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8600383_8517571.jpg?v=1530919770"},{"product_id":"650nm-laser-transmitter-module","title":"2C2 650nm Laser Transmitter Module KY-008","description":"\u003cdiv class=\"tab-container\" data-producttabid=\"10227\"\u003e\n\u003cdiv class=\"tab-content\"\u003e\n\u003cdiv data-field=\"desc\" class=\"ProductDescription ckcontent\" itemprop=\"description\"\u003e\n\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThis small laser transmitter module works on 5V. The laser outputs a beam of 650nm (red) of approximately 5mW. Connect this module to a motor as an interactive laser pointer. By moving the laser quickly, it is also possible to make a simple projection.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eNB\u003c\/strong\u003e: The signals on the module may be incorrectly indicated, if the module does not work properly, connect [S] to GND and the [-] to +5VDC.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ch3 class=\"Homeheader\"\u003eProperties\u003c\/h3\u003e\n\u003cdiv class=\"PackedSales\"\u003e\n\u003cdiv class=\"ProductPropertytitle\"\u003e\u003cstrong\u003eBrand information\u003c\/strong\u003e\u003c\/div\u003e\n\u003ctable class=\"ProductPropertyTable\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eBrand\u003c\/td\u003e\n\u003ctd\u003eOpencircuit house brand\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eModel\u003c\/td\u003e\n\u003ctd\u003e10227\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv class=\"ProductPropertytitle\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"ProductPropertytitle\"\u003e\u003cstrong\u003eSize info\u003c\/strong\u003e\u003c\/div\u003e\n\u003ctable class=\"ProductPropertyTable\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eLength\u003c\/td\u003e\n\u003ctd\u003e15 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWidth\u003c\/td\u003e\n\u003ctd\u003e24 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHeight\u003c\/td\u003e\n\u003ctd\u003e8 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e2,2 g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003cp\u003eThis module consists of a 650nm red laser diode head, a resistor and 3 male header pins. Handle with caution, do not point the laser beam directly to the eyes.\u003c\/p\u003e\n\u003ctable class=\"has-fixed-layout\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 286.531px;\"\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd style=\"width: 241.469px;\"\u003e5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 286.531px;\"\u003eOutput Power\u003c\/td\u003e\n\u003ctd style=\"width: 241.469px;\"\u003e5mW\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 286.531px;\"\u003eWavelenght\u003c\/td\u003e\n\u003ctd style=\"width: 241.469px;\"\u003e650nm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 286.531px;\"\u003eOperating Current\u003c\/td\u003e\n\u003ctd style=\"width: 241.469px;\"\u003e\u0026lt; 40mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 286.531px;\"\u003eWorking Temperature\u003c\/td\u003e\n\u003ctd style=\"width: 241.469px;\"\u003e-10°C ~ 40°C [14°F to 104°F]\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 286.531px;\"\u003eBoard Dimensions\u003c\/td\u003e\n\u003ctd style=\"width: 241.469px;\"\u003e18.5mm x 15mm [0.728in x 0.591in]\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch3\u003eConnection Diagram \u003c\/h3\u003e\n\u003cp\u003eConnect the module signal pin (S) to pin 13 on the Arduino and ground (-) to GND.\u003c\/p\u003e\n\u003cp\u003eThe middle pin on the module is not used.\u003c\/p\u003e\n\u003ctable class=\"has-fixed-layout\" style=\"width: 536px;\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth style=\"width: 245.344px; text-align: left;\"\u003eKY-008\u003c\/th\u003e\n\u003cth style=\"width: 274.656px; text-align: left;\"\u003eArduino\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 245.344px;\"\u003eS\u003c\/td\u003e\n\u003ctd style=\"width: 274.656px;\"\u003ePin 13\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 245.344px;\"\u003emiddle\u003c\/td\u003e\n\u003ctd style=\"width: 274.656px;\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 245.344px;\"\u003e–\u003c\/td\u003e\n\u003ctd style=\"width: 274.656px;\"\u003eGND\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cimg alt=\"Arduino KY-008 connection diagram\" src=\"https:\/\/arduinomodules.info\/wp-content\/uploads\/Arduino_KY-008_Keyes_Laser_transmitter_module_connection_diagram-1024x522.png\" width=\"849\" height=\"433\"\u003e\u003c\/p\u003e\n\u003ch3 class=\"ami-underline wp-block-heading\"\u003eKY-008 Arduino code\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eThe following Arduino sketch is a laser blinker. It will continually turn the laser on and off in one second intervals.\u003c\/span\u003e\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\nint laserPin = 13;\n\nvoid setup() {                \n\tpinMode(laserPin, OUTPUT);  \/\/ Define the digital output interface pin 13 \n}\n\nvoid loop() {\n\tdigitalWrite(laserPin, HIGH); \/\/ Turn on the laser head\n\tdelay(1000); \/\/ wait for one second\n\tdigitalWrite(laserPin, LOW); \/\/ Turn off the laser head\n\tdelay(1000); \n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218203209831,"sku":"B0911B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/s-l1600_20_281_29_ce32acaa-f433-424b-8916-29649d959130.jpg?v=1530919780"},{"product_id":"1602-16x2-character-lcd-display-module-hd44780-controller-blue-backlight","title":"1C1  1602 16x2 Character LCD Display Module HD44780 Controller Blue Backlight","description":"\u003ch3\u003eDescription:\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLCD display module with blue Wide viewing angle and high contrast Built-in industry standard HD44780 equivalent LCD controller\u003c\/li\u003e\n\u003cli\u003eCommonly used in: copiers, fax machines, laser printers, industrial test equipment, networking equipment such as routers and storage devices\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eSpecifications:\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLCM type: Characters\u003c\/li\u003e\n\u003cli\u003eCan display 2-lines X 16-characters\u003c\/li\u003e\n\u003cli\u003eOperate with 5V DC\u003c\/li\u003e\n\u003cli\u003eModule dimension: 80mm x 36mm x 12mm\u003c\/li\u003e\n\u003cli\u003eViewing area size: 64.5mm x 16mm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\u003c\/h3\u003e\n\u003ch3\u003ePackage includes:\u003c\/h3\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; font-size: 14px; line-height: 22.4px; list-style-position: inside; font-family: opensans, 'Helvetica Neue', Helvetica, Helvetica, Arial, sans-serif; color: #333333; text-transform: uppercase;\"\u003e\n\u003cli style=\"margin: 0px; padding: 0px; text-transform: none; list-style: inherit !important;\"\u003e1 x  1602 16x2 Character LCD Display Module HD44780 Controller blue \u003c\/li\u003e\n\u003cli style=\"margin: 0px; padding: 0px; text-transform: none; list-style: inherit !important;\"\u003e16 x headers pins\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003ePinout\u003c\/h3\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003e16×2 LCD\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eis named so because; it has 16 Columns and 2 Rows. There are a lot of combinations available like, 8×1, 8×2, 10×2, 16×1, etc. But the most used one is the 16*2 LCD, hence we are using it here.\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003eAll the above mentioned LCD display will have 16 Pins and the programming approach is also the same and hence the choice is left to you. Below is the\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003ePinout and Pin Description of 16x2 LCD Module\u003c\/strong\u003e:\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cimg src=\"https:\/\/circuitdigest.com\/sites\/default\/files\/inlineimages\/16x2-LCD-Module-Pinouts.png\" alt=\"16x2-LCD-Module-Pinouts\"\u003e\u003c\/p\u003e\n\u003ctable cellspacing=\"0\" cellpadding=\"0\" border=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003eSr. No\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003ePin No.\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003ePin Name\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003ePin Type\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003ePin Description\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003ePin Connection\u003c\/strong\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e1\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePin 1\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eGround\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eSource Pin\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eThis is a ground pin of LCD\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eConnected to the ground of the MCU\/ Power source\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e2\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePin 2\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eVCC\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eSource Pin\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eThis is the supply voltage pin of LCD\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eConnected to the supply pin of Power source\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e3\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePin 3\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eV0\/VEE\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eControl Pin\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eAdjusts the contrast of the LCD.\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eConnected to a variable POT that can source 0-5V\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e4\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePin 4\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eRegister Select\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eControl Pin\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eToggles between Command\/Data Register\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eConnected to a MCU pin and gets either 0 or 1.\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003e0 -\u0026gt; Command Mode\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003e1-\u0026gt; Data Mode\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e5\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePin 5\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eRead\/Write\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eControl Pin\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eToggles the LCD between Read\/Write Operation\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eConnected to a MCU pin and gets either 0 or 1.\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003e0 -\u0026gt; Write Operation\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003e1-\u0026gt; Read Operation\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e6\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePin 6\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eEnable\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eControl Pin\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eMust be held high to perform Read\/Write Operation\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eConnected to MCU and always held high.\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e7\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePin 7-14\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eData Bits (0-7)\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eData\/Command Pin\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePins used to send Command or data to the LCD.\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cu\u003eIn 4-Wire Mode\u003c\/u\u003e\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003eOnly 4 pins (0-3) is connected to MCU\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cu\u003eIn 8-Wire Mode\u003c\/u\u003e\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003eAll 8 pins(0-7) are connected to MCU\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e8\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePin 15\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eLED Positive\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eLED Pin\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eNormal LED like operation to illuminate the LCD\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eConnected to +5V\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003e9\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003ePin 16\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eLED Negative\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eLED Pin\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eNormal LED like operation to illuminate the LCD connected with GND.\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp class=\"rtejustify\"\u003eConnected to ground\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003eWiring:\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eWe know that data is sent to the LCD via eight data pins. However, HD44780-based LCDs are designed so that we can communicate with them using only four data pins (in 4-bit mode) rather than eight (in 8-bit mode). This helps us save 4 I\/O pins!\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eSo, to interface the LCD in 4-bit mode, only six pins are required: RS, EN, D7, D6, D5, and D4.\u003c\/p\u003e\n\u003cp\u003eConnect the LCD’s four data pins (D4-D7) to digital pins 5 to 2 on the Arduino, the EN pin to digital pin 11, and the RS pin to digital pin 12.\u003c\/p\u003e\n\u003cp\u003eThe wiring is shown below.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Arduino-Wiring-Fritzing-Connections-with-16x2-Character-LCD.png\" alt=\"Arduino Wiring Fritzing Connections with 16x2 Character LCD\"\u003e\u003c\/p\u003e\n\u003ch3 id=\"arduino-example-code\"\u003eCode\u003c\/h3\u003e\n\u003cp\u003eThe example sketch below prints “Hello World” to the LCD. First, try out the sketch, and then we’ll go over it in detail.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n\/\/ include the library code:\n#include \u0026lt;LiquidCrystal.h\u0026gt;\n\n\/\/ Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)\nLiquidCrystal lcd(12, 11, 5, 4, 3, 2);\n\nvoid setup() \n{\n\t\/\/ set up the LCD's number of columns and rows:\n\tlcd.begin(16, 2);\n\n\t\/\/ Clears the LCD screen\n\tlcd.clear();\n}\n\nvoid loop() \n{\n\t\/\/ Print a message to the LCD.\n\tlcd.print(\" Hello world!\");\n\n\t\/\/ set the cursor to column 0, line 1\n\t\/\/ (note: line 1 is the second row, since counting begins with 0):\n\tlcd.setCursor(0, 1);\n\t\/\/ Print a message to the LCD.\n\tlcd.print(\" LCD Tutorial\");\n}\n\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eIf everything is correct, a “Hello world!” should appear on the display.\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Interfacing-16x2-character-LCD-with-Arduino-Hello-world-Program-output.jpg\" width=\"500\" height=\"247\" alt=\"Interfacing 16x2 character LCD with Arduino Hello world Program output\"\u003e\u003c\/p\u003e\n\u003ch3 id=\"code-explanation\"\u003eCode Explanation:\u003c\/h3\u003e\n\u003cp\u003eThe sketch begins by including the\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/www.arduino.cc\/reference\/en\/libraries\/liquidcrystal\/\" target=\"_blank\" previewlistener=\"true\"\u003eLiquidCrystal library\u003c\/a\u003e. This library comes with the Arduino IDE and allows you to control Hitachi HD44780 driver-based LCD displays.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"com\"\u003e\/\/ include the library code:\u003c\/span\u003e\n#include \u003cspan class=\"str\"\u003e\u0026lt;LiquidCrystal.h\u0026gt;\u003c\/span\u003e\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eNext, an object of the LiquidCrystal class is created by passing as parameters the pin numbers to which the LCD’s RS, EN, and four data pins are connected.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"com\"\u003e\/\/ Creates an LCD object. Parameters: (rs, enable, d4, d5, d6, d7)\u003c\/span\u003e\nLiquidCrystal \u003cspan class=\"func\"\u003elcd\u003c\/span\u003e(\u003cspan class=\"lit\"\u003e12\u003c\/span\u003e, \u003cspan class=\"lit\"\u003e11\u003c\/span\u003e, \u003cspan class=\"lit\"\u003e5\u003c\/span\u003e, \u003cspan class=\"lit\"\u003e4\u003c\/span\u003e, \u003cspan class=\"lit\"\u003e3\u003c\/span\u003e, \u003cspan class=\"lit\"\u003e2\u003c\/span\u003e);\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eIn the setup, two functions are called. The first function is\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003ebegin()\u003c\/code\u003e. It is used to initialize the interface to the LCD screen and to specify the dimensions (columns and rows) of the display. If you’re using a 16×2 character LCD, you should pass 16 and 2; if you’re using a 20×4 LCD, you should pass 20 and 4.\u003c\/p\u003e\n\u003cp\u003eThe second function is\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eclear()\u003c\/code\u003e. This function clears the LCD screen and positions the cursor in the upper-left corner.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003elcd.\u003cspan class=\"func\"\u003ebegin\u003c\/span\u003e(\u003cspan class=\"lit\"\u003e16\u003c\/span\u003e, \u003cspan class=\"lit\"\u003e2\u003c\/span\u003e);\nlcd.\u003cspan class=\"func\"\u003eclear\u003c\/span\u003e();\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eIn the loop, the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eprint()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction is used to print “Hello world!” to the LCD. Please remember to use quotation marks\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003e\" \"\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003earound the text. There is no need for quotation marks when printing numbers or variables.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"com\"\u003e\/\/ Print a message to the LCD.\u003c\/span\u003e\nlcd.\u003cspan class=\"func\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\" Hello world!\"\u003c\/span\u003e);\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eThe function\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003esetCursor()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003eis then called to move the cursor to the second row. The cursor position specifies where you want the new text to appear on the LCD. It is assumed that the upper left corner is\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003ecol=0\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003eand\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003erow=0\u003c\/code\u003e.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003elcd.\u003cspan class=\"func\"\u003esetCursor\u003c\/span\u003e(\u003cspan class=\"lit\"\u003e0\u003c\/span\u003e, \u003cspan class=\"lit\"\u003e1\u003c\/span\u003e);\nlcd.\u003cspan class=\"func\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\" LCD Tutorial\"\u003c\/span\u003e);\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218204422247,"sku":"B0912B","price":30.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8085872_7479941.jpg?v=1530919790"},{"product_id":"hc-sr501-motion-sensor-detector-module-ir-pyroelectric-infrared-pir","title":"7C1 HC-SR501 Motion Sensor Detector Module  IR Pyroelectric Infrared PIR","description":"\u003ch3 data-mce-fragment=\"1\" data-v-182c285f=\"\"\u003eDescription\u003c\/h3\u003e\n\u003cdiv data-mce-fragment=\"1\" data-v-182c285f=\"\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe HC-SR501 is a passive infrared (PIR) motion sensor module used to detect human or animal motion in a specified area. It operates at 5V DC and uses an infrared sensor to detect changes in the amount of infrared radiation in the environment. The module has a detection range of up to 7 meters and an adjustable delay time and sensitivity level. It outputs a digital signal that indicates whether motion has been detected or not. The HC-SR501 is commonly used in security systems, lighting control, and home automation applications.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/www.mpja.com\/download\/31227sc.pdf\" title=\"hc-sr501 datasheet\" rel=\"noopener noreferrer\" target=\"_blank\"\u003eDatasheet\u003c\/a\u003e\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ePackage Includes:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003e1 x HC-SR501 PIR Sensor\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eFeatures:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eWide operating voltage range from 4.8V to 20V, making it compatible with a variety of power sources.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eLow power consumption in idle mode is only 50uA, which makes it an energy-efficient solution for battery-powered projects. In fully active mode, the power consumption is 65mA.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eHigh reliability due to the use of the BISS0001 PIR processing chip.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eAdjustable sensitivity or detection distance allows you to customize the module to fit the specific needs of your project.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eAdjustable output time delay lets you control how long the output signal remains high after detecting motion.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eCan be used separately without any additional microcontroller or platform like Arduino or Raspberry Pi, but it can also be interfaced with these platforms to enhance your project.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eThe low cost makes it an affordable choice for hobbyists and DIY projects.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e120-degree detection angle ensures a wide coverage area for detecting motion.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eA detection range of 3 to 7 meters or more makes it suitable for a variety of applications.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eEasy to communicate with any platform like Arduino or Raspberry Pi and all microcontrollers, making it a versatile component for your project.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eDescription:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe HC-SR501 PIR motion sensor module is a widely used electronic component that can detect human or animal motion within a specified range. The module consists of a pyroelectric infrared sensor, which detects changes in the amount of infrared radiation in the environment caused by the motion of a warm object such as a person or animal. The module operates at 5V DC and is compatible with Arduino and other microcontrollers. The detection range of the HC-SR501 module can be adjusted by rotating the onboard potentiometer. The maximum detection range is up to 7 meters, and the detection angle is 120 degrees.  The HC-SR501 outputs a digital signal that indicates whether motion has been detected or not. The output signal is high (3.3V) when motion is detected, and low (0V) when there is no motion. The module also has an onboard jumper that can be used to set the output signal to either a high or low state. The HC-SR501 motion sensor module is commonly used in security systems, lighting control, and home automation applications. For example, it can be used to turn on a light when someone enters a room, or to trigger an alarm when an intruder is detected. The module can be easily integrated with Arduino and other microcontrollers using digital input\/output pins.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ePrinciple of Work:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe HC-SR501 motion sensor module uses passive infrared (PIR) technology to detect movement. The module has a built-in pyroelectric sensor that senses the infrared radiation levels produced by the movement of an object in its field of view. When the module detects motion, it sends a signal to the control circuit that triggers the output pin. The output pin changes from low to high, indicating that motion has been detected. The duration of the high signal is controlled by an onboard potentiometer and can be adjusted to a desired length of time. After the set time period has elapsed, the output pin returns to its initial low state. The module has three pins, including VCC, GND, and OUT. The VCC pin is connected to a power supply within the range of 5-20V, and the GND pin is connected to the ground. The OUT pin is connected to a digital input pin on a microcontroller or other circuit. When motion is detected, the output pin changes from low to high and remains high for a specified duration, as set by the potentiometer. The duration of the high signal can be adjusted as per the user's requirements.\u003c\/p\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003eSensitivity (range) adjustment\u003c\/h4\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe maximum sensing distance (detection range) of the HC-SR501 is 7 meters. The detecting distance may be adjusted by rotating the sensitivity potentiometer CW or CCW. The detecting distance is increased to a maximum of 7 meters by rotating the potentiometer clockwise. Counterclockwise rotation reduces the detecting distance to a minimum of 3 meters.\u003c\/p\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003eTime-delay adjustment (Tx)\u003c\/h4\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThis potentiometer may control how long the output remains HIGH after motion is detected. The delay is 3 seconds at the most and 300 seconds or 5 minutes at the most. Increase the delay by turning the potentiometer clockwise, and decrease the delay by turning it counterclockwise.\u003c\/p\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003eTrigger selection jumper\u003c\/h4\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe yellow jumper allows you to choose between the two trigger modes. It may be changed to L (single trigger) or H (double trigger) (repeating trigger):\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eSingle trigger\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e– When motion is detected, the output becomes HIGH. It will remain HIGH for the duration specified by the potentiometer. Any movement during this time is ignored and does not reset the timer.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eRepeating trigger\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e– When motion is detected, the delay timer is reset.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ePinout of the Module:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cimg data-mce-fragment=\"1\" alt=\"HC-SR501 PIR Motion Sensor Arduino Tutorial (3 Examples)\" height=\"336\" src=\"https:\/\/www.makerguides.com\/wp-content\/uploads\/2019\/07\/HC-SR501-Pinout-Annotation.jpg\" width=\"473\" data-mce-src=\"https:\/\/www.makerguides.com\/wp-content\/uploads\/2019\/07\/HC-SR501-Pinout-Annotation.jpg\"\u003e\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eVCC: Power supply pin, connected to a DC voltage source of 4.8V to 20V.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eGND: Ground pin, connected to the negative terminal of the power supply and the ground of the microcontroller or circuit.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOUT: Output pin, connected to a digital input pin of a microcontroller or other circuit. The output pin changes from low to high when motion is detected, and remains high for a set amount of time, after which it returns to low. The duration of the high signal can be adjusted using the onboard potentiometer.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSensitivity adjustment potentiometer: Used to adjust the sensitivity or detection distance of the sensor. Turn clockwise to increase sensitivity, and counterclockwise to decrease it.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eTime delay adjustment potentiometer: Used to adjust the output time delay of the sensor. Turn clockwise to increase the time delay, and counterclockwise to decrease it.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eTrigger mode switch: Used to select the trigger mode of the sensor. Set to \"H\" for non-repeatable trigger mode, and \"L\" for repeatable trigger mode. In non-repeatable trigger mode, the sensor outputs a high signal when motion is detected, and then stays low until the motion stops and starts detecting again. In repeatable trigger mode, the sensor outputs a high signal when motion is detected, and stays high as long as motion is detected.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003e \u003c\/h4\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003eApplications:\u003c\/h4\u003e\n\u003col data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSecurity systems: The module is commonly used in security systems to detect any movement in a specific area and activate an alarm.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eHome automation: The module can be used in home automation systems to turn on lights or other appliances when motion is detected.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eRobotics: The module can be used in robotics to detect the presence of people or objects and activate specific movements or actions.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eEnergy-saving systems: The module can be used in energy-saving systems to turn on lights or other appliances only when motion is detected, thus saving energy.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eIndustrial automation: The module can be used in industrial automation to detect movement in a specific area and activate specific processes.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSmart cameras: The module can be used in smart cameras to detect the presence of people or objects and activate recording or other actions.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eAccess control: The module can be used in access control systems to detect the presence of people and activate the opening of doors or gates.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eWildlife monitoring: The module can be used in wildlife monitoring to detect the presence of animals and trigger specific actions such as taking photos or recording videos.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eCircuit\u003c\/strong\u003e:\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe connection of the HC-SR501 motion sensor module to an Arduino, with an LED connected to pin 13:\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cimg data-mce-fragment=\"1\" alt=\"Arduino with PIR Motion Sensor - Arduino Project Hub\" src=\"https:\/\/hacksterio.s3.amazonaws.com\/uploads\/attachments\/1163498\/motion_qegdcmfm0u_dzlLmuKjsR.png\" data-mce-src=\"https:\/\/hacksterio.s3.amazonaws.com\/uploads\/attachments\/1163498\/motion_qegdcmfm0u_dzlLmuKjsR.png\"\u003e\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eConnect the VCC pin of the module to the 5V pin of the Arduino.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eConnect the GND pin of the module to the GND pin of the Arduino.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eConnect the OUT pin of the module to digital pin 2 of the Arduino.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eConnect the anode (positive leg) of the LED to digital pin 13 of the Arduino.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eConnect the cathode (negative leg) of the LED to a 220-ohm resistor or without it, and then connect the other end of the resistor to the GND pin of the Arduino.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eLibrary:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe module does not need a Library to function with Arduino\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eCode:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eCode to use the HC-SR501 motion sensor module with an Arduino and turn on an LED connected to pin 13 when motion is detected:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\/\/ Set up pins\nint motionSensorPin = 2;\nint ledPin = 13;\n\nvoid setup() {\n  pinMode(motionSensorPin, INPUT);\n  pinMode(ledPin, OUTPUT);\n  Serial.begin(9600);\n}\n\nvoid loop() {\n  int motionDetected = digitalRead(motionSensorPin);\n  if (motionDetected == HIGH) {\n    Serial.println(\"Motion detected!\");\n    digitalWrite(ledPin, HIGH);\n    delay(1000); \/\/ Turn on LED for 1 second\n  } else {\n    digitalWrite(ledPin, LOW);\n  }\n}  \u003c\/code\u003e\u003c\/pre\u003e\n\u003cp data-mce-fragment=\"1\"\u003e In this code, we first set up the motion sensor pin and the LED pin in the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003esetup()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction. Then, in the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eloop()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction, we read the motion sensor pin using\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003edigitalRead()\u003c\/code\u003e. If the motion is detected (the pin reads\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eHIGH\u003c\/code\u003e), we turn on the LED by setting the LED pin to\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eHIGH\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003eand delaying for 1 second. If no motion is detected, the LED is turned off by setting the pin to\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eLOW\u003c\/code\u003e. The\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eSerial.println()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction is used to output a message to the serial monitor when motion is detected, for debugging purposes.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eTechnical Details:\u003c\/strong\u003e\u003c\/p\u003e\n\u003ctable border=\"5\" cellpadding=\"5\" cellspacing=\"5\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eVoltage\u003c\/td\u003e\n\u003ctd\u003e4.8 V – 20 V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCurrent (idle)\u003c\/td\u003e\n\u003ctd\u003e\u0026lt;50 µA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLogic output\u003c\/td\u003e\n\u003ctd\u003e3.3 V \/ 0 V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDelay time\u003c\/td\u003e\n\u003ctd\u003e0.3 s – 200 s, custom up to 10 min\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLock time\u003c\/td\u003e\n\u003ctd\u003e2.5 s (default)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTrigger\u003c\/td\u003e\n\u003ctd\u003erepeat : L = disable , H = enable\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSensing range\u003c\/td\u003e\n\u003ctd\u003e\u0026lt;120 °, within 7 m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTemperature\u003c\/td\u003e\n\u003ctd\u003e– 15 ~ +70 °C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimension\u003c\/td\u003e\n\u003ctd\u003e32 x 24 mm\n\u003cp\u003escrew-screw 28 mm, M2\u003c\/p\u003e\n\u003cp\u003eLens diameter: 23 mm\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e  \u003c\/p\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218205274215,"sku":"B0913B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_9191696_9817268.jpg?v=1530919799"},{"product_id":"micro-sd-storage-board-tf-card-reader-memory-module-spi-port-1","title":"2B26   Micro SD Storage Board TF Card Reader Memory Module SPI Port","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eA micro SD storage board and TF card reader memory module SPI port is a type of computer hardware that allows you to read and write data to microSD cards. SPI (Serial Peripheral Interface) is a standard protocol used to communicate with the micro SD card, which is a type of flash memory storage used in mobile devices, cameras, and other electronic devices. The module typically connects to a computer's USB port and supports various operating systems, such as Windows, macOS, and Linux. It can be useful for transferring files, backing up data, and editing photos and videos.\u003c\/p\u003e\n\u003ch3\u003eHardware Overview\u003c\/h3\u003e\n\u003cp\u003eThe microSD card module contains two main components:\u003c\/p\u003e\n\u003cp\u003eA standard microSD card has an operating voltage of 3.3 V. As a result, we cannot connect it directly to circuits that use 5V logic; in fact, any voltages above 3.6V may permanently damage the microSD card. That is why the module includes an onboard ultra-low dropout voltage regulator capable of regulating voltage to 3.3V.\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"microsd card module 3v3 regulator\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/microSD-Card-Module-3V3-Regulator.jpg\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/microSD-Card-Module-3V3-Regulator.jpg\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eThe module also includes a \u003c\/span\u003e\u003ca rel=\"noreferrer noopener\" href=\"http:\/\/www.onsemi.com\/pub\/Collateral\/74LVC125A-D.PDF\" aria-label=\"(opens in a new tab)\" data-mce-href=\"http:\/\/www.onsemi.com\/pub\/Collateral\/74LVC125A-D.PDF\" previewlistener=\"true\" target=\"_blank\"\u003e74LVC125A\u003c\/a\u003e\u003cspan\u003e logic level shifter chip, allowing for safe and easy communication with your favorite 3.3V or 5V microcontroller without damaging the SD card.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cimg alt=\"microsd card module logic level shifter\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/microSD-Card-Module-Logic-Level-Shifter.jpg\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/microSD-Card-Module-Logic-Level-Shifter.jpg\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eThere’s a microSD card socket on the front! Any microSD memory card will work perfectly. The proper direction to insert a microSD card is usually printed on the module.\u003c\/p\u003e\n\u003cp\u003e\u003cimg height=\"177\" width=\"460\" alt=\"microsd card module socket\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/microSD-Card-Module-Socket.jpg\" decoding=\"async\" loading=\"lazy\" style=\"font-size: 0.875rem;\" data-mce-style=\"font-size: 0.875rem;\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/microSD-Card-Module-Socket.jpg\"\u003e\u003c\/p\u003e\n\u003ch3\u003ePinout\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_17_480x480.png?v=1709194533\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_17_480x480.png?v=1709194533\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-red\"\u003eVCC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epin provides power to the module and should be connected to the Arduino’s 5V pin.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-black\"\u003eGND\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis a ground pin.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-purple\"\u003eMISO (Master In Slave Out)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the SPI output from the microSD card module.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-blue\"\u003eMOSI (Master Out Slave In)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the SPI input to the microSD card module.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-green\"\u003eSCK (Serial Clock)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epin accepts clock pulses from the master (an Arduino in our case) to synchronize data transmission.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-orange\"\u003eCS (Chip Select)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003epin is a control pin that is used to select one (or a set) of slave devices on the SPI bus.\u003c\/p\u003e\n\u003ch3 id=\"preparing-the-microsd-card\"\u003ePreparing the microSD card\u003c\/h3\u003e\n\u003cp\u003eBefore inserting the microSD card into the module and connecting it to the Arduino, you must properly format the card to FAT16 or FAT32.\u003c\/p\u003e\n\u003cp\u003eIf you have a new SD card, chances are it’s already pre-formatted with a FAT file system; however, you may encounter issues with how the factory formats the card. Or, if you have an old card, it needs to be formatted. In any case, it’s a good idea to format the card before using it.\u003c\/p\u003e\n\u003cp\u003eIt is recommended that you use the official \u003cstrong\u003eSD card formatter utility\u003c\/strong\u003e developed by the \u003ca href=\"https:\/\/en.wikipedia.org\/wiki\/SD_Association\" aria-label=\"(opens in a new tab)\" rel=\"noreferrer noopener\" data-mce-href=\"https:\/\/en.wikipedia.org\/wiki\/SD_Association\" target=\"_blank\" previewlistener=\"true\"\u003eSD association\u003c\/a\u003e. It can solve a lot of problems caused by bad formatting! Download and run the \u003ca href=\"https:\/\/www.sdcard.org\/downloads\/formatter_4\/index.html\" aria-label=\"(opens in a new tab)\" rel=\"noreferrer noopener\" data-mce-href=\"https:\/\/www.sdcard.org\/downloads\/formatter_4\/index.html\" target=\"_blank\" previewlistener=\"true\"\u003eformatter\u003c\/a\u003e on your computer; simply select the appropriate drive and click Format.\u003c\/p\u003e\n\u003cp\u003e\u003cimg style=\"font-size: 0.875rem;\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/SD-Formatter-Screenshot.png\" width=\"526\" height=\"354\" alt=\"SD Formatter Screenshot\" data-mce-style=\"font-size: 0.875rem;\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/SD-Formatter-Screenshot.png\"\u003e\u003c\/p\u003e\n\u003ch3 id=\"wiring-a-microsd-card-module-to-an-arduino\"\u003eWiring a microSD Card Module to an Arduino\u003c\/h3\u003e\n\u003cp\u003eNow that your card is ready for use, we can connect the microSD breakout board to an Arduino!\u003c\/p\u003e\n\u003cp\u003eConnect the module’s VCC pin to 5V on the Arduino and the GND pin to ground.\u003c\/p\u003e\n\u003cp\u003eNow we are left with the pins that are used for SPI communication. Because microSD cards require a lot of data transfer, they perform best when connected to the microcontroller’s hardware SPI pins.\u003c\/p\u003e\n\u003cp\u003eNote that each Arduino board has different SPI pins that must be connected correctly. For Arduino boards such as the UNO\/Nano V3.0 those pins are digital 13 (SCK), 12 (MISO), 11 (MOSI) and 10 (CS).\u003c\/p\u003e\n\u003cp\u003eThe following table lists the pin connections:\u003c\/p\u003e\n\u003cdiv class=\"tablescroll\"\u003e\n\u003ctable class=\"tabler connections\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"tabler-header\"\u003e\n\u003ctd\u003emicroSD Card Module\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003eArduino\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVCC\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-red\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-black\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMISO\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-yellow\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e12\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMOSI\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-green\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSCK\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-blue\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e13\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCS\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-orange\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e10\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003eThe diagram below shows how to connect microSD Card Module to the Arduino.\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_18_480x480.png?v=1709200473\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_18_480x480.png?v=1709200473\"\u003e\u003c\/p\u003e\n\u003ch3 id=\"arduino-code-testing-the-sd-card-module-with-cardinfo\"\u003eArduino Code – Testing the SD card module with CardInfo\u003c\/h3\u003e\n\u003cp\u003eCommunicating with an SD card is a lot of work, but luckily for us, the Arduino IDE already includes a very useful library called \u003ca rel=\"noreferrer noopener\" aria-label=\"(opens in a new tab)\" href=\"https:\/\/www.arduino.cc\/en\/Reference\/SD\" data-mce-href=\"https:\/\/www.arduino.cc\/en\/Reference\/SD\" previewlistener=\"true\" target=\"_blank\"\u003eSD\u003c\/a\u003e that makes reading and writing SD cards easier.\u003c\/p\u003e\n\u003cp\u003eLet’s start with a simple CardInfo example sketch. This sketch doesn’t write any data to the card. Instead, it tells you if the card is recognized and shows you some information about it. This can be very useful when determining whether or not an SD card is supported. It is therefore recommended that you run this sketch once before trying out a new card.\u003c\/p\u003e\n\u003cp\u003eTo open the CardInfo example sketch, navigate to \u003cstrong\u003eFile \u0026gt; Examples \u0026gt; SD \u0026gt; CardInfo\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"SD Library CardInfo Sketch in Arduino IDE\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/SD-Library-CardInfo-Sketch-in-Arduino-IDE.png\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/SD-Library-CardInfo-Sketch-in-Arduino-IDE.png\"\u003e\u003c\/p\u003e\n\u003cp\u003eVerify that the chipSelect line is correctly initialized at the beginning of the sketch. In our case, we are using digital pin #10, so change it to 10.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg alt=\"Initialising ChipSelect CardInfo Sketch in Arduino IDE\" height=\"589\" width=\"500\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Initialising-ChipSelect-CardInfo-Sketch-in-Arduino-IDE.png\" decoding=\"async\" loading=\"lazy\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Initialising-ChipSelect-CardInfo-Sketch-in-Arduino-IDE.png\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cp\u003eNow, insert the SD card into the module and upload the sketch. When you open the Serial Monitor, you may see different results depending on the scenario.\u003c\/p\u003e\n\u003ch3 id=\"scenario-1-everything-is-fine\"\u003eScenario 1: Everything is fine\u003c\/h3\u003e\n\u003cp\u003eIf everything is fine, you should see some useful information. For example, in our case, the card type is SDHC (SD High Capacity), the volume type is FAT32, and the size of the card is 4 GB.\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"CardInfo Sketch Output in Arduino IDE - Working\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/CardInfo-Sketch-Output-in-Arduino-IDE-Working.png\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/CardInfo-Sketch-Output-in-Arduino-IDE-Working.png\"\u003e\u003c\/p\u003e\n\u003ch3 id=\"scenario-2-sd-card-is-corrupt\"\u003eScenario 2: SD card is corrupt\u003c\/h3\u003e\n\u003cp\u003eIf you have a bad card like this one, you may see this:\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg alt=\"CardInfo Sketch Output in Arduino IDE - Bad Corrupt Card\" height=\"330\" width=\"499\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/CardInfo-Sketch-Output-in-Arduino-IDE-Bad-Corrupt-Card.png\" decoding=\"async\" loading=\"lazy\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/CardInfo-Sketch-Output-in-Arduino-IDE-Bad-Corrupt-Card.png\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cp\u003eAlthough the card responded, all the data is inaccurate. As you can see, there is no Manufacturer ID or OEM ID, and the Product ID is ‘N\/A.’ It appears the card returned SD errors.\u003c\/p\u003e\n\u003cp\u003eIf you get something like this, you can try reformatting it, but if the problem persists, you may have to throw the card away.\u003c\/p\u003e\n\u003ch3 id=\"scenario-3-wiring-error-or-card-is-permanently-damaged\"\u003eScenario 3: Wiring error or card is permanently damaged\u003c\/h3\u003e\n\u003cp\u003eIf there is a wiring error or the card is permanently damaged, you will see something similar to this. You can see that it couldn’t even initialize the SD card.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/CardInfo-Sketch-Output-in-Arduino-IDE-Initialization-Failed.png\" width=\"499\" height=\"228\" alt=\"CardInfo Sketch Output in Arduino IDE - Initialization Failed\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/CardInfo-Sketch-Output-in-Arduino-IDE-Initialization-Failed.png\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cp\u003eIn this case, double-check the wiring and re-run the sketch.\u003c\/p\u003e\n\u003ch3 id=\"scenario-4-sd-card-is-not-formatted-properly\"\u003eScenario 4: SD card is not formatted properly\u003c\/h3\u003e\n\u003cp\u003eIf the wiring is correct but the SD card is not properly formatted, you will see something like this:\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/CardInfo-Sketch-Output-in-Arduino-IDE-No-Proper-Format.png\" width=\"499\" height=\"243\" alt=\"CardInfo Sketch Output in Arduino IDE - No Proper Format\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/CardInfo-Sketch-Output-in-Arduino-IDE-No-Proper-Format.png\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cp\u003eTry formatting the card and running the sketch again.\u003c\/p\u003e\n\u003ch3 id=\"arduino-code-reading-and-writing-data\"\u003eArduino Code – Reading and Writing Data\u003c\/h3\u003e\n\u003cp\u003eAssuming you were successful with the previous sketch, we will proceed to the next experiment. The following sketch will demonstrate how to write to a file and then verify its contents by reading it back. Try out the sketch before we get into the details.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n#include \u0026lt;SPI.h\u0026gt;\n#include \u0026lt;SD.h\u0026gt;\n\nFile myFile;\n\n\/\/ change this to match your SD shield or module;\nconst int chipSelect = 10;\n\nvoid setup()\n{\n  \/\/ Open serial communications and wait for port to open:\n  Serial.begin(9600);\n  while (!Serial) {\n    ; \/\/ wait for serial port to connect. Needed for Leonardo only\n  }\n\n\n  Serial.print(\"Initializing SD card...\");\n\n  if (!SD.begin()) {\n    Serial.println(\"initialization failed!\");\n    return;\n  }\n  Serial.println(\"initialization done.\");\n\n  \/\/ open the file. note that only one file can be open at a time,\n  \/\/ so you have to close this one before opening another.\n  myFile = SD.open(\"test.txt\", FILE_WRITE);\n\n  \/\/ if the file opened okay, write to it:\n  if (myFile) {\n    Serial.print(\"Writing to test.txt...\");\n    myFile.println(\"testing 1, 2, 3.\");\n    \/\/ close the file:\n    myFile.close();\n    Serial.println(\"done.\");\n  } else {\n    \/\/ if the file didn't open, print an error:\n    Serial.println(\"error opening test.txt\");\n  }\n\n  \/\/ re-open the file for reading:\n  myFile = SD.open(\"test.txt\");\n  if (myFile) {\n    Serial.println(\"test.txt:\");\n\n    \/\/ read from the file until there's nothing else in it:\n    while (myFile.available()) {\n      Serial.write(myFile.read());\n    }\n    \/\/ close the file:\n    myFile.close();\n  } else {\n    \/\/ if the file didn't open, print an error:\n    Serial.println(\"error opening test.txt\");\n  }\n}\n\nvoid loop()\n{\n  \/\/ nothing happens after setup\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eAfter the code is uploaded, the serial monitor will show the following:\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Micro-SD-Card-SD-library-Output-on-Serial-Monitor.png\" width=\"499\" height=\"223\" alt=\"Micro SD Card SD library Output on Serial Monitor\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Micro-SD-Card-SD-library-Output-on-Serial-Monitor.png\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cp\u003eIf you reset your Arduino and let the sketch run again, the new data will be appended to the file without overwriting the old data.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Micro-SD-Card-SD-library-Second-Output-on-Serial-Monitor.png\" width=\"499\" height=\"223\" alt=\"Micro SD Card SD library Second Output on Serial Monitor\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Micro-SD-Card-SD-library-Second-Output-on-Serial-Monitor.png\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003ch3 id=\"code-explanation\"\u003eCode Explanation:\u003c\/h3\u003e\n\u003cp\u003eThe sketch begins by including the SD library and the SPI library, which allow us to communicate with the SD card via the SPI interface.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e#include \u003cspan class=\"str\"\u003e\u0026lt;SPI.h\u0026gt;\u003c\/span\u003e\n#include \u003cspan class=\"str\"\u003e\u0026lt;SD.h\u0026gt;\u003c\/span\u003e\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eNext, we declare the Arduino pin to which the SD card module’s CS (Chip Select) pin is connected. Except for the CS pin, we do not need to declare any other SPI pins because we are using a hardware SPI interface and these pins are already declared in the SPI library.\u003c\/p\u003e\n\u003cp\u003eThen we create a file object called\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003emyFile\u003c\/code\u003e, which has methods and attributes for accessing and manipulating files.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"kwd\"\u003econst\u003c\/span\u003e \u003cspan class=\"kwd\"\u003eint\u003c\/span\u003e chipSelect = \u003cspan class=\"lit\"\u003e10\u003c\/span\u003e;\nFile myFile;\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eIn the setup() section, we initialize the serial communication and call the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eSD.begin()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction. If it manages to recognize the card, it prints “initialization done.” on the serial monitor. If it doesn’t, it prints “initialization failed!” and the program terminates.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003eSerial.\u003cspan class=\"func\"\u003ebegin\u003c\/span\u003e(\u003cspan class=\"lit\"\u003e9600\u003c\/span\u003e);\n  Serial.\u003cspan class=\"func\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"Initializing SD card...\"\u003c\/span\u003e);\n  \u003cspan class=\"kwd\"\u003eif\u003c\/span\u003e (!SD.\u003cspan class=\"func\"\u003ebegin\u003c\/span\u003e()) {\n    Serial.\u003cspan class=\"func\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"initialization failed!\"\u003c\/span\u003e);\n    \u003cspan class=\"kwd\"\u003ereturn\u003c\/span\u003e;\n  }\n  Serial.\u003cspan class=\"func\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"initialization done.\"\u003c\/span\u003e);\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eNext, we call the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eopen()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction. This function opens a file or creates a file if it does not exist. It requires two parameters: the name of the file to open and the mode in which the file should be opened.\u003c\/p\u003e\n\u003cp\u003eFile mode can be\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eFILE_READ\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e(opens the file for reading and places the cursor at the beginning of the file) or\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eFILE_WRITE\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003e(opens the file for reading and writing and places the cursor at the end of the file).\u003c\/p\u003e\n\u003cp\u003eIn our case, we’re creating a file called “test.txt” and opening it in read-write mode.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003emyFile = SD.\u003cspan class=\"func\"\u003eopen\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"test.txt\"\u003c\/span\u003e, FILE_WRITE);\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eAfter we open the file, we use the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eprintln()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction to write data to it. The\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eprintln()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction is similar to the one we use to print data on the serial monitor. The\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eprint()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction is also available if you don’t want to move the cursor to a new line.\u003c\/p\u003e\n\u003cp\u003eWe then close the file by using the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eclose()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction. This function closes the file and makes sure that any data written to it is saved to the SD card.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cdiv class=\"reactAppRoot\" id=\"reactAppRoot\"\u003e\n\u003cdiv class=\"flex justify-end pr-2 mb-2\"\u003e\n\u003cdiv class=\"relative flex w-fit\"\u003e\n\u003cdiv class=\"h-5 w-5\"\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"kwd\"\u003eif\u003c\/span\u003e (myFile) {\n    Serial.\u003cspan class=\"func\"\u003eprint\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"Writing to test.txt...\"\u003c\/span\u003e);\n    myFile.\u003cspan class=\"func\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"testing 1, 2, 3.\"\u003c\/span\u003e);\n    myFile.\u003cspan class=\"func\"\u003eclose\u003c\/span\u003e();\n    Serial.\u003cspan class=\"func\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"done.\"\u003c\/span\u003e);\n  } \u003cspan class=\"kwd\"\u003eelse\u003c\/span\u003e {\n    Serial.\u003cspan class=\"func\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"error opening test.txt\"\u003c\/span\u003e);\n  }\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eLet us now read back the contents of the same file to see if the previous write operation was successful. To accomplish this, we will first open the file using the same\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eopen()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction, but this time in read mode. Because the file “test.txt” has already been created, it will simply open it.\u003c\/p\u003e\n\u003cp\u003eThen, using the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003emyFile.read()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction, we will read from the file and print it to the serial monitor. Because the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003eread()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction only reads one character at a time, we have to use the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003ewhile\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003eloop and the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003emyFile.available()\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction to read all the characters in the file.\u003c\/p\u003e\n\u003cp\u003eFinally, we close the file.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cdiv class=\"reactAppRoot\" id=\"reactAppRoot\"\u003e\n\u003cdiv class=\"flex justify-end pr-2 mb-2\"\u003e\n\u003cdiv class=\"relative flex w-fit\"\u003e\n\u003cdiv class=\"h-5 w-5\"\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003emyFile = SD.\u003cspan class=\"func\"\u003eopen\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"test.txt\"\u003c\/span\u003e);\n  \u003cspan class=\"kwd\"\u003eif\u003c\/span\u003e (myFile) {\n    Serial.\u003cspan class=\"func\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"test.txt:\"\u003c\/span\u003e);\n    \u003cspan class=\"kwd\"\u003ewhile\u003c\/span\u003e (myFile.\u003cspan class=\"func\"\u003eavailable\u003c\/span\u003e()) {\n      Serial.\u003cspan class=\"func\"\u003ewrite\u003c\/span\u003e(myFile.\u003cspan class=\"func\"\u003eread\u003c\/span\u003e());\n    }\n    myFile.\u003cspan class=\"func\"\u003eclose\u003c\/span\u003e();\n  } \u003cspan class=\"kwd\"\u003eelse\u003c\/span\u003e {\n    Serial.\u003cspan class=\"func\"\u003eprintln\u003c\/span\u003e(\u003cspan class=\"str\"\u003e\"error opening test.txt\"\u003c\/span\u003e);\n  }\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cp\u003eBecause this is just a demo sketch to show how to read and write files, there is no point in running the code multiple times. So, all of the code is placed in the setup() function, which runs once, rather than the loop() function, which runs repeatedly.\u003c\/p\u003e\n\u003cdiv class=\"example\"\u003e\n\u003cpre\u003e\u003ccode\u003e\u003cspan class=\"kwd\"\u003evoid\u003c\/span\u003e \u003cspan class=\"func\"\u003eloop\u003c\/span\u003e() \n{\n}\u003cbr\u003e\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp id=\"important-things-to-note\"\u003eImportant things to note\u003c\/p\u003e\n\u003cpre\u003e\u003ccode\u003e\u003c\/code\u003e\u003c\/pre\u003e\n\u003cul\u003e\n\u003cli\u003eYou can use the print() and println() functions to write strings, variables, and so on, just like Serial objects.\u003cbr\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cpre\u003e\u003cspan id=\"ezoic-pub-ad-placeholder-127\" data-inserter-version=\"2\"\u003e\u003c\/span\u003e\u003c\/pre\u003e\n\u003cul\u003e\n\u003cli\u003eread() function returns a single character at a time. It doesn’t read a complete line.\u003c\/li\u003e\n\u003cli\u003eWhen you’re done with the file, you must use the close() function to make sure that all the data is written permanently. This also reduces the amount of RAM being used.\u003c\/li\u003e\n\u003cli\u003eYou can open files in a directory. To open a file in the directory, for example, use SD.open(\"\/myfiles\/example.txt\"). Remember that the path to the file is relative.\u003c\/li\u003e\n\u003cli\u003eThe SD card library does not support long filenames because it uses the \u003ca rel=\"noreferrer noopener\" aria-label=\"(opens in a new tab)\" href=\"https:\/\/en.wikipedia.org\/wiki\/8.3_filename\" previewlistener=\"true\" target=\"_blank\"\u003e8.3 filename format\u003c\/a\u003e. So keep file names short. For instance, “datalog.txt” is fine, but “My Sensor log file.text” is not!\u003c\/li\u003e\n\u003cli\u003eKeep in mind that file names are not case sensitive. So datalog.txt is the same as DataLog.Txt and DATALOG.TXT\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cpre\u003e\u003ccode\u003e\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218215530599,"sku":"B0919B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8049152_7406591.jpg?v=1530919866"},{"product_id":"ds18b20-waterproof-temperature-sensor-waterproof-digital-thermal-probe","title":"5C7  DS18B20 Waterproof Temperature Sensor Waterproof Digital Thermal Probe","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eThe DS18B20 is a widely used 1-Wire waterproof digital temperature sensor that comes in the form of a Stainless-steel probe. it is manufactured by Dallas Semiconductor (acquired by Maxim Integrated). This sensor has the characteristics of small size, low hardware overhead, high precision, and strong anti-interference ability. This sensor is perfect for measuring temperature in wet conditions, beneath the ground, underwater, or something far away. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eThis Sensor can measure a wide temperature in the range of -55°C ( -67°F) to +125°C (+257°F) with +-5% accuracy. This Sensors used a one-wire bus protocol to communicate with a microcontroller, which means it uses a single digital pin of any microcontroller\/microprocessor to transmit the temperature readings. The temperature sensor’s resolution ranges from 9 to 12 bits. however, the default resolution to power up the sensor is 12-bit (i.e., 0.0625°C precision).\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\n\u003cstrong\u003e\u003cspan\u003eSpecifications\u003c\/span\u003e\u003c\/strong\u003e\u003cspan class=\"ez-toc-section-end\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003ctable border=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003e\u003cstrong\u003eParameter\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e\u003cstrong\u003eValue\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003eSensor Type\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003eProgrammable Digital Temperature Sensor\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003eOperating Voltage\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e3.3V – 5V\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003eOperating Current\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e1 A\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"275\"\u003e\u003cspan\u003eMeasuring temperature range\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd width=\"310\"\u003e\u003cspan\u003e-55ºC to +125ºC (-67°F to +257°F)\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003eAccuracy\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e±0.5°C Accuracy from -10°C to +85°C\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003eProgrammable Resolution\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e9 to 12 bit (Selectable)\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003eConversion Time\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e\u0026lt; 750ms\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003eSensing Probes\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003eStainless Steel tube\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003eSensor Probe Length\/ Diameter\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e45mm Long, 6mm Diameter\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003eCable Length\/ Diameter\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e36 Inch \/ 91cm long, 4mm Diameter\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch2\u003e\u003cspan class=\"ez-toc-section\"\u003e\u003c\/span\u003e\u003c\/h2\u003e\n\u003ch3\u003e\n\u003cspan id=\"Technical_Features\" class=\"ez-toc-section\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eTechnical Features\u003c\/strong\u003e\u003c\/span\u003e\u003cspan class=\"ez-toc-section-end\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eUnique 1-Wire® Interface Requires Only One Digital Pin of microcontroller\/microprocessor for Communication\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eIn Parasitic Power Mode, Requires Only 2 Pins for Operation (Data and GND pin).\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMultiple temperature sensors can share one pin of microcontroller\/microprocessor\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eNo External Components are Required\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eTemperature Sensor and EEPROM\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnique 64-bit address enables multiplexing\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eProgrammable alarm options\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eIt is Available in 8-Pin SO (150 mils), 8-Pin µSOP, and 3-Pin TO-92 Packages\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\n\u003cspan id=\"Application\" class=\"ez-toc-section\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eApplication\u003c\/strong\u003e\u003c\/span\u003e\u003cspan class=\"ez-toc-section-end\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eThis sensor is widely used to calculate the temperature in a rigid environment like mines, chemical solutions, soil, etc.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMeasuring Liquid temperature\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eit can be used in the thermostat controls system\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUsed in industries as a temperature-measuring device\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eIt is very useful where the temperature has to be measured at multiple points\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\u003cstrong\u003e\u003cspan\u003ePinout\/Pin Diagram\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h3\u003e\n\u003ch2\u003e\n\u003cimg data-ll-status=\"loaded\" sizes=\"(max-width: 650px) 100vw, 650px\" srcset=\"https:\/\/www.electroduino.com\/wp-content\/uploads\/2022\/11\/DS18B20-Temperature-Sensor-Pinout.jpg 757w, https:\/\/www.electroduino.com\/wp-content\/uploads\/2022\/11\/DS18B20-Temperature-Sensor-Pinout-300x169.jpg 300w\" src=\"https:\/\/www.electroduino.com\/wp-content\/uploads\/2022\/11\/DS18B20-Temperature-Sensor-Pinout.jpg\" class=\"lazy wp-image-3631 ls-is-cached lazyloaded entered loaded\" data-sizes=\"(max-width: 650px) 100vw, 650px\" data-src=\"https:\/\/www.electroduino.com\/wp-content\/uploads\/2022\/11\/DS18B20-Temperature-Sensor-Pinout.jpg\" data-srcset=\"https:\/\/www.electroduino.com\/wp-content\/uploads\/2022\/11\/DS18B20-Temperature-Sensor-Pinout.jpg 757w, https:\/\/www.electroduino.com\/wp-content\/uploads\/2022\/11\/DS18B20-Temperature-Sensor-Pinout-300x169.jpg 300w\" height=\"366\" width=\"650\" alt=\"Introduction to DS18B20 Digital Waterproof Temperature Sensor, Pin Diagram, Working Principle, Specifications, Features, and Applications\" decoding=\"async\"\u003e\u003cbr\u003e\n\u003c\/h2\u003e\n\u003ctable border=\"1\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003e\u003cspan\u003ePin No.\u003c\/span\u003e\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003e\u003cspan\u003ePin Name\u003c\/span\u003e\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003e\u003cspan\u003e Description\u003c\/span\u003e\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003e1\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003e\u003cspan\u003eGND\u003c\/span\u003e\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003eThis is the Ground pin of the sensor, it needs to connect to the GND terminal of the microcontroller.\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003e2\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e\u003cstrong\u003eVCC\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003cspan\u003eThis is the Power Supply pin of the sensor, it needs to connect to the 3.3V or 5V terminal of the microcontroller\/microprocessor.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cspan\u003e3\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cspan\u003e\u003cstrong\u003eDATA\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e\n\u003cp\u003e\u003cspan\u003eThis is the Output pin. It Provides the output using one wire method that should be connected to a digital pin on the microcontroller\/microprocessor.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv class=\"code-block code-block-3\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003e\n\u003cspan id=\"Working_Principle_of_DS18B20_Waterproof_Temperature_Sensor\" class=\"ez-toc-section\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eWorking Principle of \u003c\/strong\u003e\u003cstrong\u003eDS18B20 Waterproof Temperature Sensor\u003c\/strong\u003e\u003c\/span\u003e\u003cspan class=\"ez-toc-section-end\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eThe working principle of the DS18B20 Waterproof temperature sensor is similar to any other temperature sensor. The resolution of the sensor ranges from 9-bits to 12-bits. But 12-bit is used as the default resolution to power up this sensor. It measures temperature, as well as the conversion of Analog-to-Digital (A-to-D), which can be done with a convert-T command. The output temperature value can be stored within the 2-byte register in the sensor, and after that, this sensor returns to its inactive state.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eThe DS18B20 Temperature Sensor has three wires\/pins (Vcc, ground, and data wires) for operation. But in parasite mode, only the ground and data lines are used to operate the sensor, the input voltage of the sensor is supplied through the data line.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cspan\u003eHardware Required\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eArduino Uno\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUSB 2.0 cable type A\/B\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eDS18B20 Temperature Sensor\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eJumper Wires\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e9V power adapter for arduino\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\u003cspan\u003eWiring Diagram\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003e\u003cimg height=\"315\" width=\"872\" src=\"https:\/\/arduinogetstarted.com\/images\/tutorial\/arduino-ds18b20-adapter-wiring-diagram.jpg\" alt=\"Arduino DS18B20 Wiring Diagram\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cspan\u003eCode\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eNote: You have to install Dallas Temperature Library\u003c\/span\u003e\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n#include \u003cspan data-mce-fragment=\"1\"\u003e\u0026lt;\u003c\/span\u003e\u003cspan class=\"arduino-keyword1\" data-mce-fragment=\"1\"\u003eOneWire\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e.h\u0026gt;\u003c\/span\u003e\n#include \u003cspan data-mce-fragment=\"1\"\u003e\u0026lt;\u003c\/span\u003e\u003cspan class=\"arduino-keyword1\" data-mce-fragment=\"1\"\u003eDallasTemperature\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e.h\u0026gt;\u003c\/span\u003e\n\nconst int SENSOR_PIN = 13; \/\/ Arduino pin connected to DS18B20 sensor's DQ pin\n\nOneWire oneWire(SENSOR_PIN);         \/\/ setup a oneWire instance\nDallasTemperature tempSensor(\u0026amp;oneWire); \/\/ pass oneWire to DallasTemperature library\n\nfloat tempCelsius;    \/\/ temperature in Celsius\nfloat tempFahrenheit; \/\/ temperature in Fahrenheit\n\nvoid setup()\n{\n  Serial.begin(9600); \/\/ initialize serial\n  tempSensor.begin();    \/\/ initialize the sensor\n}\n\nvoid loop()\n{\n  tempSensor.requestTemperatures();             \/\/ send the command to get temperatures\n  tempCelsius = tempSensor.getTempCByIndex(0);  \/\/ read temperature in Celsius\n  tempFahrenheit = tempCelsius * 9 \/ 5 + 32; \/\/ convert Celsius to Fahrenheit\n\n  Serial.print(\"Temperature: \");\n  Serial.print(tempCelsius);    \/\/ print the temperature in Celsius\n  Serial.print(\"°C\");\n  Serial.print(\"  ~  \");        \/\/ separator between Celsius and Fahrenheit\n  Serial.print(tempFahrenheit); \/\/ print the temperature in Fahrenheit\n  Serial.println(\"°F\");\n\n  delay(500);\n}\n\u003c\/code\u003e\u003c\/pre\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218216808551,"sku":"B0920B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/s-l1600_20_282_29_101abe8a-0f4a-4b5f-b070-b02e4982a42b.jpg?v=1530919877"},{"product_id":"joystick-module-shield-ps2-joystick-game-controller","title":"2C17  JoyStick Module Shield PS2 Joystick Game Controller","description":"\u003cdiv id=\"overview\" class=\"active pinfobox\" style=\"font-size: 11px; color: #333333; font-family: Verdana, Tahoma, Arial; line-height: normal;\"\u003e\n\u003cdiv class=\"pinfo_content pr\" style=\"position: relative; padding: 20px 0px 0px;\"\u003e\n\u003cdiv id=\"overview-detailinfo\" class=\"infoContainer\"\u003e\n\u003cdiv style=\"font-size: 10pt; font-family: Arial;\"\u003e\n\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThe JoyStick Module Shield is a hardware platform that allows users to build and program their own game controllers. The shield is compatible with the PlayStation 2 (PS2) joystick, which is a familiar and commonly used input device for gaming. This combination of hardware and software allows for seamless integration into a wide range of gaming applications, including media centers, emulators, and homebrews. The Joystick Game Controller offers a unique and engaging experience for gamers who want to customize their input devices to suit their specific needs and preferences.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ctable width=\"550px\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"width: 898px;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eBrand\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003eKEYES\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eModel\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003eKY-023\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eQuantity\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eColor\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003eBlack\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eMaterial\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003eFR4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003eThrough the Arduino controller programming, sensor expansion board inserting to complete creative control interactive works; Suitable for Arduino UNO, Arduino UNO R3, Arduino 2560, Arduino 2560 R\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eSpecification\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003ePS2 joystick module, electronic building standard interface and 2.54mm interface leads to pin; Cross rocker is a bidirectional 10K resistor, with rocker in different directions, the resistance changes with tap; This module uses 5V power supply, original state of X, Y readout voltage is about 2.5V, when press down the arrow, the voltage value increases up to 5V; press the arrow in the opposite direction, voltage decreases, the minimum is 0V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eApplication\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003eArduino development\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eEnglish Manual\/Spec\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003eYes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003eOther\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003eA product for Arduino that works with official Arduino boards.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 20px;\"\u003e\n\u003ctd style=\"margin: 0px; width: 250px;\"\u003e\u003cstrong\u003ePacking List\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"margin: 0px;\"\u003eJoyStick Module Shield PS2 Joystick Game Controller\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"specification\" class=\"active pinfobox\" style=\"font-size: 11px; color: #333333; font-family: Verdana, Tahoma, Arial; line-height: normal;\"\u003e\n\u003cdiv class=\"pinfo_content pr\" style=\"position: relative; padding: 20px 0px 0px;\"\u003e\n\u003cdiv id=\"specification-detailinfo\" class=\"infoContainer\"\u003e\u003cspan face=\"Arial\" size=\"2\" style=\"font-family: Arial; font-size: small;\"\u003eDimensions: 1.57 in x 1.06 in x 1.34 in (4.0 cm x 2.7 cm x 3.4 cm)\u003cbr\u003eWeight: 0.39 oz (11 g)\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218220249191,"sku":"B0923B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8171236_7663813.jpg?v=1530919912"},{"product_id":"mb102-breadboard-power-supply-module-3-3v-5v-for-solderless-breadboard","title":"2E7 MB102 Breadboard Power Supply Module 3.3V 5V For Solderless Breadboard","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThis solderless breadboard power supply module makes powering your prototype a snap. With a standard 2.1mm barrel jack, you can power it with a 9-volt battery using a Snap-on connector or a wall-wart. With a convenient ON\/OFF button switch with an indicator LED, you don’t have to keep plugging in and unplugging your power source.\u003c\/p\u003e\n\u003cp\u003eThe rails are powered separately, so you can have one side at 3.3 volts and the other as 5 volts. There is also an off position for the jumper to break the circuit and not power the rail at all.\u003c\/p\u003e\n\u003cp\u003eThe board has a 2 x 4 group of male headers, with 2 sets for 3.3 volts to GND and 2 sets for 5 volts to GND. One of our favorite features is the USB-A port to plug in your USB powered dev boards like an Arduino.\u003c\/p\u003e\n\u003cp\u003eThis gives the added benefit of tying the breadboard ground to the development board ground as well. There is a nice feature set on this little board, and it’s a real time saver.\u003c\/p\u003e\n\u003ch4\u003eNOTES\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eThis item is only a power supply module; the breadboard is not included.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eApply to MB102 breadboard\u003c\/li\u003e\n\u003cli\u003eInput voltage:\n\u003cul\u003e\n\u003cli\u003e6.5–12 V (DC)\u003c\/li\u003e\n\u003cli\u003eUSB power supply\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/li\u003e\n\u003cli\u003eOutput voltage: 3.3V\/5V can switch over\u003c\/li\u003e\n\u003cli\u003eMaximum output current: \u0026lt;700 ma\u003c\/li\u003e\n\u003cli\u003eFluctuation two road independent control, can switch over to 0 V, 3.3 V, 5 V\u003c\/li\u003e\n\u003cli\u003eOn-board two groups of 3.3V, 5V DC output plug pin, convenient external lead use.\u003c\/li\u003e\n\u003cli\u003eSize: 53x32x25mm\u003c\/li\u003e\n\u003cli\u003eWeight: 12g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003ciframe title=\"How to use a breadboard power supply module for DIY learning electronics\" src=\"https:\/\/www.youtube.com\/embed\/1er6XQ-BMp4\" height=\"391\" width=\"678\" allowfullscreen=\"\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218223001703,"sku":"B0925B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8383869_8058107.jpg?v=1530919930"},{"product_id":"nrf24l01-2-4ghz-antenna-wireless-transceiver-module","title":"2B27  nrf24l01 2.4ghz antenna wireless transceiver module (1pcs)","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eHaving two or more Arduinos able to communicate with each other wirelessly opens up a world of possibilities, such as remotely monitoring sensor data, controlling robots, home automation, and so on.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eAnd when it comes to a low-cost but reliable 2-way RF solution, nothing beats \u003ca rel=\"noreferrer noopener\" aria-label=\"(opens in a new tab)\" href=\"http:\/\/www.nordicsemi.com\/\" previewlistener=\"true\" target=\"_blank\" data-mce-href=\"http:\/\/www.nordicsemi.com\/\"\u003eNordic Semiconductor’s\u003c\/a\u003e nRF24L01+ transceiver module.\u003c\/p\u003e\n\u003cp\u003eThe nRF24L01+ module is available for less than two dollars online, making it one of the most affordable data communication options available.\u003c\/p\u003e\n\u003cp\u003e\u003ca rel=\"noopener\" title=\"nrf24I01 datasheet\" href=\"https:\/\/www.mouser.com\/datasheet\/2\/297\/nRF24L01_Product_Specification_v2_0-9199.pdf\" target=\"_blank\" data-mce-href=\"https:\/\/www.mouser.com\/datasheet\/2\/297\/nRF24L01_Product_Specification_v2_0-9199.pdf\"\u003e\u003cspan style=\"text-decoration: underline;\" data-mce-style=\"text-decoration: underline;\"\u003e\u003cstrong\u003eDatasheet\u003c\/strong\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003ch3 id=\"hardware-overview\"\u003eHardware Overview\u003c\/h3\u003e\n\u003ch3 id=\"radio-frequency\"\u003eRadio Frequency\u003c\/h3\u003e\n\u003cp\u003eThe nRF24L01+ module is designed to operate in the 2.4 GHz worldwide ISM frequency band and uses \u003ca href=\"https:\/\/en.wikipedia.org\/wiki\/Frequency-shift_keying%23Gaussian_frequency-shift_keying\" previewlistener=\"true\" data-mce-href=\"https:\/\/en.wikipedia.org\/wiki\/Frequency-shift_keying%23Gaussian_frequency-shift_keying\"\u003eGFSK modulation\u003c\/a\u003e for data transmission. The data transfer rate is configurable and can be set to 250kbps, 1Mbps, or 2Mbps.\u003c\/p\u003e\n\u003ch3 id=\"power\"\u003ePower\u003c\/h3\u003e\n\u003cp\u003eThe module’s operating voltage ranges from 1.9 to 3.9V. Please keep in mind that powering the module with 5V will most likely damage your nRF24L01+ module.\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eDespite the fact that the module operates at 1.9V to 3.6V, the logic pins are 5-volt tolerant, so you do not need a logic level translator.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eThe output power of the module can be programmed to be 0 dBm, -6 dBm, -12 dBm, or -18 dBm. At 0 dBm, the module consumes only 12 mA during transmission, which is less than the consumption of a single LED.\u003c\/p\u003e\n\u003cp\u003eAnd the best part is that it consumes only 26 µA in standby mode and 900 nA in power down mode. That’s why it’s the go-to wireless device for low-power applications.\u003c\/p\u003e\n\u003ch3 id=\"spi-interface\"\u003eSPI Interface\u003c\/h3\u003e\n\u003cp\u003eThe nRF24L01+ communicates over a 4-pin SPI (Serial Peripheral Interface) with a maximum data rate of 10Mbps.\u003c\/p\u003e\n\u003cp\u003eAll parameters, including frequency channel (125 selectable channels), output power (0 dBm, -6 dBm, -12 dBm or -18 dBm), and data rate (250kbps, 1Mbps, or 2Mbps), can be configured through the SPI interface.\u003c\/p\u003e\n\u003cp\u003eThe SPI bus uses the concept of a master and a slave. In most of our projects, the Arduino serves as the master and the nRF24L01+ module serves as the slave.\u003c\/p\u003e\n\u003cp\u003eUnlike the I2C bus, the SPI bus has a limited number of slaves. You can therefore use up to two SPI slaves (two nRF24L01+ modules) on a single Arduino.\u003c\/p\u003e\n\u003ch3 id=\"technical-specifications\"\u003eTechnical Specifications\u003c\/h3\u003e\n\u003cp\u003eHere are the specifications:\u003c\/p\u003e\n\u003cdiv class=\"tablescroll\"\u003e\n\u003ctable class=\"tabler max550 parametertabler\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eFrequency Range\u003c\/td\u003e\n\u003ctd\u003e2.4 GHz ISM Band\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaximum Air Data Rate\u003c\/td\u003e\n\u003ctd\u003e2 Mb\/s\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eModulation Format\u003c\/td\u003e\n\u003ctd\u003eGFSK\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax. Output Power\u003c\/td\u003e\n\u003ctd\u003e0 dBm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Supply Voltage\u003c\/td\u003e\n\u003ctd\u003e1.9 V to 3.6 V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax. Operating Current\u003c\/td\u003e\n\u003ctd\u003e13.5mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMin. Current(Standby Mode)\u003c\/td\u003e\n\u003ctd\u003e26µA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLogic Inputs\u003c\/td\u003e\n\u003ctd\u003e5V Tolerant\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCommunication Range\u003c\/td\u003e\n\u003ctd\u003e800+ m (line of sight)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003ch3 id=\"nrf24l01-module-vs-nrf24l01-palna-module\"\u003enRF24L01+ module -vs- nRF24L01+ PA\/LNA module\u003c\/h3\u003e\n\u003cp\u003eThe nRF24L01+ chip is used in a variety of modules, the two most common of which are listed below.\u003c\/p\u003e\n\u003cp\u003eThe first one uses an on-board antenna, which allows it to be more compact. A smaller antenna, however, means a shorter transmission range. You will be able to communicate over a distance of 100 meters using this module. Of course, that is outside in the open. Its range gets a little weaker inside the house, especially because of the walls.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg alt=\"nRF24L01+ Wireless Transceiver Module\" height=\"121\" width=\"232\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/nRF24L01-Wireless-Transceiver-Module.jpg\" decoding=\"async\" loading=\"lazy\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/nRF24L01-Wireless-Transceiver-Module.jpg\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cp\u003eThe second one has an SMA connector and a duck antenna, but that’s not the only difference. It includes an \u003ca rel=\"noreferrer noopener\" href=\"http:\/\/www.skyworksinc.com\/Product\/3213\/RFX2401C\" aria-label=\"(opens in a new tab)\" previewlistener=\"true\" target=\"_blank\" data-mce-href=\"http:\/\/www.skyworksinc.com\/Product\/3213\/RFX2401C\"\u003eRFX2401C range extender chip\u003c\/a\u003e that combines PA, LNA, and transmit-receive switching circuitry. This enables the module to achieve a significantly greater transmission range of up to 1000 meters.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image size-full\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg alt=\"nRF24L01+ PA LNA External Antenna Wireless Transceiver Module\" height=\"189\" width=\"424\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/nRF24L01-PA-LNA-External-Antenna-Wireless-Transceiver-Module.jpg\" decoding=\"async\" loading=\"lazy\" data-mce-src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/nRF24L01-PA-LNA-External-Antenna-Wireless-Transceiver-Module.jpg\"\u003e\u003c\/figure\u003e\n\u003ch3 id=\"what-exactly-are-pa-and-lna\"\u003eWhat exactly are PA and LNA?\u003c\/h3\u003e\n\u003cp\u003ePA stands for \u003cstrong\u003ePower Amplifier\u003c\/strong\u003e. It merely amplifies the signal that is being transmitted by the nRF24L01+ chip. LNA stands for \u003cstrong\u003eLow-Noise Amplifier\u003c\/strong\u003e, and its function is to amplify an extremely weak signal received from the antenna (usually below microvolts or -100 dBm) to a more useful level (usually around 0.5 to 1 V).\u003c\/p\u003e\n\u003cp\u003e\u003cimg alt=\"nRF24L01+ RF PA LNA Power Amplifier Low Noise Amplifier Block Diagram\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/nRF24L01-RF-PA-LNA-Power-Amplifier-Low-Noise-Amplifier-Block-Diagram.png\"\u003e\u003c\/p\u003e\n\u003cp\u003eThe receive path’s low-noise amplifier (LNA) and transmit path’s power amplifier (PA) connect to the antenna via a duplexer, which isolates the two signals and prevents the relatively powerful PA output from overloading the sensitive LNA input. Read this \u003ca rel=\"noreferrer noopener\" aria-label=\"(opens in a new tab)\" href=\"https:\/\/www.digikey.com\/en\/articles\/techzone\/2013\/oct\/understanding-the-basics-of-low-noise-and-power-amplifiers-in-wireless-designs\" previewlistener=\"true\" target=\"_blank\"\u003earticle on digikey.com\u003c\/a\u003e for more information.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003ch3 id=\"nrf24l01-module-pinout\"\u003enRF24L01+ Module Pinout\u003c\/h3\u003e\n\u003cp\u003eLet’s take a look at the pinouts of both nRF24L01+ modules.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_19_480x480.png?v=1709204255\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-black\"\u003eGND\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the ground pin. It has a square marking to distinguish it from the other pins.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-red\"\u003eVCC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003esupplies power to the module. It can range from 1.9 to 3.9 volts. You can connect it to your Arduino’s 3.3V output. Please keep in mind that connecting this to the 5V pin will most likely damage your nRF24L01+ module.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-yellow\"\u003eCE (Chip Enable)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis an active-high pin. When enabled, the nRF24L01 will either transmit or receive, depending on the mode.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-orange\"\u003eCSN (Chip Select Not)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis an active-low pin that is typically held HIGH. When this pin goes low, the nRF24L01 begins listening for data on its SPI port and processes it accordingly.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-green\"\u003eSCK (Serial Clock)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eaccepts clock pulses from the SPI bus master.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-blue\"\u003eMOSI (Master Out Slave In)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the SPI input for the nRF24L01.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-purple\"\u003eMISO (Master In Slave Out)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the SPI output of the nRF24L01.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-gray\"\u003eIRQ\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis an interrupt pin that can notify the master when there is new data to process.\u003c\/p\u003e\n\u003ch3 id=\"wiring-a-nrf24l01-module-to-an-arduino\"\u003eWiring a nRF24L01+ module to an Arduino\u003c\/h3\u003e\n\u003cp\u003eNow that we know everything about how the nRF24L01+ module works, we can start hooking it up to our Arduino.\u003c\/p\u003e\n\u003cp\u003eTo begin, connect the module’s VCC pin to Arduino’s 3.3V and the GND pin to ground. CSN and CE pins can be connected to any digital pin on an Arduino; in our case, they are connected to digital pins #8 and #9.\u003c\/p\u003e\n\u003cp\u003eLet’s wire up the SPI pins. Note that each Arduino board has a unique set of SPI pins that must be connected accordingly. For Arduino boards such as the UNO\/Nano V3.0, these pins are digital 13 (SCK), 12 (MISO), 11 (MOSI) and 10 (SS).\u003c\/p\u003e\n\u003cp\u003eIf you’re using a different Arduino board, check the official documentation for \u003ca aria-label=\"(opens in a new tab)\" href=\"https:\/\/www.arduino.cc\/en\/reference\/SPI\" rel=\"noreferrer noopener\" target=\"_blank\" previewlistener=\"true\"\u003eSPI pin locations\u003c\/a\u003e before proceeding.\u003c\/p\u003e\n\u003cp\u003eThe following table lists the pin connections:\u003c\/p\u003e\n\u003cdiv class=\"tablescroll\"\u003e\n\u003ctable class=\"tabler connections\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"tabler-header\"\u003e\n\u003ctd\u003enRF24L01+ module\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003eArduino\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-black\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVCC\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-red\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e3.3V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCE\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-yellow\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e9\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCSN\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-orange\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e8\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSCK\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-green\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e13\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMOSI\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-blue\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMISO\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-purple\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e12\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003eThe images below show how to connect the nRF24L01+ module to the Arduino.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Arduino-Wiring-Fritzing-Connections-with-nRF24L01-Wireless-Transceiver-Module.png\" width=\"383\" height=\"432\" alt=\"Arduino Wiring Fritzing Connections with nRF24L01+ Wireless Transceiver Module\"\u003e\u003c\/figure\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003eRemember, you need to make two such circuits. One will act as a transmitter and the other as a receiver. Both have the same wiring.\u003c\/p\u003e\n\u003cp\u003eOnce you have connected everything, you are ready to go!\u003c\/p\u003e\n\u003ch3 id=\"library-installation\"\u003eLibrary Installation\u003c\/h3\u003e\n\u003cp\u003eThere are many libraries available for the nRF24L01+ module, but one of the most popular is \u003ca href=\"https:\/\/tmrh20.github.io\/\" aria-label=\"(opens in a new tab)\" rel=\"noreferrer noopener\" target=\"_blank\" previewlistener=\"true\"\u003eRF24\u003c\/a\u003e. This library has been around for a long time. It’s simple to use for beginners while still providing a lot for advanced users. We will use this library in our examples.\u003c\/p\u003e\n\u003cp\u003eTo install the library, navigate to \u003cstrong\u003eSketch \u0026gt; Include Library \u0026gt; Manage Libraries…\u003c\/strong\u003e Wait for the Library Manager to download the library index and update the list of installed libraries.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Manage-Libraries.png\" alt=\"manage libraries\" width=\"531\" height=\"535\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cp\u003eFilter your search by entering ‘\u003cstrong\u003erf24\u003c\/strong\u003e‘. Look for the library by \u003cstrong\u003eTmRh20\u003c\/strong\u003e. Click on that entry and then choose Install.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/RF24-Library-Installation.png\" alt=\"rf24 library installation\" width=\"690\" height=\"412\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003ch3 id=\"arduino-example-code-for-transmitter\"\u003eArduino Example Code – For Transmitter\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n\/\/Include Libraries\n#include \u0026lt;SPI.h\u0026gt;\n#include \u0026lt;nRF24L01.h\u0026gt;\n#include \u0026lt;RF24.h\u0026gt;\n\n\/\/create an RF24 object\nRF24 radio(9, 8);  \/\/ CE, CSN\n\n\/\/address through which two modules communicate.\nconst byte address[6] = \"00001\";\n\nvoid setup()\n{\n  radio.begin();\n  \n  \/\/set the address\n  radio.openWritingPipe(address);\n  \n  \/\/Set module as transmitter\n  radio.stopListening();\n}\nvoid loop()\n{\n  \/\/Send message to receiver\n  const char text[] = \"Hello World\";\n  radio.write(\u0026amp;text, sizeof(text));\n  \n  delay(1000);\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eThe examples below demonstrate how to set up a simple one-way link between a transmitter and a receiver. The transmitter simply sends a traditional ‘Hello World’ message to the receiver, which displays it in the Serial Monitor window.\u003c\/p\u003e\n\u003cp\u003eThis is the code we’ll use for our transmitter.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ch3 id=\"arduino-example-code-for-receiver\"\u003eArduino Example Code – For Receiver\u003c\/h3\u003e\n\u003cp\u003eThis is the code we’ll use for our receiver.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n\/\/Include Libraries\n#include \u0026lt;SPI.h\u0026gt;\n#include \u0026lt;nRF24L01.h\u0026gt;\n#include \u0026lt;RF24.h\u0026gt;\n\n\/\/create an RF24 object\nRF24 radio(9, 8);  \/\/ CE, CSN\n\n\/\/address through which two modules communicate.\nconst byte address[6] = \"00001\";\n\nvoid setup()\n{\n  while (!Serial);\n    Serial.begin(9600);\n  \n  radio.begin();\n  \n  \/\/set the address\n  radio.openReadingPipe(0, address);\n  \n  \/\/Set module as receiver\n  radio.startListening();\n}\n\nvoid loop()\n{\n  \/\/Read the data if available in buffer\n  if (radio.available())\n  {\n    char text[32] = {0};\n    radio.read(\u0026amp;text, sizeof(text));\n    Serial.println(text);\n  }\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218224050279,"sku":"B0926B","price":30.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8425107_8141838.jpg?v=1530919942"},{"product_id":"usb-to-rs232-ttl-pl2303hx-auto-converter-module-converter-adapter","title":"2B23  USB To RS232 TTL PL2303HX Auto Converter Module Converter Adapter","description":"\u003ch3 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cspan style=\"font-weight: bold;\"\u003eDescription\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003eThe USB to RS232 TTL PL2303HX Auto Converter Module is an adapter that allows you to connect devices with USB ports to devices with RS232 serial ports. The TTL PL2303HX is a powerful and easy-to-use module that can automatically detect baud rates and parities, making it ideal for use with a variety of devices. It is also equipped with a 9-pin header for connecting to an external device with an RS232 serial port. Overall, this converter module provides a reliable and convenient solution for converting between these two types of serial ports.\u003c\/p\u003e\n\u003ch3 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cspan style=\"font-weight: bold;\"\u003eSpecifications\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAll kinds of satellites set-top box upgrade\u003c\/li\u003e\n\u003cli\u003eRouter,HDD,ADSL,broad band modem firmware upgrade or cracked upgrade\u003c\/li\u003e\n\u003cli\u003ecellphone,XBOX360,GPS serial communication,vehicle inspection and test,DVD flash and so on\u003c\/li\u003e\n\u003cli\u003eBurn write STC MCU,NXP MCU,renesas MCU,NEC MCU and so on\u003c\/li\u003e\n\u003cli\u003eSimple UART communication,commonly used UART debugging tools in supper terminal\u003c\/li\u003e\n\u003cli\u003eUSB signal transferred to TTL signal,may be used by electronic enthusiasts\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cspan style=\"font-weight: bold;\"\u003eFeatures\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdopt imported controller PL2303HX,which can stabilize the flash with high speed\u003c\/li\u003e\n\u003cli\u003e500mA self recovery fuse for protection\u003c\/li\u003e\n\u003cli\u003eTwo data transmission indicator can monitor data transfer status in real time\u003c\/li\u003e\n\u003cli\u003eReserve 3.3V and 5V pin interface,easy for the DDWRT of different voltage system that need power\u003c\/li\u003e\n\u003cli\u003eThe entire board is coated by high quality transparent heat-shrinkable sleeve,making the PCB in insulation state from outside,\u003c\/li\u003e\n\u003cli\u003eso that the board won't burnt down by material short cut.\u003c\/li\u003e\n\u003cli\u003eElectrostatic package,insures the board will not be damaged before use\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cstrong\u003ePackage Included:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"line-height: 1.42857;\"\u003e1 x USB To RS232 TTL PL2303HX Auto Converter Module Converter Adapter \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"line-height: 1.42857;\"\u003e1 x 5pin dupont cables\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218224902247,"sku":"B0927B","price":30.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8161334_7646326.jpg?v=1530919949"},{"product_id":"soil-moisture-sensor-soil-hygrometer-detection-module","title":"8B13  Soil Moisture Sensor \u0026 Soil Hygrometer Detection Module","description":"\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eDescription:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe Soil Moisture Sensor \u0026amp; Soil Hygrometer Detection Module is a highly sensitive and accurate device that can detect soil humidity. Its adjustable sensitivity feature, indicated by the blue digital potentiometer adjustment, enables it to be customized for different soil types and environmental conditions. The module has a dual output mode, including an analog output that provides more accurate readings than other output modes. This feature helps users to have a clear and precise understanding of the moisture level of the soil. The sensor has a fixed bolt hole, which makes it easy to install, and it is equipped with a power indicator (red) and a digital switching output indicator (green). The LM393 comparator chip in the module ensures stability, while the surface plating treatment enhances electrical conductivity and corrosion resistance, making the device durable. The Soil Moisture Sensor \u0026amp; Soil Hygrometer Detection Module can be used to create an automated watering system that helps save plants from withering due to a lack of water, especially during extended absences or missed watering time. Using these sensors not only helps to save plants but also makes gardens smarter by providing real-time soil moisture data.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn extremely sensitive sensor that can detect soil humidity\u003c\/li\u003e\n\u003cli\u003eAdjustable sensitivity through blue digital potentiometer adjustment\u003c\/li\u003e\n\u003cli\u003eDual output mode, including analog output for more accurate readings\u003c\/li\u003e\n\u003cli\u003eFixed bolt hole for easy installation\u003c\/li\u003e\n\u003cli\u003eIncludes power indicator (red) and digital switching output indicator (green)\u003c\/li\u003e\n\u003cli\u003eEquipped with an LM393 comparator chip for stability\u003c\/li\u003e\n\u003cli\u003eEnables the creation of an automated watering mechanism to save plants from withering due to lack of water during the absence or missed watering time\u003c\/li\u003e\n\u003cli\u003eHelps plants grow more comfortably and make the garden smarter\u003c\/li\u003e\n\u003cli\u003eThe surface has undergone plating treatment to improve electrical conductivity and corrosion resistance\u003c\/li\u003e\n\u003cli\u003eSimple to set up and use\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Includes:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1 x Soil Moisture Sensor \u0026amp; Soil Hygrometer Detection Module\u003c\/li\u003e\n\u003cli\u003e1 x Amplifier Module\u003c\/li\u003e\n\u003cli\u003e2 x Dupont Wires Female to Female.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 class=\"soil-moisture-sensor-pinout\" id=\"soil-moisture-sensor-pinout\"\u003eSoil Moisture Sensor Pinout\u003c\/h3\u003e\n\u003cp\u003eThe soil moisture sensor is extremely simple to use and only requires four pins to connect.\u003c\/p\u003e\n\u003cp\u003e\u003cimg height=\"407\" width=\"570\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/ThefollowingisthewiringdiagramforthePulseSensorexperiments_1_480x480.png?v=1707395878\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-blue\"\u003eAO (Analog Output)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003egenerates analog output voltage proportional to the soil moisture level, so a higher level results in a higher voltage and a lower level results in a lower voltage.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-yellow\"\u003eDO (Digital Output)\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eindicates whether the soil moisture level is within the limit. D0 becomes LOW when the moisture level exceeds the threshold value (as set by the potentiometer), and HIGH otherwise.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-red\"\u003eVCC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003esupplies power to the sensor. It is recommended that the sensor be powered from 3.3V to 5V. Please keep in mind that the analog output will vary depending on the voltage supplied to the sensor.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-black\"\u003eGND\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the ground pin.\u003c\/p\u003e\n\u003ch3\u003eMeasuring Soil Moisture using Analog Output (A0)\u003c\/h3\u003e\n\u003cp\u003eIn our first experiment, we will read the analog output to estimate the level of soil moisture.\u003c\/p\u003e\n\u003ch3 id=\"wiring-analog-output\"\u003eWiring\u003c\/h3\u003e\n\u003cp\u003eLet’s hook up the soil moisture sensor to the Arduino.\u003c\/p\u003e\n\u003cp\u003eLet’s begin by powering up the sensor. For this, you can connect the VCC pin of the module to Arduino’s 5V pin.\u003c\/p\u003e\n\u003cp\u003eHowever, one well-known issue with these sensors is that they have a shorter lifespan because they are constantly exposed to moisture. Moreover, constantly applying power to the sensor while buried in soil significantly accelerates the rate of corrosion.\u003c\/p\u003e\n\u003cp\u003eTo avoid this, it is recommended that the sensor be turned on only when taking readings.\u003c\/p\u003e\n\u003cp\u003eOne easy way to do this is to connect the sensor’s power pin to a digital pin on an Arduino and set it to HIGH or LOW as needed. Also, the total power drawn by the module (with both LEDs lit) is about 8 mA, so powering the module from a digital pin is fine. So, we’ll connect the VCC pin to the Arduino’s digital pin #7.\u003c\/p\u003e\n\u003cp\u003eFinally, connect the A0 pin to the Arduino’s A0 ADC pin.\u003c\/p\u003e\n\u003cp\u003eThe wiring is shown in the image below.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_480x480.png?v=1707396020\" alt=\"\"\u003e\u003c\/p\u003e\n\u003ch3 id=\"finding-the-threshold-values\"\u003eFinding the threshold values\u003c\/h3\u003e\n\u003cp\u003eTo estimate the soil moisture level, record the values of your sensor output when the soil is as dry as possible and when it is completely saturated.\u003c\/p\u003e\n\u003cp\u003eSimply run the sketch below and take your readings.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n\/\/ Sensor pins\n#define sensorPower 7\n#define sensorPin A0\n\nvoid setup() {\n\tpinMode(sensorPower, OUTPUT);\n\t\n\t\/\/ Initially keep the sensor OFF\n\tdigitalWrite(sensorPower, LOW);\n\t\n\tSerial.begin(9600);\n}\n\nvoid loop() {\n\t\/\/get the reading from the function below and print it\n\tSerial.print(\"Analog output: \");\n\tSerial.println(readSensor());\n\t\n\tdelay(1000);\n}\n\n\/\/  This function returns the analog soil moisture measurement\nint readSensor() {\n\tdigitalWrite(sensorPower, HIGH);\t\/\/ Turn the sensor ON\n\tdelay(10);\t\t\t\t\t\t\t\/\/ Allow power to settle\n\tint val = analogRead(sensorPin);\t\/\/ Read the analog value form sensor\n\tdigitalWrite(sensorPower, LOW);\t\t\/\/ Turn the sensor OFF\n\treturn val;\t\t\t\t\t\t\t\/\/ Return analog moisture value\n} \n\u003c\/code\u003e\u003c\/pre\u003e\n\u003cdiv class=\"example language-c\"\u003e\n\u003cdiv class=\"reactAppRoot\" id=\"reactAppRoot\"\u003e\n\u003cdiv class=\"flex justify-end pr-2 mb-2\"\u003e\n\u003cdiv class=\"relative flex w-fit\"\u003e\n\u003cp\u003eWhen you run the sketch, you should see readings similar to the ones below:\u003c\/p\u003e\n\u003cul\u003e\n\u003cul\u003e\n\u003cli\u003eWhen the soil is dry (around 850)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cspan data-inserter-version=\"2\" id=\"ezoic-pub-ad-placeholder-121\"\u003e\u003c\/span\u003e\n\u003cul\u003e\n\u003cli\u003eWhen the soil is completely saturated (around 400)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg alt=\"calibrating soil moisture sensor\" height=\"314\" width=\"378\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Calibrating-Soil-Moisture-Sensor.png\" decoding=\"async\" loading=\"lazy\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003cp\u003eThis test may require some trial and error. Once you have the readings, you can use them as a threshold to trigger an action.\u003c\/p\u003e\n\u003ch3 id=\"arduino-code-analog-output\"\u003eArduino Code\u003c\/h3\u003e\n\u003cp\u003eThe sketch below estimates the level of soil moisture using the following threshold values:\u003c\/p\u003e\n\u003cspan data-inserter-version=\"2\" id=\"ezoic-pub-ad-placeholder-122\"\u003e\u003c\/span\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026lt; 500 is too wet\u003c\/li\u003e\n\u003cli\u003e500-750 is the target range\u003c\/li\u003e\n\u003cli\u003e\u0026gt; 750 is dry enough to be watered\u003c\/li\u003e\n  \u003c\/ul\u003e\n\u003cpre\u003e\n \u003ccode class=\"language-c\"\u003e\n\/* Change these values based on your calibration values *\/\n#define soilWet 500   \/\/ Define max value we consider soil 'wet'\n#define soilDry 750   \/\/ Define min value we consider soil 'dry'\n\n\/\/ Sensor pins\n#define sensorPower 7\n#define sensorPin A0\n\nvoid setup() {\n\tpinMode(sensorPower, OUTPUT);\n\t\n\t\/\/ Initially keep the sensor OFF\n\tdigitalWrite(sensorPower, LOW);\n\t\n\tSerial.begin(9600);\n}\n\nvoid loop() {\n\t\/\/get the reading from the function below and print it\n\tint moisture = readSensor();\n\tSerial.print(\"Analog Output: \");\n\tSerial.println(moisture);\n\n\t\/\/ Determine status of our soil\n\tif (moisture \u0026lt; soilWet) {\n\t\tSerial.println(\"Status: Soil is too wet\");\n\t} else if (moisture \u0026gt;= soilWet \u0026amp;\u0026amp; moisture \u0026lt; soilDry) {\n\t\tSerial.println(\"Status: Soil moisture is perfect\");\n\t} else {\n\t\tSerial.println(\"Status: Soil is too dry - time to water!\");\n\t}\n\t\n\tdelay(1000);\t\/\/ Take a reading every second for testing\n\t\t\t\t\t\/\/ Normally you should take reading perhaps once or twice a day\n\tSerial.println();\n}\n\n\/\/  This function returns the analog soil moisture measurement\nint readSensor() {\n\tdigitalWrite(sensorPower, HIGH);\t\/\/ Turn the sensor ON\n\tdelay(10);\t\t\t\t\t\t\t\/\/ Allow power to settle\n\tint val = analogRead(sensorPin);\t\/\/ Read the analog value form sensor\n\tdigitalWrite(sensorPower, LOW);\t\t\/\/ Turn the sensor OFF\n\treturn val;\t\t\t\t\t\t\t\/\/ Return analog moisture value\n}\u003c\/code\u003e\n\u003c\/pre\u003e\n\n\n\n\u003cp\u003eIf everything is fine, you should see something similar on the serial monitor.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg loading=\"lazy\" decoding=\"async\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Soil-Moisture-Sensor-Analog-Output.png\" width=\"535\" height=\"462\" alt=\"soil moisture sensor analog output\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218229129319,"sku":"B0931B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8425254_8142263.jpg?v=1530919990"},{"product_id":"5v-stepper-motor-28byj-48-drive-module-board","title":"7B4 5V Stepper Motor 28BYJ-48 + Drive Module Board","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eThe ULN2003 is one of the most common motor driver ICs, consisting of an array of 7 Darlington transistor pairs, each pair is capable of driving loads of up to 500mA and 50V.The board has a connector that mates the motor wires perfectly which makes it very easy to connect the motor to the board.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003eUSES:\u003c\/strong\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eULN2003 Stepper Motor Driver Board uses the ULN2003 DARLINGTON ARRAYS to drive the 4-phase 5-wire stepper motor (5v-12v). It's easy to use Arduino or another development platform to drive the stepper motor by this diver board.\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eA Stepper Motor Driver is the driver circuit that enables the stepper motor to function the way it does. For example, stepper motors require sufficient and controlled energy for phases in a precise sequence. Due to this, stepper motors are considered more advanced than the typical DC motor.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003eFeatures\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDimensions of the board: approx. 35mm x 31mm.\u003c\/li\u003e\n\u003cli\u003eStepper motor driver board with an ULN2003 chip.\u003c\/li\u003e\n\u003cli\u003eA four-phase LED indicates the status of the stepper motor.\u003c\/li\u003e\n\u003cli\u003eStepper motor with a standard interface, when used directly, is pluggable.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eStepper Motor\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eColor: Silver\u003c\/li\u003e\n\u003cli\u003eDiameter: 28mm\u003c\/li\u003e\n\u003cli\u003eVoltage: 5V\u003c\/li\u003e\n\u003cli\u003eNo-load pull into the frequency: \u0026gt;600 Hz\u003c\/li\u003e\n\u003cli\u003ePhase: 4\u003c\/li\u003e\n\u003cli\u003eNo-load pull-out frequency: \u0026gt;1000 Hz\u003c\/li\u003e\n\u003cli\u003ereduction ratio: 1\/64\u003c\/li\u003e\n\u003cli\u003ePull-in torque: \u0026gt;34.3 mN.m. (120Hz)\u003c\/li\u003e\n\u003cli\u003eStep Angle: 5.625 x 1\/64\u003c\/li\u003e\n\u003cli\u003eSelf-positioning torque: \u0026gt;34.3mN.m\u003c\/li\u003e\n\u003cli\u003eDCR: 200ohm +\/- 7% (25 °C)\u003c\/li\u003e\n\u003cli\u003eTemperature: \u0026lt;40K (120Hz)\u003c\/li\u003e\n\u003cli\u003eInsulation resistance: \u0026gt;10 ohm (500 volts)\u003c\/li\u003e\n\u003cli\u003eNoise: \u0026lt;40dB (120Hz, No load, 10cm)\u003c\/li\u003e\n\u003cli\u003eDielectric Strength: AC 600V, 1mA, 1s\u003c\/li\u003e\n\u003cli\u003eInsulation Class: A\u003c\/li\u003e\n\u003cli\u003eCable length: 24cm\u003c\/li\u003e\n\u003cli\u003eSuitable for guide wind deflector, portable air conditioner valve, etc\u003c\/li\u003e\n\u003cli\u003eDimensions: 1.65 in x 1.22 in x 0.79 in (4.2 cm x 3.1 cm x 2.0 cm)\u003c\/li\u003e\n\u003cli\u003eWeight: 1.20 oz (34 g)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cbr\u003eThe 5 Line 4 phase can be driven by ordinary ULN2003 chip, can also be connected in phase 2 development board.\u003cbr\u003esupporting the use of a direct plug and easy-to-use stepper motor used in the development board.\u003c\/p\u003e\n\u003ch3\u003e\n\u003cbr\u003eStepper Motor Wiring\u003c\/h3\u003e\n\u003cp\u003e1. A 4-way input of I1, I2, I3, and I4 corresponds to the 4 IO lines of MCU.\u003cbr\u003e2. The motor stepper directly plugs into the motor interface, pay attention to the socket groove joints corresponding to the convex side.　\u003cbr\u003e　\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Includes　\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e●  1 x ULN2003 Drive Board\u003cbr\u003e●  1 x 5V Stepper Motor 28BYJ-48\u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218229817447,"sku":"B0932B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8425216_8142160.jpg?v=1540140051"},{"product_id":"l298n-stepper-motor-driver-module","title":"4A1 L298N Stepper Motor Driver Module","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThe L298N driver module, using ST's L298N chip can directly drive two 3-30V DC motor, and provides a 5V output interface can 5V single-chip circuitry to supply, support 3.3VMCU control, you can easily control the DC motor speed and direction, you can also control the 2-phase stepper motor, smart car essential.\u003c\/p\u003e\n\u003cblockquote style=\"margin: 0 0 0 40px; border: none; padding: 0px;\"\u003e\n\u003carticle\u003e\n\u003cdiv id=\"desc-full\" class=\"\" style=\"margin: 0px; padding: 0px;\"\u003e\n\u003ch4 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cspan style=\"background-color: #ffffff; color: #424242;\"\u003e \u003c\/span\u003e\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/blockquote\u003e\n\u003ch3\u003e\u003cspan style=\"font-weight: bold; background-color: #ffffff; color: #424242;\"\u003e\u003cspan style=\"font-family: inherit; font-size: 15px; line-height: 1.1;\"\u003eFeatures\u003c\/span\u003e\u003cspan style=\"font-family: inherit; font-size: 15px; line-height: 1.1;\"\u003e:\u003c\/span\u003e\u003cspan style=\"font-family: inherit; font-size: 15px; line-height: 1.1;\"\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003carticle\u003e\n\u003cdiv id=\"desc-full\" class=\"\" style=\"margin: 0px; padding: 0px;\"\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli\u003e\n\u003cspan style=\"background-color: #ffffff; color: #424242; font-size: 0.875rem;\"\u003eDriver: L298N Dual H Bridge DC Motor Driver IC\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside; text-align: left;\"\u003e\n\u003cli\u003e\n\u003cspan style=\"background-color: #ffffff; color: #424242; font-size: 0.875rem;\"\u003eDriven part of the terminal supply area Vs: 5 V ~ 35 V; such as the need to take power within the board, the     supply area Vs: 7 V ~ 35 V\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside; text-align: left;\"\u003e\n\u003cli\u003e\n\u003cspan style=\"background-color: #ffffff; color: #424242; font-size: 0.875rem;\"\u003eDriven part of the peak current Io: 2A\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside; text-align: left;\"\u003e\n\u003cli\u003e\n\u003cspan style=\"background-color: #ffffff; color: #424242; font-size: 0.875rem;\"\u003eThe logical part of the terminal supply area Vss: 5 V ~ 7 V (can take power within the board 5 V)\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli\u003e\n\u003cspan style=\"background-color: #ffffff; color: #424242; font-size: 0.875rem;\"\u003eThe logical part of the operating current range: 0 ~ 36mA\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003cblockquote style=\"margin: 0 0 0 40px; border: none; padding: 0px;\"\u003e\n\u003carticle\u003e\n\u003cdiv class=\"\" style=\"margin: 0px; padding: 0px;\"\u003e\n\u003ch4 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cspan style=\"background-color: #ffffff; color: #424242;\"\u003e \u003c\/span\u003e\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e\n\u003c\/blockquote\u003e\n\u003carticle\u003e\n\u003cdiv class=\"\" style=\"margin: 0px; padding: 0px;\"\u003e\n\u003ch3 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cspan style=\"background-color: #ffffff; color: #424242;\"\u003e\u003cspan style=\"font-family: inherit; line-height: 1.1;\"\u003eControl signal input voltage range:\u003c\/span\u003e\u003cbr\u003e\u003cbr style=\"font-family: inherit; line-height: 1.1;\"\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eLow:-0.3V\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eHigh: 2.3V\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eEnable signal input voltage range:\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eLow: -0.3\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eHigh: 2.3V\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eMaximum power consumption: 20W (when the temperature T = 75 Deg C)\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eStorage temperature: -25 Deg C ~ 130 Deg C\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eOther Extensions: control of direction indicators, the logic part of the plate to take power interface.\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eDriver Board Size: 55mm * 60mm * 30mm\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli\u003eDrive plate Weight: 33g\u003cbr\u003e\n\u003c\/li\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003ch4 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cspan style=\"background-color: #ffffff; color: #424242;\"\u003e \u003c\/span\u003e\u003c\/h4\u003e\n\u003ch3 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003cspan style=\"font-weight: bold; background-color: #ffffff; color: #424242;\"\u003ePackage Included:\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch4 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #424242;\"\u003e1 X L298N Stepper Motor Driver Module\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003c\/h4\u003e\n\u003ch4 style=\"margin-bottom: 0.714286rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003e\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218237485159,"sku":"B0940B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_7227189_5478855.jpg?v=1530920072"},{"product_id":"active-buzzer-alarm-module-1","title":"2B6 Active Buzzer Alarm Module","description":"\u003ch3\u003e\u003cspan style=\"font-weight: bold;\"\u003eDescription\u003c\/span\u003e\u003c\/h3\u003e\nThe YL-44 is a small buzzer module which operates around the audible 2 kHz frequency range. It is an active buzzer, which means that it produces sound by itself, without needing an external frequency generator. Taking the I\/O pin LOW will turn the buzzer ON and taking this pin HIGH will turn the buzzer OFF (as will leaving this pin OPEN). This device could be controlled by PWM.\n\u003ch3\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3\u003eFeatures\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eIt and your Arduino\/Chin Duino will be able to play melodies. This is a small buzzer for the Sensor Shield.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eIt creates different sounds based on the different frequencies of I\/O toggling. \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eAll you need to do is to plug in the buzzer module to sensor shield and tell the function which pin you'd like to use the frequency you want to hear and the duration to play that frequency. \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eBring oscillation source \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eAudion 9012 drive \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eWork Voltage:3.3-5V \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003eSet bolt hole, easy to assemble \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003ePCB Dimension:3.3cm*1.3cm \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003ch4\u003e\u003cbr\u003e\u003c\/h4\u003e\n\u003ch3\u003e\u003cspan style=\"color: inherit; font-family: inherit; line-height: 1.1; font-weight: bold;\"\u003ePin Definition:\u003c\/span\u003e\u003c\/h3\u003e\n\u003ctable border=\"1\" height=\"116\" width=\"260\" style=\"color: inherit; font-family: inherit; line-height: 1.1; width: 260px; height: 116px; background-color: #ffffff;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"31\"\u003ePin\u003c\/td\u003e\n\u003ctd width=\"150\"\u003edefinition\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVcc\u003c\/td\u003e\n\u003ctd\u003e3.3~5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003ethe Ground\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eI\/O\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"STYLE2\"\u003eI\/O interface of SCM \u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch4\u003e\u003cbr\u003e\u003c\/h4\u003e\n\u003ch4\u003e\u003cbr\u003e\u003c\/h4\u003e\n\u003ch3\u003e\n\u003cspan style=\"font-weight: bold;\"\u003ePackage Include:\u003c\/span\u003e \u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1pcs Active Buzzer Alarm Module \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\n\u003cli\u003e3pcs 20cm 1p-1p DuPont cable \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003ca href=\"https:\/\/rydepier.files.wordpress.com\/2015\/05\/img_1917.png\" previewlistener=\"true\"\u003e\u003cimg class=\"aligncenter size-custom\" title=\"\" src=\"https:\/\/rydepier.files.wordpress.com\/2015\/05\/img_1917.png?w=576\u0026amp;h=444\" alt=\"\" height=\"444\" width=\"576\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003ch3\u003e Code\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003e This code will produce a two tone output\u003c\/span\u003e\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\/*Example Code for YL-44 Active buzzer\nConnect Vcc to 5 volts\nConnect Gnd to Gnd\nConnect I\/O to pin 3 *\/\n\n\nint buzzer = 3 ;\/\/ connect the I\/O pin on the buzzer to this\n\n\n\/\/Explain\n\nvoid setup ()\n{\npinMode (buzzer, OUTPUT) ;\n}\nvoid loop ()\n{\nunsigned char i, j ;\/\/ define variables\nwhile (1)\n{\nfor (i = 0; i \u0026lt;80; i++)\n{\ndigitalWrite (buzzer, LOW) ; \/\/ Turn buzzer ON\ndelay (1) ;\/\/ Delay 1ms\ndigitalWrite (buzzer, HIGH) ;\/\/ turn buzzer OFF\ndelay (1) ;\/\/ delay ms\n}\nfor (i = 0; i \u0026lt;100; i++) \/\/ new frequency\n{\ndigitalWrite (buzzer, LOW) ;\/\/ turn buzzer ON\ndelay (2) ;\/\/ delay 2ms\ndigitalWrite (buzzer, HIGH) ;\/\/ turn buzzer OFF\ndelay (2) ;\/\/ delay 2ms }\n}\n}\n\u003c\/code\u003e\u003c\/pre\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218242302055,"sku":"B0943B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8795663_8905303.jpg?v=1530920111"},{"product_id":"usb-to-rs232-ttl-uart-pl2303hx-auto-converter-usb-to-com-cable-module","title":"6B1   USB To RS232 TTL UART PL2303HX Auto Converter USB to COM Cable Module","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThe USB-to-RS232 TTL UART PL2303HX Auto Converter USB to COM Cable Module is a device that connects a USB port to a serial port (comm port) using the RS232 TTL UART protocol. This module allows you to communicate with electronic devices that use serial communication protocols, such as computers, PLCs, and microcontrollers. It is particularly useful in applications where the device being communicated with does not have a built-in USB port or has an older model that does not support USB. The module converts the USB signal to a serial signal and vice versa, making it easy to connect to legacy devices or to newer devices that use a different communication interface. This is especially useful when dealing with equipment that lacks native USB support or only supports serial communication.\u003c\/p\u003e\n\u003ch3\u003e\u003cspan\u003eTechnical Details\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eBuilt-in TTL COM PC-PL2303HX Chip\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eStandard USB type A male and TTL 4 pin connector\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003esimple and Easy way to give USB support to your designs\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eAvailable for Linux, Mac, WinCE and Windows (XP, 2003), Vista and Windows 7\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\nBlack cable-----GND\u003cbr\u003eGreen cable-----TXD\u003cbr\u003eWhite cable-----RXD\u003cbr\u003eRed cable -------VCC","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218247381095,"sku":"B0947B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8926567_9139990.jpg?v=1530920141"},{"product_id":"mini-5v-usb-1a-lithium-battery-charging-board-charger-module","title":"1B12A Mini 5v USB 1A Lithium Battery Charging Board  Charging Board","description":"\u003ch3 style=\"margin: 0.2rem 0px 0.5rem; padding: 0px; text-rendering: optimizeLegibility;\"\u003eDescription\u003cbr\u003e\n\u003c\/h3\u003e\n\u003cdiv id=\"desc-full\"\u003e1. Charge module- Linear charging.\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e2. Current- 1A adjustable.\u003c\/div\u003e\n\u003cp\u003e3. Charge precision- 1.5%.\u003cbr\u003e4. Input voltage- 4.5V-5.5V.\u003cbr\u003e5. Full charge voltage- 4.2V.\u003cbr\u003e6. Led indicator- red is charging blue is full charged.\u003cbr\u003e7. Input interface- mini USB.\u003cbr\u003e8. Work temperature- -10℃ to 85℃.\u003cbr\u003e9. Inversed polarity- NO.\u003c\/p\u003e\n\u003carticle\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/8_1_480x480.jpg?v=1708414861\"\u003e\u003c\/p\u003e\n\u003c\/article\u003e\n\u003carticle\u003e\n\u003cdiv id=\"desc-full\" class=\"\" style=\"margin: 0px; padding: 0px;\"\u003e\n\u003ch4 style=\"margin: 0px; padding: 0px;\"\u003e \u003c\/h4\u003e\n\u003ch4 style=\"margin: 0px; padding: 0px;\"\u003e\u003c\/h4\u003e\n\u003ch3\u003e\u003cspan style=\"color: #ff0000; font-weight: bold;\"\u003eNOTE:\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli style=\"margin: 0px; padding: 0px; list-style: inherit !important;\"\u003eAmpere meter can only be connected to 5v input end of the module.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli style=\"margin: 0px; padding: 0px; list-style: inherit !important;\"\u003eIt is better that the charging current is 37% of the battery capacity. If you charge to the battery of 1000mAH, current of 400 is enough.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli style=\"margin: 0px; padding: 0px; list-style: inherit !important;\"\u003eThe connection wire should not be too thick.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli style=\"margin: 0px; padding: 0px; list-style: inherit !important;\"\u003eMake sure the connect point is good.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli style=\"margin: 0px; padding: 0px; list-style: inherit !important;\"\u003eIf the input voltage is too high, like 5.2v, the current will be less than 1000mA, it is normal. It is protection function, auto-substract the charging current to avoid burn damage to chip.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 1.42857rem; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli style=\"margin: 0px; padding: 0px; list-style: inherit !important;\"\u003eNO Reveral polarity\u003c\/li\u003e\n\u003c\/ul\u003e\n \n\u003ch4 style=\"margin: 0px; padding: 0px;\"\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Includes\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"color: inherit; font-family: inherit; line-height: 1.1;\"\u003e1 x 5V Mini USB 1A Lithium Battery Charging Board Charger Module IN 4.5V-5.5v \u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4 style=\"margin: 0px; padding: 0px;\"\u003e\u003c\/h4\u003e\n\u003ch4 style=\"margin: 0px; padding: 0px;\"\u003e\u003c\/h4\u003e\n\u003ch4 style=\"margin: 0px; padding: 0px;\"\u003e\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003c\/article\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218249248871,"sku":"B0949B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/4.jpg?v=1530920161"},{"product_id":"ka2284-power-level-indicator-battery-pro-audio-level-indicator-module","title":"2B16  KA2284 Power level indicator Battery Pro Audio level indicator module","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eKA2284 level indicates the module, battery indicator, and audio level indicator This simple circuit is based on the monolithic integrated KA2284, providing a simple and reliable VU meter with a LED that can visualize the intensity of a signal and therefore of its logarithmic scale voltage, thus allowing it to appreciate its size. This circuit can be used as a VU instrument in amps and professional audio systems, but also by measuring continuous voltages. For example, it can be used as a battery charge level indicator in any Arduino application, or other demo boards. This product is known as KA2284 Battery and Power Level Indicator. Battery Indicator Pro Audio level indicator module, KA2284 Power Level Indicator Battery Pro Audio Level Indicator Module\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eThe KA2284 level indicates the module, battery indicator, and audio level indicator.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch4\u003e\u003cspan\u003eDatasheet: \u003ca rel=\"noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1S4wXbM2Xd9oZ5LFBdtgT_sSV3fZIqNVz\/view?usp=sharing\" previewlistener=\"true\" target=\"_blank\"\u003eKA2284\u003c\/a\u003e\u003c\/span\u003e\u003c\/h4\u003e\n\u003ch3\u003e\u003cspan\u003eFeatures:\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eChip: KA2284\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eThis Audio Level Indicator can be adjusted and is easy to use\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eAC and DC signals can be controlled by jumpers\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eDesigned with small size, lightweight, and easy to use\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eIt is equipped with LED indicator light, making it more convenient to use\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eProvides Stable and safe Performance\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\u003cspan\u003eFeatures\/Specs: \u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eManufacturer: Sharvi Technologies\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eManufacturer Part No.: ST2010SM0969\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eChipset: KA2284\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003ePower Supply Voltage: 3.5 ~ 12VDC\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003e5 LED Indicators of AC or DC signal strength\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eAdjustable Level Range\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eStorage temperature: -40 ~ 125°C\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eOperating temperature: -20 ~ 80°C\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eMounting Hole: M3 Screw\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eLength: 28 mm\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eWidth: 22 mm\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eHeight: 12 mm\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan\u003eApprox. Weight: 12 g\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003ePinout\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eVCC = Connect to 3.5 to 16V for the system to turn ON.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eIN = input. The voltage is to be measured by the device.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eGND = ground. There are 2 ground pins, but only one needs to be used\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eGND = Ground. There are 2 ground pins, but only one needs to be used\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4 data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eJumper Connector\u003c\/span\u003e\u003c\/h4\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eJumper OFF = Monitor AC voltage\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eJumper ON = Monitor DC voltage\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\u003cstrong\u003ePackage includes\u003c\/strong\u003e\n\u003cul\u003e\n\u003cli\u003e1 X KA2284 Power level indicator Battery Pro Audio level indicator module\u003c\/li\u003e\n\u003c\/ul\u003e\n \u003cbr\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218253738087,"sku":"B0952B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/item_XXL_8927214_9140779.jpg?v=1530920197"},{"product_id":"tec1-12706-thermoelectric-cooler-peltier-cooling-plate-module","title":"4C6  TEC1-12706 Thermoelectric Cooler Peltier Cooling Plate Module","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eGet ice cold in minutes or heat to boiling by simply reversing the polarity, used for numerous applications, from CPU coolers to alternate power sources, or even for your own custom car drink warmer\/cooler. Since they consist primarily of semiconductor material sandwiched between ceramic plates and have no moving parts,. These devices must be used in conjunction with a heat sink to avoid being burned. Each device is fully inspected and tested. Fitted with 6-inch insulated leads.\u003c\/p\u003e\n\u003cp\u003eConnected to a 12-volt power supply, the cell will have a temperature differential between the two sides of about 20 °C (68 °F).\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"color: #ff2a00;\"\u003e\u003cstrong\u003eImportant:\u003c\/strong\u003e\u003c\/span\u003e Do not connect the cell to a power supply for more than a few seconds without a heat-sink on the hot side; otherwise, there will be internal overheating and destruction of the Peltier cell.\u003c\/p\u003e\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eModel: TEC1-12706\u003c\/li\u003e\n\u003cli\u003eSize: 40mm x 40mm x 4mm\u003c\/li\u003e\n\u003cli\u003eOperates : 0~12V DC and 0~4.5A\u003c\/li\u003e\n\u003cli\u003eOperates Temperature: -30°C to 70°C\u003c\/li\u003e\n\u003cli\u003eMax power consumption: 60 Watts\u003c\/li\u003e\n\u003cli\u003eNet weight: 22g\u003c\/li\u003e\n\u003cli\u003eColor: White\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eInstallation\u003c\/h3\u003e\n\u003cp\u003eThis cooling Peltier cell is very simple to install and use. Before installation, you must provide a dry environment and allow for any condensation from the cold side to drain away and not come into contact with the operating cell. Connect the two leads of the Peltier cell to an appropriate power supply, and importantly, observe the correct lead polarity and attach an adequate heat-sink with a quality thermal conductor grease applied to the warm side of the cell; you will feel the warm side and the opposite cool side of the operating cell. It is important to identify both the correct lead polarity and the cooling and heating sides of the device. If you want a greater cooling differential, it is recommended to use two Peltier cells, namely, one stacked above the other with the hot side of the upper cell in contact with the cool side of the lower one; an experiment proved the two-stacked cell cooling effect is much better than the single-stage. Similarly, a three-cell stack produces an even greater temperature differential but requires a larger capacity power supply support. \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePackage includes\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e1 x TEC1-12706 Thermoelectric Cooler .\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218264584295,"sku":"B0962B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/s-l500_20_281_29_b10d3569-039e-469b-b4c8-a189f3b49988.jpg?v=1530920300"},{"product_id":"125khz-em4100-rfid-card-key-id-reader-module","title":"5C3 125Khz RFID Reader Module RDM6300 UART Output Access Control System","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003eRDM6300 125KHz card reader mini-module is designed for reading code from 125KHz card compatible read-only tags and read\/write card . It can be applied in office\/home security, personal identification, access control, anti-forgery, interactive toy and production control systems etc.\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cspan style=\"color: #000000;\" data-mce-style=\"color: #000000;\"\u003e\u003cspan style=\"font-weight: bold;\" data-mce-style=\"font-weight: bold;\"\u003eFeatures\u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch4\u003e\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003eSupport external antenna\u003c\/li\u003e\n\u003cli\u003eMaximum effective distance up to 150mm\u003c\/li\u003e\n\u003cli\u003eLess than 100ms decoding time\u003c\/li\u003e\n\u003cli\u003eUart interface\u003c\/li\u003e\n\u003cli\u003eSupport EM4100 compatible read only or read\/write tags\u003c\/li\u003e\n\u003cli\u003eSmall outline design\u003c\/li\u003e\n\u003cli\u003eFrequency: 125kHz\u003c\/li\u003e\n\u003cli\u003eBaud rate:: 9600bps (TTL RS232 format)\u003c\/li\u003e\n\u003cli\u003eWorking voltage: DC 5V (±5%)\u003c\/li\u003e\n\u003cli\u003eRelative humidity: 0-95%\u003c\/li\u003e\n\u003cli\u003eWorking temperature: -10℃ to +70℃\u003c\/li\u003e\n\u003cli\u003eStorage temperature：-20℃ to +80℃\u003c\/li\u003e\n\u003cli\u003eWiring size:46mm x 32mm x 3mm\u003c\/li\u003e\n\u003cli\u003eModule size:38.5mm x 19mm x 9mm\u003c\/li\u003e\n\u003cli\u003eSupported card: EM\/TK 4100, EM\/TK4102, EM4200 or compatible\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cbr\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003ctable border=\"1\" cellpadding=\"0\" style=\"margin: 0px; padding: 0px; font-stretch: inherit; border-width: 1px 1px 0px 0px; border-style: solid; border-color: #606060; width: 622px;\" data-mce-style=\"margin: 0px; padding: 0px; font-stretch: inherit; border-width: 1px 1px 0px 0px; border-style: solid; border-color: #606060; width: 622px;\"\u003e\n\u003ctbody style=\"margin: 0px; padding: 0px; font-stretch: inherit;\" data-mce-style=\"margin: 0px; padding: 0px; font-stretch: inherit;\"\u003e\n\u003ctr style=\"margin: 0px; padding: 0px; font-stretch: inherit;\" data-mce-style=\"margin: 0px; padding: 0px; font-stretch: inherit;\"\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003eModule Type\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003eRFID\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"margin: 0px; padding: 0px; font-stretch: inherit;\" data-mce-style=\"margin: 0px; padding: 0px; font-stretch: inherit;\"\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003eWeight\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003e15.00g\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"margin: 0px; padding: 0px; font-stretch: inherit;\" data-mce-style=\"margin: 0px; padding: 0px; font-stretch: inherit;\"\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003eBoard Size\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003e3.8 x 1.8 x 1.2cm\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"margin: 0px; padding: 0px; font-stretch: inherit;\" data-mce-style=\"margin: 0px; padding: 0px; font-stretch: inherit;\"\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003eOperation Level\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003eDigital 5V\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"margin: 0px; padding: 0px; font-stretch: inherit;\" data-mce-style=\"margin: 0px; padding: 0px; font-stretch: inherit;\"\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003ePower Supply\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003ctd style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\" data-mce-style=\"margin: 0px; font-stretch: inherit; border-width: 0px 0px 1px 1px; border-style: solid; border-color: #606060; float: none !important;\"\u003e\n\u003cp align=\"left\" style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\" data-mce-style=\"margin: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline; color: #000000;\"\u003eExternal 5\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch3 style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\" data-mce-style=\"margin-bottom: 0px; padding: 0px; border: 0px; font-stretch: inherit; vertical-align: baseline;\"\u003e\u003cspan style=\"font-weight: bold; color: #000000;\" data-mce-style=\"font-weight: bold; color: #000000;\"\u003e \u003cbr\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003cspan style=\"font-weight: bold; color: #000000;\" data-mce-style=\"font-weight: bold; color: #000000;\"\u003eSample Code:\u003c\/span\u003e\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003eString comdata = \"\";\nVoid setup ()\n{\nPinMode (2, the OUTPUT);\nPinMode (3, the OUTPUT);\nDigitalWrite (2, HIGH);\nDigitalWrite (3, HIGH);\nSerial. The begin (9600);\n}\nVoid loop ()\n{\nDigitalWrite (2, HIGH);\nDigitalWrite (3, HIGH);\nWhile (Serial. The available () \u0026gt; 0)\n{\nComdata + = char (Serial. The read ());\nDelay (2);\n}\nIf (comdata. Length () \u0026gt; 0 \u0026amp;\u0026amp; comdata = = \"0500 addf1443\")\n{\nWhile (comdata. Length () \u0026gt; 0)\n{\nDigitalWrite (3, LOW);\nDelay (100);\nWhile (Serial. The available () \u0026gt; 0)\n{\nComdata + = char (Serial. The read ());\nDelay (2);\n}\nComdata = \"\";\n}\n}\nElse if (comdata length () \u0026gt; 0)\n{\nWhile (comdata. Length () \u0026gt; 0)\n{\nDigitalWrite (2, LOW);\nDelay (100);\nWhile (Serial. The available () \u0026gt; 0)\n{\nComdata + = char (Serial. The read ());\nDelay (2);\n}\nComdata = \"\";\n}\n}\n}\n\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003e\u003cstrong\u003e \u003cspan style=\"color: #000000;\" data-mce-style=\"color: #000000;\"\u003ePackag\u003c\/span\u003e\u003cspan style=\"font-weight: bold; color: #000000;\" data-mce-style=\"font-weight: bold; color: #000000;\"\u003ee Includes\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003e1 x 125Khz EM4100 RFID Card Key ID Reader Module\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003e1 x coil \u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cul\u003e\u003c\/ul\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218273038439,"sku":"B0970B","price":27.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/s-l500_20_284_29.jpg?v=1530920383"},{"product_id":"w1209-digital-thermostat-temperature-control-switch-dc-12v-sensor-module","title":"2E8   W1209 Digital thermostat Temperature Control Switch DC 12V Sensor Module","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThe W1209 is an incredibly low cost yet highly functional thermostat controller. With this module\u003cbr\u003eyou can intelligently control power to most types of electrical device based on the temperature\u003cbr\u003esensed by the included high accuracy NTC temperature sensor. Although this module has an\u003cbr\u003eembedded microcontroller no programming knowledge is required. 3 tactile switches allow for\u003cbr\u003econfiguring various parameters including on \u0026amp; off trigger temperatures. The on board relay can\u003cbr\u003eswitch up to a maximum of 240V AC at 5A or 14V DC at 10A. The current temperature is displayed in\u003cbr\u003edegrees Centigrade via its 3 digit seven segment display and the current relay state by an on board\u003cbr\u003eLED.\u003c\/p\u003e\n\u003ch3\u003eSpecifications\u003cbr\u003e\n\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTemperature Control Range: -50 ~ 110 C\u003c\/li\u003e\n\u003cli\u003eResolution at -9.9 to 99.9: 0.1 C\u003c\/li\u003e\n\u003cli\u003eResolution at all other temperatures: 1 C\u003c\/li\u003e\n\u003cli\u003eMeasurement Accuracy: 0.1 C\u003c\/li\u003e\n\u003cli\u003eControl Accuracy: 0.1 C\u003c\/li\u003e\n\u003cli\u003eRefresh Rate: 0.5 Seconds\u003c\/li\u003e\n\u003cli\u003eInput Power (DC): 12V\u003c\/li\u003e\n\u003cli\u003eMeasuring Inputs: NTC (10K 0.5%)\u003c\/li\u003e\n\u003cli\u003eWaterproof Sensor: 0.5M\u003c\/li\u003e\n\u003cli\u003eOutput: 1 Channel Relay Output, Capacity: 10A\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003ePower Consumption\u003c\/strong\u003e\u003cbr\u003eStatic Current: \u0026lt;=35mA\u003cbr\u003eCurrent: \u0026lt;=65mA\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eEnvironmental Requirements\u003c\/strong\u003e\u003cbr\u003eTemperature: -10 ~ 60 C\u003cbr\u003eHumidity: 20-85%\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eDimensions\u003c\/strong\u003e\u003cbr\u003e48mm x 40mm x 14mm\u003c\/p\u003e\n\u003cp\u003e\u003cimg height=\"891\" width=\"891\" src=\"https:\/\/www.botnroll.com\/img\/cms\/05_96_8_1024x1024.jpg\" alt=\"\" data-mce-src=\"https:\/\/www.botnroll.com\/img\/cms\/05_96_8_1024x1024.jpg\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSettings Chart\u003c\/strong\u003e\u003cbr\u003eLong press the “SET” button to activate the menu.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eCode Description Range Default Value\u003c\/strong\u003e\u003cbr\u003eP0 Heat C\/H C\u003cbr\u003eP1 Backlash Set 0.1-15 2\u003cbr\u003eP2 Upper Limit 110 110\u003cbr\u003eP3 Lower Limit -50 -50\u003cbr\u003eP4 Correction -7.0 ~ 7.0 0\u003cbr\u003eP5 Delay Start Time 0-10 mins 0\u003cbr\u003eP6 High Temperature Alarm 0-110 OFF\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003eLong pressing +- will reset all values to their default\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eDisplaying the current temperature:\u003c\/strong\u003e\u003cbr\u003eThe thermostat will display the current temperature in oC by default. When in any other mode\u003cbr\u003emaking no input for approximately 5 seconds will cause the thermostat to return to this default\u003cbr\u003edisplay.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSetting the trigger temperature:\u003c\/strong\u003e\u003cbr\u003eTo set the trigger temperature press the button marked 'SET'. The seven segment display will flash.\u003cbr\u003eYou can now set a trigger temperature (in oC) using the '+' and '-' buttons in 0.1 degree increments. If\u003cbr\u003eno buttons are pressed for approximately 2 seconds the trigger temperature will be stored and the\u003cbr\u003edisplay will return back to the current temperature.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSetting the parameters:\u003c\/strong\u003e\u003cbr\u003eTo set any parameter first long press the 'SET' button for at least 5 seconds. The seven segment\u003cbr\u003edisplay should now display 'P0'. This represents parameter P0. Pressing the '+' or '-' buttons will cycle\u003cbr\u003ethough the various parameters (P0 to P6). Pressing the 'SET' button whilst any of there parameters\u003cbr\u003eare displayed will allow you to change the value for that parameter using the '+' and '-' buttons (see\u003cbr\u003ebelow). When finished setting a parameter press the set button to exit that option. If no buttons are\u003cbr\u003epressed for approximately 5 seconds the thermostat will exit the parameter options and will return\u003cbr\u003eback to the default temperature display.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSetting the cooling or heating parameter P0:\u003c\/strong\u003e\u003cbr\u003eThe parameter P0 has two settings, C and H. When set to C (default) the relay will energise when the\u003cbr\u003etemperature is reached. Use this setting if connecting to an air-conditioning system. When set to H\u003cbr\u003ethe relay will de-energise when the temperature is reached. Use this setting if controlling a heating\u003cbr\u003edevice.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSetting the hysteresis parameter P1:\u003c\/strong\u003e\u003cbr\u003eThis sets how much change in temperature must occur before the relay will change state. For\u003cbr\u003eexample if set to the default 2oC and the the trigger temperature has been set to 25oC, it will not deenergise\u003cbr\u003euntil the temperature falls back below below 23oC. Setting this hysteresis helps stop the\u003cbr\u003ethermostat from continually triggering when the temperature drifts around the trip temperature.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSetting the upper limit of the thermostat parameter P2:\u003c\/strong\u003e\u003cbr\u003eThis parameter limits the maximum trigger temperature that can be set. It can be used as a safety to\u003cbr\u003estop an excessively high trigger temperature from accidentally being set by the user.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSetting the lower limit of the thermostat parameter P3:\u003c\/strong\u003e\u003cbr\u003eThis parameter limits the minimum trigger temperature that can be set. It can be used as a safety to\u003cbr\u003estop an excessively low trigger temperature from accidentally being set by the user.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSetting temperature offset correction parameter P4:\u003c\/strong\u003e\u003cbr\u003eShould you find there is a difference between the displayed temperature and the actual temperature\u003cbr\u003e(for instance if the temperature probe is on a long run of cable) you can make minor corrections to\u003cbr\u003ethe temperature reading with this parameter.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSetting the trigger delay parameter P5:\u003c\/strong\u003e\u003cbr\u003eThis parameter allows for delaying switching of the relay when the trigger temperature has be\u003cbr\u003ereached. The parameter can be set in one minute increments up to a maximum of 10 minutes.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003eSetting the high temperature alarm parameter P6:\u003c\/strong\u003e\u003cbr\u003eSetting a value for this parameter will cause the relay to switch off when the the temperature\u003cbr\u003ereaches this setting. The seven segment display will also show '---' to indicate an alarm condition. The\u003cbr\u003erelay will not re-energise until the temperature falls below this value. The default setting is OFF.\u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218296533095,"sku":"B0987B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/s-l1600_20_283_29_fee88e8f-1482-40cf-b279-fad0f3db7405.jpg?v=1530920568"},{"product_id":"pam8403-2x3w-mini-audio-class-d-amplifier-board","title":"2C7 PAM8403 2X3W Mini Audio Class D amplifier board","description":"\u003cp\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003eFeatures: \u003c\/span\u003e\u003cbr style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e    1.Advanced Micro Devices, volume: 1.85 * 2.11cm \u003c\/span\u003e\u003cbr style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e    2.Excellent noise suppression in the case is not connected to the input audio, the ear close to the speaker can not hear any noise \u003c\/span\u003e\u003cbr style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e    3.Two-channel stereo, 5V power supply can output 3W +3 W power, can directly drive 4? 8? small speaker output power, full of energy, good sound quality. \u003c\/span\u003e\u003cbr style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e    4.Unique without LC filter Class D digital power board, and can be used directly to the computer's USB powered. \u003c\/span\u003e\u003cbr style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e    5.Dual-panel wiring, properly solve the crosstalk between the ground potential balance and channel wiring \u003c\/span\u003e\u003cbr style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e    6.Ultra-miniature design, can easily be placed in the internal space for a variety of digital products, ultra high zoom efficiency. \u003c\/span\u003e\u003cbr style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e    7.All using the machine for the entire board soldering, hand soldering iron welding quality comparable! \u003c\/span\u003e\u003cbr style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e    8.Rated working voltage 2.5-5V, limit operating voltage 5.5V. \u003c\/span\u003e\u003cbr style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e\u003cspan style=\"color: #000000; font-family: 'Times New Roman'; font-size: medium; line-height: normal;\"\u003e    Note: The left and right channel output of the \"negative\" can not, and then together, otherwise it will burn the IC and energized speaker (load) connected before.\u003c\/span\u003e\u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218304921703,"sku":"B0994B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/ghghghgh.jpg?v=1530920654"},{"product_id":"ch340-usb-to-rs485-485-converter-adapter-module","title":"2A25   CH340 USB to RS485 485 Converter Adapter Module","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eUSB to RS485 Converter Adapter\u003cbr data-mce-fragment=\"1\"\u003eUSB connector: to your PC\u003cbr data-mce-fragment=\"1\"\u003eRS485 connector: to your RS485 device\u003cbr data-mce-fragment=\"1\"\u003eNo need external power, powered by USB port\u003cbr data-mce-fragment=\"1\"\u003eFully compliant USB 2.0 standard , backward compatible with USB1.1\u003cbr data-mce-fragment=\"1\"\u003eNOTICE: Per the notice from factory, the new batch uses chip PL2303HX from Taiwan which with more compatibility than CH340 Chip, if you have any question or problem, please feel free to contact us, thanks for your support\u003c\/p\u003e\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDimension:6.0 x1.8x1.4cm\u003c\/li\u003e\n\u003cli\u003eColor: Black\u003c\/li\u003e\n\u003cli\u003eSupport System: Windows XP , Vista, Windows 7 , Linux , MacOS , and WinCE5.0 drive\u003c\/li\u003e\n\u003cli\u003eSupports baud rate range : 75bps - 115200bps , up to 6Mbps\u003c\/li\u003e\n\u003cli\u003eSupports Plug , Play and hot-swap ( USB side) ;\u003c\/li\u003e\n\u003cli\u003eBetter than using CH341D chip or similar chip to support the laptop USB port .\u003c\/li\u003e\n\u003cli\u003eCommunication distance up to 1.2KM, with anti-jamming performance of industrial site \u003c\/li\u003e\n\u003cli\u003eWork temperature range: -40°C ~ +85°C\u003c\/li\u003e\n\u003cli\u003eCommunication distance :1200m(max)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eApplications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAll kinds with RS485 port device parameter settings , data communication\u003c\/li\u003e\n\u003cli\u003eShort distance , such as parameter settings of the computer peripheral equipment , the use of common data lines can be .\u003c\/li\u003e\n\u003cli\u003eA and A port of the device when the wiring is connected , B and device B connected . Some devices D + A and D, - B .\u003c\/li\u003e\n\u003cli\u003eLED display of communication data\u003c\/li\u003e\n\u003cli\u003eMachine PLC data reading and writing\u003c\/li\u003e\n\u003cli\u003eMonitoring data read and write , and PTZ control\u003c\/li\u003e\n\u003cli\u003eCentralized control of household electrical appliances\u003c\/li\u003e\n\u003cli\u003eAccess Control System ; card\u003c\/li\u003e\n\u003cli\u003eA variety of industrial automation ; instrumentation\u003c\/li\u003e\n\u003cli\u003eParking ; bus fees\u003c\/li\u003e\n\u003cli\u003eDining Hall ; staff attendance\u003c\/li\u003e\n\u003cli\u003eHighway toll station; ATM machine\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003cbr\u003e\u003cstrong\u003ePackage Included:\u003c\/strong\u003e\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1 x  PL2303HX Chip USB to RS485 485 Converter Adapter\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218311147623,"sku":"B1001B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/s-l1600_20_281_29_b6d558ad-7dc2-4f9f-8084-44374fd6b1e7.jpg?v=1530920709"},{"product_id":"ft232rl-5v-tiny-breakout-foca-pro-micro-usb-to-serial-uart-with-xbee-shield","title":"2D1  FT232RL 5V Tiny Breakout Foca Pro Micro USB to Serial UART with Xbee Shield","description":"\u003ch4 style=\"\"\u003e\n\u003ch3\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"style53\"\u003e\u003cspan style=\"font-weight: bold;\"\u003eOverview\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"style53\"\u003e\u003cspan style=\"font-weight: bold;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003cspan style=\"color: rgb(0, 0, 0);\"\u003eFoca Pro is a USB to serial UART board with XBee interface socket. It?s the essential tools for establishing communication between PC and mostly MCU or use XBee. Especially, it?s a optimum tool for some Arduino based boards without USB interface, like Sniffer Nano, Colorduino and etc.\u003c\/span\u003e\n\u003c\/h4\u003e\u003ch4 style=\"\"\u003e\n\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003ch3\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"style53\"\u003e\u003cspan style=\"font-weight: bold;\"\u003eSpecification\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"style53\"\u003e\u003cspan style=\"font-weight: bold;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003cspan style=\"color: rgb(0, 0, 0);\"\u003ePCB size:26mm X 49.6mm X 1.6mm\u003cbr\u003eVoltage Input:5V\u003cbr\u003eInterface:UART\u003cbr\u003eIndicator:PWR\u003c\/span\u003e\n\u003c\/h4\u003e\u003ch4 style=\"\"\u003e\n\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003ch3\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"style53\" style=\"font-weight: bold;\"\u003eFeatures\u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cspan class=\"style53\" style=\"font-weight: bold;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003cspan style=\"color: rgb(0, 0, 0);\"\u003eSingle chip USB to asynchronous serial data transfer interface\u003cbr\u003eEntire USB protocol handled on the chip ? No firmware programming require\u003cbr\u003e5V Single Supply Operation and compatible with 3.3V\/5V operation voltage\u003cbr\u003eUSB 2.0 Full Speed compatible\u003cbr\u003eCompatible with Xbee\u003cbr\u003eCompatible with 2.00mm Grove Electronic Interface\u003c\/span\u003e\n\u003c\/h4\u003e\u003ch4 style=\"\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/h4\u003e\u003ch4 style=\"\"\u003e\u003cspan style=\"color: rgb(0, 0, 0); font-weight: bold;\"\u003ePackage Included :\u003c\/span\u003e\u003c\/h4\u003e\u003ch4 style=\"\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/h4\u003e\u003ch4 style=\"\"\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e1 x FT232RL 5V Tiny Breakout Foca Pro Micro USB to Serial UART with Xbee Shield\u003c\/span\u003e\u003c\/h4\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218338836583,"sku":"B1030B","price":40.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/Foca-Pro-FT232RL-Micro-USB-to-Serial-UART-Converter-Tiny-Breakout-with-Xbee-Shield-for-Arduino.jpg_640x640_09a4daf6-926a-4382-b483-e4b43d0e9a4b.jpg?v=1530920988"},{"product_id":"ky-016-rgb-3-color-full-color-led-module","title":"2D16  KY-016 RGB 3 Color Full Color LED Module","description":"\u003ch3\u003e\u003cb\u003eDescription\u003c\/b\u003e\u003c\/h3\u003e\n\u003cp\u003eRGB LED module consists of a plug-in full color LED made by R, G, B three pin PWM voltage \u003cbr\u003einput can be adjusted section three primary colors (red\/blue\/green) strength in order to achieve full color mixing effect. Control of the module with the Arduino can be achieved cool lighting effects.\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSpecifications\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003eThis module consists of a 5mm RGB LED, 3 150Ω limiting resistors to prevent burnout and 4 male header pins. Adjusting the PWM signal on each color pin will result on different colors.\u003c\/p\u003e\n\u003cfigure class=\"wp-block-table\"\u003e\n\u003ctable class=\"has-fixed-layout\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd\u003e5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLED Drive Mode\u003c\/td\u003e\n\u003ctd\u003eCommon cathode drive\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLED Diameter\u003c\/td\u003e\n\u003ctd\u003e5mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBoard Size\u003c\/td\u003e\n\u003ctd\u003e15mm x 19mm [0.59in x 0.75in]\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/figure\u003e\n\u003ch3\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e1. the use of plug-in full-color LED \u003cbr\u003e2. RGB trichromatic limiting resistor to prevent burnout \u003cbr\u003e3. through the PWM adjusting three primary colors can be mixed to obtain different colors \u003cbr\u003e4. with a variety of single-chip interface \u003cbr\u003e5. the working voltage: 5V \u003cbr\u003e6. LED drive mode: common cathode driver\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eProduct includes\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eKY-016 RGB 3 Color Full Color LED Module \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eConnection Diagram\u003c\/h3\u003e\n\u003ctable class=\"has-fixed-layout\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eKY-016\u003c\/th\u003e\n\u003cth\u003eArduino\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eR\u003c\/td\u003e\n\u003ctd\u003ePin 11\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eB\u003c\/td\u003e\n\u003ctd\u003ePin 10\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eG\u003c\/td\u003e\n\u003ctd\u003ePin 9\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e–\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e\u003cspan\u003eConnect the module red pin (R) to pin 11 on the Arduino. Blue (B) to pin 10, green (G) to pin 9 and ground (-) to GND.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cimg alt=\"KY-016 Arduino connection diagram\" src=\"https:\/\/arduinomodules.info\/wp-content\/uploads\/Arduino_KY-016_Keyes_RGB_full_color_LED_module_connection_diagram-1024x496.png\" width=\"906\" height=\"439\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cspan\u003eCode\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eThe following Arduino sketch will gradually increase\/decrease the PWM values on the red, green and blue pins causing the LED to cycle through various colors.\u003c\/span\u003e\u003c\/p\u003e\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\nint redpin = 11; \/\/ select the pin for the red LED\nint bluepin =10; \/\/ select the pin for the  blue LED\nint greenpin =9; \/\/ select the pin for the green LED\n\nint val;\n\nvoid setup() {\n  pinMode(redpin, OUTPUT);\n  pinMode(bluepin, OUTPUT);\n  pinMode(greenpin, OUTPUT);\n  Serial.begin(9600);\n}\n\nvoid loop() {\n  for(val = 255; val \u0026gt; 0; val--)\n  {\n    analogWrite(11, val);\n    analogWrite(10, 255 - val);\n    analogWrite(9, 128 - val);\n\n    Serial.println(val, DEC);\n    delay(5); \n  }\n  for(val = 0; val \u0026lt; 255; val++)\n  {\n    analogWrite(11, val);\n    analogWrite(10, 255 - val);\n    analogWrite(9, 128 - val);\n    \n    Serial.println(val, DEC);\n    delay(5); \n  }\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218351779943,"sku":"B1046B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/rbgsss.jpg?v=1530921128"},{"product_id":"touch-sensor-module-capacitive-touch-switch-module","title":"2D28  Touch Sensor Module Capacitive Touch Switch Module TTP223B","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThis is jog type capacitive touch switch sensor module based on a touch detection IC TTP223B. Normally, the output is low level(at mode of low power consumption). When the finger touch the corresponding location, output will be high(at quick speed mode). When the module do not be touched for 12 seconds, the mode would switch to low-power mode. It can be installed in the module, such as plastic, glass, non-metallic material surface. But not cover thin sheets(metal) on the surface of the module. Just touch the correct position, it can be hidden in walls, desktops and other parts to be buttons. Allows you to remove the troubles of conventional push-type buttons\u003c\/p\u003e\n\u003ch3\u003e\n\u003cbr\u003eFeatures\u003cbr\u003e\n\u003c\/h3\u003e\n\u003cp\u003eLow power consumption\u003cbr\u003eCan replace the traditional key\u003cbr\u003eWith four M2 screw holes, easy for operation\u003c\/p\u003e\n\u003ch3\u003e\n\u003cbr\u003eSpecifications\u003cbr\u003e\n\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOperating voltage: DC 2.0V ~ 5.5V\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eVOH: VCC 0.8V\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eVOL: VCC 0.3V\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eSink current: 8mA @ VCC = 3V, VOL = 0.6V\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eSource current: -4mA @ VCC = 3V, VOH = 2.4V\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eResponse time: 220ms (at mode of low power consumption) and 60ms (at quick speed mode)\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eSize: 24 x 24 x 7.2mm\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003ePackage included:\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e1 x Capacitive jpg type touch sensor module\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eUsage\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eHardware components\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"simple\"\u003e\n\u003cli\u003e\n\u003cp\u003eArduino Uno R4 or R3 board * 1\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eTouch Sensor Module * 1\u003c\/p\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eJumper Wires\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eCircuit Assembly\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003ca class=\"reference internal image-reference\" href=\"https:\/\/docs.sunfounder.com\/projects\/ultimate-sensor-kit\/en\/latest\/_images\/17_touch_sensor_module_circuit.png\" previewlistener=\"true\"\u003e\u003cimg height=\"674\" width=\"576\" alt=\"..\/_images\/17_touch_sensor_module_circuit.png\" class=\"align-center\" src=\"https:\/\/docs.sunfounder.com\/projects\/ultimate-sensor-kit\/en\/latest\/_images\/17_touch_sensor_module_circuit.png\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003ch3\u003eCode\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\/\/ Define the pin used for the touch sensor\nconst int sensorPin = 7;\n\nvoid setup() {\n  pinMode(sensorPin, INPUT);     \/\/ Set the sensor pin as input\n  pinMode(LED_BUILTIN, OUTPUT);  \/\/ Set the built-in LED pin as output\n  Serial.begin(9600);            \/\/ Start the serial communicatio\n}\nvoid loop() {\n  if (digitalRead(sensorPin) == 1) {  \/\/ If the sensor is touched\n    digitalWrite(LED_BUILTIN, HIGH);  \/\/ Turn on the built-in LED\n    Serial.println(\"Touch detected!\");\n  } else {\n    digitalWrite(LED_BUILTIN, LOW);  \/\/ Turn off the built-in LED\n    Serial.println(\"No touch detected...\");\n  }\n  delay(100);  \/\/ Wait for a short period to avoid rapid reading of the sensor\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch3\u003eOutput\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/videoframe_125_480x480.png?v=1707907046\" width=\"670\" height=\"377\"\u003e\u003c\/p\u003e\n\u003ch3\u003eCode Explanation\u003c\/h3\u003e\n\u003col class=\"arabic\"\u003e\n\u003cli\u003e\n\u003cp\u003eSetting up the necessary variables. We start by defining the pin number where the touch sensor is connected.\u003c\/p\u003e\n\u003cdiv class=\"highlight-arduino notranslate\"\u003e\n\u003cdiv class=\"highlight\"\u003e\n\u003cpre\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan class=\"kr\"\u003econst\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"kr\"\u003eint\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"n\"\u003esensorPin\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"o\"\u003e=\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"mi\"\u003e7\u003c\/span\u003e\u003cspan class=\"p\"\u003e;\u003c\/span\u003e\n\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eInitialization in the\u003cspan\u003e \u003c\/span\u003e\u003ccode class=\"docutils literal notranslate\"\u003e\u003cspan class=\"pre\"\u003esetup()\u003c\/span\u003e\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003efunction. Here, we specify that the sensor pin will be used for input, the built-in LED will be used for output, and we start the serial communication to allow messages to be sent to the serial monitor.\u003c\/p\u003e\n\u003cdiv class=\"highlight-arduino notranslate\"\u003e\n\u003cdiv class=\"highlight\"\u003e\n\u003cpre\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan class=\"kr\"\u003evoid\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"nb\"\u003esetup\u003c\/span\u003e\u003cspan class=\"p\"\u003e()\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"p\"\u003e{\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e  \u003c\/span\u003e\u003cspan class=\"nf\"\u003epinMode\u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"n\"\u003esensorPin\u003c\/span\u003e\u003cspan class=\"p\"\u003e,\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"kr\"\u003eINPUT\u003c\/span\u003e\u003cspan class=\"p\"\u003e);\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e  \u003c\/span\u003e\u003cspan class=\"nf\"\u003epinMode\u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"kr\"\u003eLED_BUILTIN\u003c\/span\u003e\u003cspan class=\"p\"\u003e,\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"kr\"\u003eOUTPUT\u003c\/span\u003e\u003cspan class=\"p\"\u003e);\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e  \u003c\/span\u003e\u003cspan class=\"nf\"\u003eSerial\u003c\/span\u003e\u003cspan class=\"p\"\u003e.\u003c\/span\u003e\u003cspan class=\"nf\"\u003ebegin\u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"mi\"\u003e9600\u003c\/span\u003e\u003cspan class=\"p\"\u003e);\u003c\/span\u003e\n\u003cspan class=\"p\"\u003e}\u003c\/span\u003e\n\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cp\u003eContinuously, the Arduino checks if the touch sensor is activated. If touched, it turns on the LED and sends a “Touch detected!” message. If not touched, it turns off the LED and sends a “No touch detected…” message. A delay is introduced to prevent the sensor from being read too quickly.\u003c\/p\u003e\n\u003cdiv class=\"highlight-arduino notranslate\"\u003e\n\u003cdiv class=\"highlight\"\u003e\n\u003cpre\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan class=\"kr\"\u003evoid\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"nb\"\u003eloop\u003c\/span\u003e\u003cspan class=\"p\"\u003e()\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"p\"\u003e{\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e  \u003c\/span\u003e\u003cspan class=\"k\"\u003eif\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"nf\"\u003edigitalRead\u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"n\"\u003esensorPin\u003c\/span\u003e\u003cspan class=\"p\"\u003e)\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"o\"\u003e==\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"mi\"\u003e1\u003c\/span\u003e\u003cspan class=\"p\"\u003e)\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"p\"\u003e{\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e    \u003c\/span\u003e\u003cspan class=\"nf\"\u003edigitalWrite\u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"kr\"\u003eLED_BUILTIN\u003c\/span\u003e\u003cspan class=\"p\"\u003e,\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"kr\"\u003eHIGH\u003c\/span\u003e\u003cspan class=\"p\"\u003e);\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e    \u003c\/span\u003e\u003cspan class=\"nf\"\u003eSerial\u003c\/span\u003e\u003cspan class=\"p\"\u003e.\u003c\/span\u003e\u003cspan class=\"nf\"\u003eprintln\u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"s\"\u003e\"Touch detected!\"\u003c\/span\u003e\u003cspan class=\"p\"\u003e);\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e  \u003c\/span\u003e\u003cspan class=\"p\"\u003e}\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"k\"\u003eelse\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"p\"\u003e{\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e    \u003c\/span\u003e\u003cspan class=\"nf\"\u003edigitalWrite\u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"kr\"\u003eLED_BUILTIN\u003c\/span\u003e\u003cspan class=\"p\"\u003e,\u003c\/span\u003e\u003cspan class=\"w\"\u003e \u003c\/span\u003e\u003cspan class=\"kr\"\u003eLOW\u003c\/span\u003e\u003cspan class=\"p\"\u003e);\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e    \u003c\/span\u003e\u003cspan class=\"nf\"\u003eSerial\u003c\/span\u003e\u003cspan class=\"p\"\u003e.\u003c\/span\u003e\u003cspan class=\"nf\"\u003eprintln\u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"s\"\u003e\"No touch detected...\"\u003c\/span\u003e\u003cspan class=\"p\"\u003e);\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e  \u003c\/span\u003e\u003cspan class=\"p\"\u003e}\u003c\/span\u003e\n\u003cspan class=\"w\"\u003e  \u003c\/span\u003e\u003cspan class=\"nf\"\u003edelay\u003c\/span\u003e\u003cspan class=\"p\"\u003e(\u003c\/span\u003e\u003cspan class=\"mi\"\u003e100\u003c\/span\u003e\u003cspan class=\"p\"\u003e);\u003c\/span\u003e\n\u003cspan class=\"p\"\u003e}\u003c\/span\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ol\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218355908711,"sku":"B1051B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/1468402021.png?v=1530921178"},{"product_id":"dc-dc-booster-converter-module-adjustable-xl6009-1","title":"7C14  DC-DC Boost power supply module step up converter","description":"\u003ch3\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003eFeatures\u003c\/span\u003e\u003c\/h3\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e1. This modules relative to the LM2577 triode mode conversion efficiency is higher\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e2. This module is adjustable booster module, can by adjusting the precision of modules above circle more adjustable potentiometer\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e3. To change the output voltage.  The highest output voltage is 38 v. Chronological booster, reverse-time step-down.\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e4. Working temperature:  industrial grade - 40 ~ + 125 (ambient temperature more than 40 degrees, please reduce power use, or enhance heat dissipation)\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e5. Input voltage range:    3.5-32V\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e6. Output voltage range:   6-35V (continuously adjustable)\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e7. High efficiency:   \u0026lt; = 96%(MAX)\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e8. Maximum output current: 4A\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e9. GND:   Input Negative\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e10. IN +:  Input Positive\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e11. GND:    Output Negative\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan size=\"4\" face=\"Times New Roman\"\u003e12. OUT +:  Output Positive\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan size=\"4\" face=\"Times New Roman\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cspan face=\"Times New Roman\" size=\"4\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003ch3\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003eTest Comparison Sample Reference\u003c\/span\u003e\u003c\/h3\u003e\n\u003cdiv\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003eInput  5V       Output  12V   0.8A     9.6W\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003eInput  7.4V    Output  12V   1.5A     18W\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003eInput  12V     Output  15V   2A        30W\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003eInput  12V     Output  16V   2A        32W\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003eInput  12V     Output  18V   1.6A     28.8W\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003eInput  12V     Output  19V   1.5A    28.5W\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003eInput  12V     Output  24V   1 A      24W\u003c\/span\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan face=\"Times New Roman\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv\u003e\n\u003cspan face=\"Times New Roman\" size=\"4\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cstrong\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003ePackage Included:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cul\u003e\n\u003cli\u003e1 x  DC-DC Booster Converter Module Adjustable XL6009\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cspan face=\"Times New Roman\" size=\"4\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cdiv style=\"color: #000000; font-family: Arial; font-size: medium; font-weight: bold;\"\u003e\n\u003cspan face=\"Times New Roman\" size=\"4\"\u003e\u003c\/span\u003e\u003cspan style=\"font-weight: normal; font-family: 'Times New Roman'; font-size: large;\" face=\"Times New Roman\" size=\"4\"\u003e\u003cbr\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"all: initial !important;\"\u003e\u003cqb-div style=\"all: initial !important;\"\u003e\u003c\/qb-div\u003e\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218357743719,"sku":"B1056B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/235952-800x800.png?v=1530921209"},{"product_id":"iic-i2c-twi-spi-serial-interface-board-module-1602-lcd-1","title":"1C50005 IIC \/ I2C \/ TWI \/ SPI Serial Interface Board Module 1602 LCD","description":"\u003ch3\u003eDescription:\u003c\/h3\u003e\n\u003cp\u003eThe I2C Serial Interface Module for 16×2 LCD Display is a specific type of I2C module that is used to interface a 16×2 character LCD display with a microcontroller or other device. It provides a standardized communication interface between the microcontroller and the LCD display, making it easier to use the display in your electronics projects.\u003c\/p\u003e\n\u003cp\u003eThe I2C Serial Interface Module for 16×2 LCD Display typically consists of a small circuit board with a microcontroller and the necessary components for implementing the I2C protocol, as well as a connector for the 16×2 LCD display. The module is designed to be connected to a master device, such as an Arduino board or a microcontroller, using the module’s I2C pins.\u003c\/p\u003e\n\u003cp\u003eTo use the I2C Serial Interface Module for 16×2 LCD Display, you would typically connect the module to the master device and the LCD display using the appropriate pins. You would then use code to send commands and data to the LCD display via the I2C protocol, such as setting the cursor position or displaying text on the screen.\u003c\/p\u003e\n\u003cp\u003e\u003ca title=\"IIC datasheet\" href=\"https:\/\/www.handsontec.com\/dataspecs\/module\/I2C_1602_LCD.pdf\" target=\"_blank\"\u003e\u003cstrong\u003eDatasheet\u003c\/strong\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cdiv id=\"pd_sub_title\"\u003e\n\u003cstrong\u003eFeatures\u003c\/strong\u003e:\u003c\/div\u003e\n\u003cdiv id=\"pd_long\"\u003e\n\u003cul li=\"\"\u003e\n\u003cli\u003eSerial I2C control of LCD display using PCF8574\u003c\/li\u003e\n\u003cli\u003e5V power supply\u003c\/li\u003e\n\u003cli\u003eBacklight can be enabled or disabled via a jumper on the board\u003c\/li\u003e\n\u003cli\u003eContrast control via a potentiometer\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e \u003c\/div\u003e\n\u003cdiv id=\"pd_sub_title\"\u003e\u003cstrong\u003ePackage Includes:\u003c\/strong\u003e\u003c\/div\u003e\n\u003cdiv id=\"pd_long\" style=\"text-align: start;\"\u003e\n\u003cul li=\"\"\u003e\n\u003cli\u003e1 x IIC\/I2C Serial Interface Adapter Module\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003ePinout\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/I2C-Serial-Interface-Module-Pinout-Image_480x480.png?v=1708677371\" width=\"575\" height=\"230\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218363248743,"sku":"B1066B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/i2c_203.jpg?v=1530921293"},{"product_id":"teg-sp1848-27145-sa-thermo-electric-power-generator-peltier-module","title":"4C6  TEG SP1848-27145 SA Thermoelectric power generator peltier module","description":"\u003ch3 style=\"padding: 0px; margin-bottom: 0px;\" data-mce-style=\"padding: 0px; margin-bottom: 0px;\"\u003e\u003cspan style=\"font-weight: bold;\" data-mce-style=\"font-weight: bold;\"\u003eDescription\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003eThe TEG SP1848-27145 SA is a thermoelectric power generator Peltier module. It is designed to convert heat energy into electrical energy and can be used in a variety of applications, such as heat-to-electricity conversion, temperature control, and cooling. The Peltier module consists of a junction temperature sensor and a temperature control circuit that is used to regulate the temperature of the device. It also includes an over-temperature protection circuit to prevent damage to the module. It is generally used in low power applications such as battery charging, Internet of Things (IoT) devices, and temperature monitoring.\u003c\/p\u003e\n\u003ch3 style=\"padding: 0px; margin-bottom: 0px;\" data-mce-style=\"padding: 0px; margin-bottom: 0px;\"\u003e\u003cspan style=\"font-weight: bold;\" data-mce-style=\"font-weight: bold;\"\u003eFeatures\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSmall size\u003c\/li\u003e\n\u003cli\u003eLight weight, long life\u003c\/li\u003e\n\u003cli\u003eNo moving parts, easy to use\u003c\/li\u003e\n\u003cli\u003eHigh reliability and no pollution\u003c\/li\u003e\n\u003cli\u003eCold Side Printed with the words, the Heating side is plain (blank)\u003c\/li\u003e\n\u003cli\u003eRed wire to the positive, black wire to the negative generate electricity when there is a temperature difference on both sides.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\u003cspan style=\"font-weight: bold;\" data-mce-style=\"font-weight: bold;\"\u003eSpecifications\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eModel : SP1848-27145\u003c\/li\u003e\n\u003cli\u003eColor  : white (Both Sides)\u003c\/li\u003e\n\u003cli\u003eLead Length: Aprox. about 30 cm\u003c\/li\u003e\n\u003cli\u003eAprox. Size: 40MM * 40MM* 3.4MM\u003c\/li\u003e\n\u003cli\u003eMaterial: Ceramic \/ Bismuth Telluride\u003c\/li\u003e\n\u003cli\u003eModule weight: approximately . 27g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4 style=\"padding: 0px; margin-bottom: 0px;\" data-mce-style=\"padding: 0px; margin-bottom: 0px;\"\u003e\u003cbr\u003e\u003c\/h4\u003e\n\u003cp\u003e\u003cstrong\u003ePackage includes\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px; list-style-position: inside;\" data-mce-style=\"margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding: 0px; list-style-position: inside;\"\u003e\n\u003cli style=\"float: none; margin: 5px 0px 0px 30px; list-style: disc !important;\" data-mce-style=\"float: none; margin: 5px 0px 0px 30px; list-style: disc !important;\"\u003e1 x TEG TGM SP1848-27145 SA Thermoelectric Power Module\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch4 style=\"padding: 0px; margin-bottom: 0px;\" data-mce-style=\"padding: 0px; margin-bottom: 0px;\"\u003e\u003cbr\u003e\u003c\/h4\u003e\n\u003ch4 style=\"padding: 0px; margin-bottom: 0px;\" data-mce-style=\"padding: 0px; margin-bottom: 0px;\"\u003e\u003cbr\u003e\u003c\/h4\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218369212519,"sku":"B1071B","price":35.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/150C-097-48Volts-TEG-SP1848-27145-SA-Thermo-Electric-Generator-Peltier-Module-8-500x500.jpg?v=1530921340"},{"product_id":"ft232rl-3-3v-5-5v-ftdi-usb-to-ttl-serial-adapter-module","title":"1C17  FT232RL 3.3V 5.5V FTDI USB to TTL Serial Adapter Module","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThe FT232RL 3.3V 5.5V FTDI USB to TTL Serial Adapter Module is a versatile device designed to facilitate communication between a computer and other devices that use TTL (Transistor-Transistor Logic) serial interfaces. This module utilizes the FT232RL chip, which provides a seamless interface between USB and TTL serial signals. It allows you to connect your Arduino or microcontroller via a USB port, enabling convenient programming and data transfer.\u003c\/p\u003e\n\u003cp\u003eWith its wide operating voltage range of 3.3V to 5.5V, this module is compatible with a variety of microcontrollers, including both 3.3V and 5V systems. It supports bidirectional data transfer, allowing you to send and receive data between your computer and the connected device. This board will automatically reset any Arduino board with the reset pin connected to a 6-pin connector.\u003c\/p\u003e\n\u003cp\u003eThe pins labeled BLK and GRN correspond to the colored wires on the FTDI cable. The black wire on the FTDI cable is GND, green is CTS. Use these BLK and GRN pins to align the FTDI basic board with your Arduino target. The module typically features a USB Type-A connector on one end, allowing it to be directly plugged into a computer’s USB port. On the other end, it usually provides a set of pins for connecting to the TTL serial interface of the Arduino or other devices. These pins typically include TX (transmit), RX (receive), VCC (power supply), GND (ground), and sometimes additional control signals such as RTS (Request to Send) and CTS (Clear to Send).\u003c\/p\u003e\n\u003ch3\u003eFeatures:\u003c\/h3\u003e\n\u003col\u003e\n\u003cli\u003eStandard interface layout, compatible with a wide range of Arduinos, including the Pro Mini.\u003c\/li\u003e\n\u003cli\u003eOriginal FTDI FT232 chip, long-lasting performance\u003c\/li\u003e\n\u003cli\u003eUSB power includes current protection via a 500MA self-restore fuse.\u003c\/li\u003e\n\u003cli\u003eTransceiver communication indicator RXD\/TXD\u003c\/li\u003e\n\u003cli\u003eLED indicators for power, sending, receiving, and working status\u003c\/li\u003e\n\u003cli\u003eTTL Level supply options of 3.3V and 5V\u003c\/li\u003e\n\u003cli\u003eUSB to serial TTL module, STC SCM download\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch3\u003eHow to interface with the Pro Mini Module:\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003e      FTDI—–\u0026gt;Pro Mini\u003c\/strong\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eGND—-\u0026gt;GND\u003c\/li\u003e\n\u003cli\u003eVCC—-\u0026gt;VCC\u003c\/li\u003e\n\u003cli\u003eTX—–\u0026gt; RX\u003c\/li\u003e\n\u003cli\u003eRX—-\u0026gt; TX\u003c\/li\u003e\n\u003cli\u003eDTR—-\u0026gt;GRN\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch3\u003eApplications:\u003c\/h3\u003e\n\u003col\u003e\n\u003cli\u003eArduino Projects\u003c\/li\u003e\n\u003cli\u003eMicrocontroller Projects\u003c\/li\u003e\n\u003cli\u003eElectronics Prototyping\u003c\/li\u003e\n\u003cli\u003eSerial Communication\u003c\/li\u003e\n\u003cli\u003eDebugging and Testing\u003c\/li\u003e\n\u003cli\u003eData Logging\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch3\u003ePinout:\u003c\/h3\u003e\n\u003cp\u003eThe main connector has 6 pins:\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"http:\/\/auseparts.com.au\/image\/catalog\/Components\/FT232\/usb-ttl-ft232rl-pinout.png\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eFT232RL Adapter Module;\u003c\/li\u003e\n\u003cli\u003eChip: FT232RL;\u003c\/li\u003e\n\u003cli\u003eUSB supply power, can choose 5V or 3.3V interface level;\u003c\/li\u003e\n\u003cli\u003ePCB size: 17mm x 32.5mm;\u003c\/li\u003e\n\u003cli\u003eElicit all signal port of FT232RL chip, TTL\/CMOS level;\u003c\/li\u003e\n\u003cli\u003eRXD\/TXD transceiver communication signals indicator light;\u003c\/li\u003e\n\u003cli\u003eIf need other level, can provide target voltage on VCC and GND pin directly\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eDTR: Data Terminal Ready - an output used for flow control\u003cbr\u003eRX: Serial data Receive pin\u003cbr\u003eTX: Serial data Transmit pin\u003cbr\u003eVCC: Positive voltage output - this is controlled by the jumper. If the jumper is set to 5V, this will provide a 5V output. If the jumper is set to 3.3V, this will provide a 3.3V output.\u003cbr\u003eCTS: Clear To Send - an input used for flow control\u003cbr\u003eGND: Ground or 0V\u003cbr\u003eFor most uses, you can simply connect the following pins:\u003c\/p\u003e\n\u003cp\u003eRX on this board to the TX pin on your device\u003cbr\u003eTX on this board to the RX pin on your device\u003cbr\u003eGND on this board to GND on your device\u003cbr\u003eThe VCC pin is ideal for powering small devices such as homemade circuits. This pin should not be connected when a device has a separate power supply as this may damage both devices.\u003c\/p\u003e\n\u003cp\u003ePlease note that in 5V mode the maximum current draw on this pin is approximately 500mA. In 3.3V mode the maximum current draw on VCC is approximately 50mA.\u003c\/p\u003e\n\u003cp\u003eThere are also several pins available as solder pads. These pins are labelled on the board. Connecting to these pins is not usually required and you should check the FTDI datasheet (linked below) before doing so.\u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218371244135,"sku":"B1074B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/s-l500_e7828b38-fe28-4657-9320-7ce7df37f6ab.jpg?v=1530921374"},{"product_id":"ov7670-640-x-480-vga-cmos-camera-module","title":"2C60006 OV7670 640 x 480 VGA CMOS Camera Module","description":"\u003ch3\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e\u003cspan style=\"font-weight: bold;\" data-mce-style=\"font-weight: bold;\"\u003eDescription:\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003e\u003cspan style=\"color: #1f2124;\" data-mce-style=\"color: #1f2124;\"\u003e\u003cspan style=\"background-color: #ffffff;\" data-mce-style=\"background-color: #ffffff;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003eOV7670 image sensor, providing single-chip VGA camera and image processor for all functions\u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"background-color: #ffffff;\" data-mce-style=\"background-color: #ffffff;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e \u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"background-color: #ffffff;\" data-mce-style=\"background-color: #ffffff;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003eThrough the SCCB bus control, outputFull frame, sub-sampling, taking a variety of windows, etc. affect the data resolution\u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"background-color: #ffffff;\" data-mce-style=\"background-color: #ffffff;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e \u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"background-color: #ffffff;\" data-mce-style=\"background-color: #ffffff;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003eProducts VGA images up to 30 frames \/ sec. Users can fully control the image quality, data formats and transmission. All image processing functions including gamma curve process, white balance, saturation, hue and so on through the SCCB interface programming. OmmiVision image sensor applications unique sensor technology, by reducing or eliminating optical or electronic defects such as fixed pattern noise, prop tail, floating powder, etc., to improve image quality, get a clear and stable color image.\u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/web.mit.edu\/6.111\/www\/f2016\/tools\/OV7670_2006.pdf\" title=\"Camera CMOS OV7670 datasheet\" data-mce-style=\"color: #1f2124;\" target=\"_blank\"\u003eDatasheet\u003c\/a\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cspan style=\"color: #1f2124;\" data-mce-style=\"color: #1f2124;\"\u003e \u003cspan style=\"background-color: #ffffff;\" data-mce-style=\"background-color: #ffffff;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e \u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan style=\"background-color: #ffffff;\" data-mce-style=\"background-color: #ffffff;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e\u003cspan style=\"font-weight: bold;\" data-mce-style=\"font-weight: bold;\"\u003e Features:\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e \u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e High sensitivity suitable for illumination applications\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e Low voltage suitable for embedded applications\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e Standard SCCB interface compatible with I2C interface\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e RawRGB, RGB (GRB4: 2:2, RGB565\/555\/444), YUV (4:2:2) and YCbCr (4:2:2) output format\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e Supports VGA, CIF, and from a variety of sizes CIF to 40x30\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e VarioPixel sub-sampling mode\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e Auto affect the control features include: automatic exposure control, automatic gain control, automatic white balance, automatic elimination light stripes, automatic black level calibration image quality controls including color saturation, hue, gamma, sharpness ANTI_BLOOM\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e ISP has a compensation function to eliminate noise and dead pixels\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e Support for image scaling\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e compensation for loss of optical lens\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e 50\/60Hz automatic detection\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e Saturation automatically adjust (UV adjustment)\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e Automatically adjust edge enhancement\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e Noise Reduction automatically adjust\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e \u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003ch3\u003e\u003cspan style=\"color: #1f2124;\" data-mce-style=\"color: #1f2124;\"\u003e \u003cspan style=\"background-color: #ffffff;\" data-mce-style=\"background-color: #ffffff;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e\u003cspan style=\"font-weight: bold;\" data-mce-style=\"font-weight: bold;\"\u003eSpecifications:\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e \u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Photosensitive array: 640X480\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  IO Voltage: 2.5V to 3.0V (internal LDO for nuclear power 1.8V)\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Power operation: 60mW\/15fpsVGAYUV\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Sleep: \u0026lt;20uA\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Temperature Operating: -30 to 70 degree\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Stable: 0  to 50 degree\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Output Formats :(8) YUV\/YCbCr4: 2:2 RGB565\/555\/444 GRB4: 2:2 Raw RGB Data\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Optical size: 1\/6 \"\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  FOV: 25 degree\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Maximum Zhen rate: 30fps VGA\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Sensitivity: 1.3V \/ (Lux-sec)\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  SNR: 46 dB\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Dynamic range: 52 dB\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  View Mode: Progressive\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Electronic Exposure: 1 line to 510 line\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Pixel Size: 3.6um x 3.6um\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"background-color: #ffffff; color: #1f2124;\" data-mce-style=\"background-color: #ffffff; color: #1f2124;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e  Dark current: 12 mV \/ s at 60 degree\u003c\/span\u003e\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cspan style=\"background-color: #ffffff; color: #000000;\" data-mce-style=\"background-color: #ffffff; color: #000000;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px;\" data-mce-style=\"text-align: justify; line-height: 16px;\"\u003e \u003cbr\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003ch3\u003e\u003cspan style=\"background-color: #ffffff; color: #000000;\" data-mce-style=\"background-color: #ffffff; color: #000000;\"\u003e\u003cspan style=\"text-align: justify; line-height: 16px; font-weight: bold;\" data-mce-style=\"text-align: justify; line-height: 16px; font-weight: bold;\"\u003ePackage included:\u003c\/span\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e 1x ov7670 Image sensor mage transducer module\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\u003cspan\u003ePin Definition:\u003c\/span\u003e\u003c\/h3\u003e\n\u003ch3\u003e\n\u003cimg data-mce-fragment=\"1\" alt=\"Vibrant Images with OV7670 VGA CMOS Camera Module\" src=\"https:\/\/kitsguru.com\/cdn\/shop\/products\/CMOS-OV7670-Pinout_2048x2048.png?v=1635322581\" data-mce-src=\"https:\/\/kitsguru.com\/cdn\/shop\/products\/CMOS-OV7670-Pinout_2048x2048.png?v=1635322581\"\u003e \u003c\/h3\u003e\n\u003cdiv\u003e\n\u003cul\u003e\n\u003cli\u003e3V input power supply voltage (3.3,5V is recommended, but not recommended)\u003c\/li\u003e\n\u003cli\u003eGDN-----grounding point\u003c\/li\u003e\n\u003cli\u003eSIO_C---SCCB interface control clock (Note: some low-level microcontrollers need pull-up control, similar to I2C interface.)\u003c\/li\u003e\n\u003cli\u003eSIO_D---SCCB interface serial data input (output) end (Note: some low-level microcontrollers need pull-up control, similar to I2C interface.)\u003c\/li\u003e\n\u003cli\u003eVSYNC---frame sync signal (output signal)\u003c\/li\u003e\n\u003cli\u003eHREF line sync signal (output signal, generally not applicable, special case)\u003c\/li\u003e\n\u003cli\u003eD0-D7---data port (output signal)\u003c\/li\u003e\n\u003cli\u003eRESTE---Reset port (normal use pull high)\u003c\/li\u003e\n\u003cli\u003ePWDN: Power consumption selection mode (normal use pull low)\u003c\/li\u003e\n\u003cli\u003eSTROBE—Photo flash control port (not required for normal use)\u003c\/li\u003e\n\u003cli\u003eFIFO_RCK---FIFO memory read clock control terminal\u003c\/li\u003e\n\u003cli\u003eFIFO_WR_CTR----FIFO write control terminal (1 is to allow CMOS to write to FIFO, 0 is forbidden)\u003c\/li\u003e\n\u003cli\u003eFIFO_OE----FIFO shutdown control\u003c\/li\u003e\n\u003cli\u003eFIFO_WRST—FIFO write pointer reset terminal\u003c\/li\u003e\n\u003cli\u003eFIFO_RRST—FIFO read pointer reset terminal\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 class=\"page-header\"\u003e\u003cspan\u003eHow to Use OV7670 Camera Module with Arduino​\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003eComponents Required\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli class=\"rtejustify\"\u003eArduino UNO\u003c\/li\u003e\n\u003cli class=\"rtejustify\"\u003eOV7670 Camera Module\u003c\/li\u003e\n\u003cli class=\"rtejustify\"\u003eResistors(10k, 4.7k)\u003c\/li\u003e\n\u003cli class=\"rtejustify\"\u003eJumpers\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003eSoftware Required:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli class=\"rtejustify\"\u003eArduino IDE\u003c\/li\u003e\n\u003cli class=\"rtejustify\"\u003e\n\u003ca href=\"https:\/\/circuitdigest.com\/sites\/default\/files\/SerialPortReader.zip\" previewlistener=\"true\"\u003eSerial Port Reader\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003e(To analyze Output Image)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"rtejustify\"\u003e\u003cstrong\u003eCircuit Diagram\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp class=\"rtejustify\"\u003e\u003ca href=\"https:\/\/circuitdigest.com\/fullimage?i=circuitdiagram_mic\/Circuit-Diagram-for-Interfacing-OV7670-Camera-Module-with-Arduino.png\" previewlistener=\"true\" target=\"_blank\"\u003e\u003cimg src=\"https:\/\/circuitdigest.com\/sites\/default\/files\/circuitdiagram_mic\/Circuit-Diagram-for-Interfacing-OV7670-Camera-Module-with-Arduino.png\" alt=\"Arduino OV7670 Camera Module Circuit Diagram\"\u003e\u003c\/a\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch3 data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eProgramming Arduino UNO\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cdiv data-mce-fragment=\"1\" class=\"rtejustify\"\u003eThe programming starts with\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003eincluding required library necessary for OV7670\u003c\/strong\u003e. Since OV7670 runs on I2C interface, it includes \u0026lt;util\/twi.h\u0026gt; library. The libraries used in this project are built-in libraries of ArduinoIDE. We just have to include the libraries to get the job done.\u003c\/div\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eAfter this, the registers need to be modified for OV7670. The program is divided into small functions for better understanding.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eThe\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cem data-mce-fragment=\"1\"\u003eSetup()\u003c\/em\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003ecomprises all the initial setups required for only image capturing. The first function is\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003earduinoUnoInut()\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003c\/strong\u003ewhich is used to initialise the arduino uno. Initially it disables all the global interrupts and sets the communication interface configurations such as the\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003ca data-mce-fragment=\"1\" href=\"https:\/\/circuitdigest.com\/tutorial\/what-is-pwm-pulse-width-modulation\" data-mce-href=\"https:\/\/circuitdigest.com\/tutorial\/what-is-pwm-pulse-width-modulation\" previewlistener=\"true\"\u003ePWM\u003c\/a\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eclock, selection of interrupt pins, presclaer selection, adding parity and stop bits.\u003c\/p\u003e\n\u003cpre data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003e​arduinoUnoInut();\u003c\/strong\u003e\u003c\/pre\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eAfter configuring the Arduino, the camera has to be configured. To initialise the camera, we only have the options to change the register values. The register values need to be changed from the default to the custom. Also add required delay depending upon the microcontroller frequency we are using. As, slow microcontrollers have less processing time adding more delay between capturing frames.\u003c\/p\u003e\n\u003cpre data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003evoid camInit(void){\u003c\/strong\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003e writeReg(0x12, 0x80);\u003c\/strong\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003e  _delay_ms(100);\u003c\/strong\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003e  wrSensorRegs8_8(ov7670_default_regs);\u003c\/strong\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003e writeReg(REG_COM10, 32);\/\/PCLK does not toggle on HBLANK.\u003c\/strong\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003e}\u003c\/strong\u003e\u003c\/pre\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eThe camera is set to take a QVGA image so the resolution need to be selected. The function configures the register to take a QVGA image.\u003c\/p\u003e\n\u003cpre data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003esetResolution();\u003c\/strong\u003e\u003c\/pre\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eIn this tutorial, the images are taken in monochrome, so the register value is set to output a monochrome image. The function sets the register values from register list which is predefined in the program.\u003c\/p\u003e\n\u003cpre data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003esetColor();\u003c\/strong\u003e\u003c\/pre\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eThe below function is write to register function\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003ewhich writes the hex value to register.\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eIf you get the scrambled images then try to change the second term i.e. 10 to 9\/11\/12. But most of the time this value works fine so no need to change it.\u003c\/p\u003e\n\u003cpre data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ewriteReg(0x11, 10);\u003c\/strong\u003e\u003c\/pre\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eThis function is used to get the image resolution size. In this project we are taking pictures in the size of 320 x 240 pixels.\u003c\/p\u003e\n\u003cpre data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ecaptureImg(320, 240);\u003c\/strong\u003e\u003c\/pre\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eOther than this, the code also has the I2C configurations divided in to several parts. Just to get the data from camera, the I2C configurations has Start, Read, Write, Set Address function which are important when using \u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003ca data-mce-fragment=\"1\" href=\"https:\/\/circuitdigest.com\/microcontroller-projects\/arduino-i2c-tutorial-communication-between-two-arduino\" data-mce-href=\"https:\/\/circuitdigest.com\/microcontroller-projects\/arduino-i2c-tutorial-communication-between-two-arduino\" previewlistener=\"true\"\u003eI2C protocol\u003c\/a\u003e.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eYou can find the\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003ecomplete code with a demonstration video\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eat the end of this tutorial. Just Upload the code and open the Serial Port Reader and grab the frames.\u003c\/p\u003e\n\u003ch3 data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eHow to Use Serial Port Reader for reading Images\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cdiv data-mce-fragment=\"1\" class=\"rtejustify\"\u003eSerial Port Reader is a simple GUI,\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003ca data-mce-fragment=\"1\" href=\"https:\/\/circuitdigest.com\/sites\/default\/files\/SerialPortReader.zip\" data-mce-href=\"https:\/\/circuitdigest.com\/sites\/default\/files\/SerialPortReader.zip\" previewlistener=\"true\"\u003edownload it from here\u003c\/a\u003e. This captures the base64 encode and decodes it to form an image. Just follow these simple steps to use Serial Port Reader\u003c\/div\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eStep 1:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eConnect Your Arduino to any USB Port of your PC\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cimg data-mce-fragment=\"1\" alt=\"Connecting Arduino Uno for Interfacing With OV7670 Camera Module\" src=\"https:\/\/circuitdigest.com\/sites\/default\/files\/inlineimages\/u1\/Connecting-Arduino-Uno-for-Interfacing-With-OV7670-Camera-Module.png\" data-mce-src=\"https:\/\/circuitdigest.com\/sites\/default\/files\/inlineimages\/u1\/Connecting-Arduino-Uno-for-Interfacing-With-OV7670-Camera-Module.png\"\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eStep 2:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eClick on “Check” to find your Arduino COM Port\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cimg data-mce-fragment=\"1\" alt=\"Check For Successful Connection of OV7670 Camera Module with Arduino Uno\" src=\"https:\/\/circuitdigest.com\/sites\/default\/files\/inlineimages\/u1\/Check-For-Successfull-Connection-of-OV7670-Camera-Module-with-Arduino-Uno.png\" data-mce-src=\"https:\/\/circuitdigest.com\/sites\/default\/files\/inlineimages\/u1\/Check-For-Successfull-Connection-of-OV7670-Camera-Module-with-Arduino-Uno.png\"\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eStep 3:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eFinally click on “Start” button to start reading serially.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cimg data-mce-fragment=\"1\" alt=\"Start Capturing Images using OV7670 Camera Module with Arduino Uno\" src=\"https:\/\/circuitdigest.com\/sites\/default\/files\/inlineimages\/u1\/Start-Capturing-Images-using-OV7670-Camera-Module-with-Arduino-Uno.jpg\" data-mce-src=\"https:\/\/circuitdigest.com\/sites\/default\/files\/inlineimages\/u1\/Start-Capturing-Images-using-OV7670-Camera-Module-with-Arduino-Uno.jpg\"\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eStep 4:\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eOne can also save this pictures by just clicking on “Save Picture”.\u003c\/p\u003e\n\u003ch3 data-mce-fragment=\"1\" class=\"rtejustify\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ePrecautions when using OV7670\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\" class=\"rtejustify\"\u003eTry to use wires or jumpers as short as possible\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\" class=\"rtejustify\"\u003eAvoid any loose contact to any pins on Arduino or OV7670\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\" class=\"rtejustify\"\u003eBe careful about connecting as large number of wiring can lead short circuit\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\" class=\"rtejustify\"\u003eIf the UNO gives 5V output to GPIO then use Level Shifter.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\" class=\"rtejustify\"\u003eUse 3.3V Input for OV7670 as exceeding voltage than this can damage the OV7670 module.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\" class=\"rtejustify\"\u003eThis project is created to give overview of using a camera module with Arduino. Since Arduino has less memory, so the processing may not be as expected. You can use different controllers which has more memory for processing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ch3\u003eCode\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n#include \u003cspan data-mce-fragment=\"1\"\u003e\u0026lt;stdint.h\u0026gt;\u003c\/span\u003e\n\n#include \u003cspan data-mce-fragment=\"1\"\u003e\u0026lt;avr\/io.h\u0026gt;\u003c\/span\u003e\n\n#include \u003cspan data-mce-fragment=\"1\"\u003e\u0026lt;util\/twi.h\u0026gt;\u003c\/span\u003e\n\n#include \u003cspan data-mce-fragment=\"1\"\u003e\u0026lt;util\/delay.h\u0026gt;\u003c\/span\u003e\n\n#include \u003cspan data-mce-fragment=\"1\"\u003e\u0026lt;avr\/pgmspace.h\u0026gt;\u003c\/span\u003e\n\n\n#define F_CPU 16000000UL\n\n#define vga   0\n\n#define qvga  1\n\n#define qqvga   2\n\n#define yuv422  0\n\n#define rgb565  1\n\n#define bayerRGB  2\n\n#define camAddr_WR  0x42\n\n#define camAddr_RD  0x43\n\n\n\/* Registers *\/\n\n#define REG_GAIN    0x00  \/* Gain lower 8 bits (rest in vref) *\/\n\n#define REG_BLUE    0x01  \/* blue gain *\/\n\n#define REG_RED       0x02  \/* red gain *\/\n\n#define REG_VREF    0x03  \/* Pieces of GAIN, VSTART, VSTOP *\/\n\n#define REG_COM1    0x04  \/* Control 1 *\/\n\n#define COM1_CCIR656  0x40    \/* CCIR656 enable *\/\n\n\n#define REG_BAVE    0x05  \/* U\/B Average level *\/\n\n#define REG_GbAVE   0x06  \/* Y\/Gb Average level *\/\n\n#define REG_AECHH   0x07  \/* AEC MS 5 bits *\/\n\n#define REG_RAVE    0x08  \/* V\/R Average level *\/\n\n#define REG_COM2    0x09  \/* Control 2 *\/\n\n#define COM2_SSLEEP         0x10  \/* Soft sleep mode *\/\n\n#define REG_PID           0x0a  \/* Product ID MSB *\/\n\n#define REG_VER           0x0b  \/* Product ID LSB *\/\n\n#define REG_COM3    0x0c  \/* Control 3 *\/\n\n#define COM3_SWAP         0x40  \/* Byte swap *\/\n\n#define COM3_SCALEEN          0x08  \/* Enable scaling *\/\n\n#define COM3_DCWEN          0x04  \/* Enable downsamp\/crop\/window *\/\n\n#define REG_COM4    0x0d  \/* Control 4 *\/\n\n#define REG_COM5    0x0e  \/* All \"reserved\" *\/\n\n#define REG_COM6    0x0f  \/* Control 6 *\/\n\n#define REG_AECH    0x10  \/* More bits of AEC value *\/\n\n#define REG_CLKRC   0x11  \/* Clocl control *\/\n\n#define CLK_EXT           0x40  \/* Use external clock directly *\/\n\n#define CLK_SCALE   0x3f  \/* Mask for internal clock scale *\/\n\n#define REG_COM7    0x12  \/* Control 7 *\/ \/\/REG mean address.\n\n#define COM7_RESET          0x80  \/* Register reset *\/\n\n#define COM7_FMT_MASK         0x38\n\n#define COM7_FMT_VGA          0x00\n\n#define COM7_FMT_CIF          0x20  \/* CIF format *\/\n\n#define COM7_FMT_QVGA         0x10  \/* QVGA format *\/\n\n#define COM7_FMT_QCIF         0x08  \/* QCIF format *\/\n\n#define COM7_RGB          0x04  \/* bits 0 and 2 - RGB format *\/\n\n#define COM7_YUV          0x00  \/* YUV *\/\n\n#define COM7_BAYER          0x01  \/* Bayer format *\/\n\n#define COM7_PBAYER         0x05  \/* \"Processed bayer\" *\/\n\n#define REG_COM8    0x13  \/* Control 8 *\/\n\n#define COM8_FASTAEC          0x80  \/* Enable fast AGC\/AEC *\/\n\n#define COM8_AECSTEP          0x40  \/* Unlimited AEC step size *\/\n\n#define COM8_BFILT    0x20  \/* Band filter enable *\/\n\n#define COM8_AGC    0x04  \/* Auto gain enable *\/\n\n#define COM8_AWB    0x02  \/* White balance enable *\/\n\n#define COM8_AEC    0x01  \/* Auto exposure enable *\/\n\n#define REG_COM9    0x14  \/* Control 9- gain ceiling *\/\n\n#define REG_COM10   0x15  \/* Control 10 *\/\n\n#define COM10_HSYNC         0x40  \/* HSYNC instead of HREF *\/\n\n#define COM10_PCLK_HB         0x20  \/* Suppress PCLK on horiz blank *\/\n\n#define COM10_HREF_REV          0x08  \/* Reverse HREF *\/\n\n#define COM10_VS_LEAD         0x04  \/* VSYNC on clock leading edge *\/\n\n#define COM10_VS_NEG          0x02  \/* VSYNC negative *\/\n\n#define COM10_HS_NEG          0x01  \/* HSYNC negative *\/\n\n#define REG_HSTART    0x17  \/* Horiz start high bits *\/\n\n#define REG_HSTOP   0x18  \/* Horiz stop high bits *\/\n\n#define REG_VSTART    0x19  \/* Vert start high bits *\/\n\n#define REG_VSTOP   0x1a  \/* Vert stop high bits *\/\n\n#define REG_PSHFT   0x1b  \/* Pixel delay after HREF *\/\n\n#define REG_MIDH    0x1c  \/* Manuf. ID high *\/\n\n#define REG_MIDL    0x1d  \/* Manuf. ID low *\/\n\n#define REG_MVFP    0x1e  \/* Mirror \/ vflip *\/\n\n#define MVFP_MIRROR         0x20  \/* Mirror image *\/\n\n#define MVFP_FLIP   0x10  \/* Vertical flip *\/\n\n\n#define REG_AEW           0x24  \/* AGC upper limit *\/\n\n#define REG_AEB           0x25    \/* AGC lower limit *\/\n\n#define REG_VPT           0x26  \/* AGC\/AEC fast mode op region *\/\n\n#define REG_HSYST   0x30  \/* HSYNC rising edge delay *\/\n\n#define REG_HSYEN   0x31  \/* HSYNC falling edge delay *\/\n\n#define REG_HREF    0x32  \/* HREF pieces *\/\n\n#define REG_TSLB    0x3a  \/* lots of stuff *\/\n\n#define TSLB_YLAST    0x04  \/* UYVY or VYUY - see com13 *\/\n\n#define REG_COM11   0x3b  \/* Control 11 *\/\n\n#define COM11_NIGHT         0x80  \/* NIght mode enable *\/\n\n#define COM11_NMFR          0x60  \/* Two bit NM frame rate *\/\n\n#define COM11_HZAUTO          0x10  \/* Auto detect 50\/60 Hz *\/\n\n#define COM11_50HZ          0x08  \/* Manual 50Hz select *\/\n\n#define COM11_EXP   0x02\n\n#define REG_COM12   0x3c  \/* Control 12 *\/\n\n#define COM12_HREF          0x80  \/* HREF always *\/\n\n#define REG_COM13   0x3d  \/* Control 13 *\/\n\n#define COM13_GAMMA         0x80  \/* Gamma enable *\/\n\n#define COM13_UVSAT         0x40  \/* UV saturation auto adjustment *\/\n\n#define COM13_UVSWAP          0x01  \/* V before U - w\/TSLB *\/\n\n#define REG_COM14   0x3e  \/* Control 14 *\/\n\n#define COM14_DCWEN         0x10  \/* DCW\/PCLK-scale enable *\/\n\n#define REG_EDGE    0x3f  \/* Edge enhancement factor *\/\n\n#define REG_COM15   0x40  \/* Control 15 *\/\n\n#define COM15_R10F0         0x00  \/* Data range 10 to F0 *\/\n\n#define COM15_R01FE         0x80  \/*      01 to FE *\/\n\n#define COM15_R00FF         0xc0  \/*      00 to FF *\/\n\n#define COM15_RGB565          0x10  \/* RGB565 output *\/\n\n#define COM15_RGB555          0x30  \/* RGB555 output *\/\n\n#define REG_COM16   0x41  \/* Control 16 *\/\n\n#define COM16_AWBGAIN         0x08  \/* AWB gain enable *\/\n\n#define REG_COM17   0x42  \/* Control 17 *\/\n\n#define COM17_AECWIN          0xc0  \/* AEC window - must match COM4 *\/\n\n#define COM17_CBAR          0x08  \/* DSP Color bar *\/\n\n\/*\n\n* This matrix defines how the colors are generated, must be\n\n* tweaked to adjust hue and saturation.\n\n*\n\n* Order: v-red, v-green, v-blue, u-red, u-green, u-blue\n\n* They are nine-bit signed quantities, with the sign bit\n\n* stored in0x58.Sign for v-red is bit 0, and up from there.\n\n*\/\n\n#define REG_CMATRIX_BASE  0x4f\n\n#define CMATRIX_LEN           6\n\n#define REG_CMATRIX_SIGN  0x58\n\n#define REG_BRIGHT    0x55  \/* Brightness *\/\n\n#define REG_CONTRAS         0x56  \/* Contrast control *\/\n\n#define REG_GFIX    0x69  \/* Fix gain control *\/\n\n#define REG_REG76   0x76  \/* OV's name *\/\n\n#define R76_BLKPCOR         0x80  \/* Black pixel correction enable *\/\n\n#define R76_WHTPCOR         0x40  \/* White pixel correction enable *\/\n\n#define REG_RGB444          0x8c  \/* RGB 444 control *\/\n\n#define R444_ENABLE         0x02  \/* Turn on RGB444, overrides 5x5 *\/\n\n#define R444_RGBX   0x01  \/* Empty nibble at end *\/\n\n#define REG_HAECC1    0x9f  \/* Hist AEC\/AGC control 1 *\/\n\n#define REG_HAECC2    0xa0  \/* Hist AEC\/AGC control 2 *\/\n\n#define REG_BD50MAX         0xa5  \/* 50hz banding step limit *\/\n\n#define REG_HAECC3    0xa6  \/* Hist AEC\/AGC control 3 *\/\n\n#define REG_HAECC4    0xa7  \/* Hist AEC\/AGC control 4 *\/\n\n#define REG_HAECC5    0xa8  \/* Hist AEC\/AGC control 5 *\/\n\n#define REG_HAECC6    0xa9  \/* Hist AEC\/AGC control 6 *\/\n\n#define REG_HAECC7    0xaa  \/* Hist AEC\/AGC control 7 *\/\n\n#define REG_BD60MAX         0xab  \/* 60hz banding step limit *\/\n\n#define REG_GAIN    0x00  \/* Gain lower 8 bits (rest in vref) *\/\n\n#define REG_BLUE    0x01  \/* blue gain *\/\n\n#define REG_RED           0x02  \/* red gain *\/\n\n#define REG_VREF    0x03  \/* Pieces of GAIN, VSTART, VSTOP *\/\n\n#define REG_COM1    0x04  \/* Control 1 *\/\n\n#define COM1_CCIR656          0x40  \/* CCIR656 enable *\/\n\n#define REG_BAVE    0x05  \/* U\/B Average level *\/\n\n#define REG_GbAVE   0x06  \/* Y\/Gb Average level *\/\n\n#define REG_AECHH   0x07  \/* AEC MS 5 bits *\/\n\n#define REG_RAVE    0x08  \/* V\/R Average level *\/\n\n#define REG_COM2    0x09  \/* Control 2 *\/\n\n#define COM2_SSLEEP         0x10  \/* Soft sleep mode *\/\n\n#define REG_PID           0x0a  \/* Product ID MSB *\/\n\n#define REG_VER           0x0b  \/* Product ID LSB *\/\n\n#define REG_COM3    0x0c  \/* Control 3 *\/\n\n#define COM3_SWAP         0x40  \/* Byte swap *\/\n\n#define COM3_SCALEEN          0x08  \/* Enable scaling *\/\n\n#define COM3_DCWEN          0x04  \/* Enable downsamp\/crop\/window *\/\n\n#define REG_COM4    0x0d  \/* Control 4 *\/\n\n#define REG_COM5    0x0e  \/* All \"reserved\" *\/\n\n#define REG_COM6    0x0f  \/* Control 6 *\/\n\n#define REG_AECH    0x10  \/* More bits of AEC value *\/\n\n#define REG_CLKRC   0x11  \/* Clocl control *\/\n\n#define CLK_EXT           0x40  \/* Use external clock directly *\/\n\n#define CLK_SCALE   0x3f  \/* Mask for internal clock scale *\/\n\n#define REG_COM7    0x12  \/* Control 7 *\/\n\n#define COM7_RESET          0x80  \/* Register reset *\/\n\n#define COM7_FMT_MASK         0x38\n\n#define COM7_FMT_VGA          0x00\n\n#define COM7_FMT_CIF          0x20  \/* CIF format *\/\n\n#define COM7_FMT_QVGA         0x10  \/* QVGA format *\/\n\n#define COM7_FMT_QCIF         0x08  \/* QCIF format *\/\n\n#define COM7_RGB    0x04  \/* bits 0 and 2 - RGB format *\/\n\n#define COM7_YUV    0x00  \/* YUV *\/\n\n#define COM7_BAYER          0x01  \/* Bayer format *\/\n\n#define COM7_PBAYER         0x05  \/* \"Processed bayer\" *\/\n\n#define REG_COM8    0x13  \/* Control 8 *\/\n\n#define COM8_FASTAEC          0x80  \/* Enable fast AGC\/AEC *\/\n\n#define COM8_AECSTEP          0x40  \/* Unlimited AEC step size *\/\n\n#define COM8_BFILT    0x20  \/* Band filter enable *\/\n\n#define COM8_AGC    0x04  \/* Auto gain enable *\/\n\n#define COM8_AWB    0x02  \/* White balance enable *\/\n\n#define COM8_AEC    0x01  \/* Auto exposure enable *\/\n\n#define REG_COM9    0x14  \/* Control 9- gain ceiling *\/\n\n#define REG_COM10   0x15  \/* Control 10 *\/\n\n#define COM10_HSYNC         0x40  \/* HSYNC instead of HREF *\/\n\n#define COM10_PCLK_HB         0x20  \/* Suppress PCLK on horiz blank *\/\n\n#define COM10_HREF_REV          0x08  \/* Reverse HREF *\/\n\n#define COM10_VS_LEAD           0x04  \/* VSYNC on clock leading edge *\/\n\n#define COM10_VS_NEG          0x02  \/* VSYNC negative *\/\n\n#define COM10_HS_NEG          0x01  \/* HSYNC negative *\/\n\n#define REG_HSTART    0x17  \/* Horiz start high bits *\/\n\n#define REG_HSTOP   0x18  \/* Horiz stop high bits *\/\n\n#define REG_VSTART    0x19  \/* Vert start high bits *\/\n\n#define REG_VSTOP   0x1a  \/* Vert stop high bits *\/\n\n#define REG_PSHFT   0x1b  \/* Pixel delay after HREF *\/\n\n#define REG_MIDH    0x1c  \/* Manuf. ID high *\/\n\n#define REG_MIDL    0x1d  \/* Manuf. ID low *\/\n\n#define REG_MVFP    0x1e  \/* Mirror \/ vflip *\/\n\n#define MVFP_MIRROR         0x20  \/* Mirror image *\/\n\n#define MVFP_FLIP   0x10  \/* Vertical flip *\/\n\n#define REG_AEW           0x24  \/* AGC upper limit *\/\n\n#define REG_AEB           0x25  \/* AGC lower limit *\/\n\n#define REG_VPT           0x26  \/* AGC\/AEC fast mode op region *\/\n\n#define REG_HSYST   0x30  \/* HSYNC rising edge delay *\/\n\n#define REG_HSYEN   0x31  \/* HSYNC falling edge delay *\/\n\n#define REG_HREF    0x32  \/* HREF pieces *\/\n\n#define REG_TSLB    0x3a  \/* lots of stuff *\/\n\n#define TSLB_YLAST    0x04  \/* UYVY or VYUY - see com13 *\/\n\n#define REG_COM11   0x3b  \/* Control 11 *\/\n\n#define COM11_NIGHT         0x80  \/* NIght mode enable *\/\n\n#define COM11_NMFR          0x60  \/* Two bit NM frame rate *\/\n\n#define COM11_HZAUTO          0x10  \/* Auto detect 50\/60 Hz *\/\n\n#define COM11_50HZ          0x08  \/* Manual 50Hz select *\/\n\n#define COM11_EXP   0x02\n\n#define REG_COM12   0x3c  \/* Control 12 *\/\n\n#define COM12_HREF          0x80  \/* HREF always *\/\n\n#define REG_COM13   0x3d  \/* Control 13 *\/\n\n#define COM13_GAMMA         0x80  \/* Gamma enable *\/\n\n#define COM13_UVSAT         0x40  \/* UV saturation auto adjustment *\/\n\n#define COM13_UVSWAP          0x01  \/* V before U - w\/TSLB *\/\n\n#define REG_COM14   0x3e  \/* Control 14 *\/\n\n#define COM14_DCWEN         0x10  \/* DCW\/PCLK-scale enable *\/\n\n#define REG_EDGE    0x3f  \/* Edge enhancement factor *\/\n\n#define REG_COM15   0x40  \/* Control 15 *\/\n\n#define COM15_R10F0         0x00  \/* Data range 10 to F0 *\/\n\n#define COM15_R01FE         0x80  \/*      01 to FE *\/\n\n#define COM15_R00FF         0xc0  \/*      00 to FF *\/\n\n#define COM15_RGB565          0x10  \/* RGB565 output *\/\n\n#define COM15_RGB555          0x30  \/* RGB555 output *\/\n\n#define REG_COM16   0x41  \/* Control 16 *\/\n\n#define COM16_AWBGAIN         0x08  \/* AWB gain enable *\/\n\n#define REG_COM17   0x42  \/* Control 17 *\/\n\n#define COM17_AECWIN          0xc0  \/* AEC window - must match COM4 *\/\n\n#define COM17_CBAR          0x08  \/* DSP Color bar *\/\n\n\n#define CMATRIX_LEN             6\n\n#define REG_BRIGHT    0x55  \/* Brightness *\/\n\n#define REG_REG76   0x76  \/* OV's name *\/\n\n#define R76_BLKPCOR         0x80  \/* Black pixel correction enable *\/\n\n#define R76_WHTPCOR         0x40  \/* White pixel correction enable *\/\n\n#define REG_RGB444          0x8c  \/* RGB 444 control *\/\n\n#define R444_ENABLE         0x02  \/* Turn on RGB444, overrides 5x5 *\/\n\n#define R444_RGBX   0x01  \/* Empty nibble at end *\/\n\n#define REG_HAECC1    0x9f  \/* Hist AEC\/AGC control 1 *\/\n\n#define REG_HAECC2    0xa0  \/* Hist AEC\/AGC control 2 *\/\n\n#define REG_BD50MAX         0xa5  \/* 50hz banding step limit *\/\n\n#define REG_HAECC3    0xa6  \/* Hist AEC\/AGC control 3 *\/\n\n#define REG_HAECC4    0xa7  \/* Hist AEC\/AGC control 4 *\/\n\n#define REG_HAECC5    0xa8  \/* Hist AEC\/AGC control 5 *\/\n\n#define REG_HAECC6    0xa9  \/* Hist AEC\/AGC control 6 *\/\n\n#define REG_HAECC7    0xaa  \/* Hist AEC\/AGC control 7 *\/\n\n#define REG_BD60MAX         0xab  \/* 60hz banding step limit *\/\n\n#define MTX1            0x4f  \/* Matrix Coefficient 1 *\/\n\n#define MTX2            0x50  \/* Matrix Coefficient 2 *\/\n\n#define MTX3            0x51  \/* Matrix Coefficient 3 *\/\n\n#define MTX4            0x52  \/* Matrix Coefficient 4 *\/\n\n#define MTX5            0x53  \/* Matrix Coefficient 5 *\/\n\n#define MTX6            0x54  \/* Matrix Coefficient 6 *\/\n\n#define REG_CONTRAS         0x56  \/* Contrast control *\/\n\n#define MTXS            0x58  \/* Matrix Coefficient Sign *\/\n\n#define AWBC7           0x59  \/* AWB Control 7 *\/\n\n#define AWBC8           0x5a  \/* AWB Control 8 *\/\n\n#define AWBC9           0x5b  \/* AWB Control 9 *\/\n\n#define AWBC10            0x5c  \/* AWB Control 10 *\/\n\n#define AWBC11            0x5d  \/* AWB Control 11 *\/\n\n#define AWBC12            0x5e  \/* AWB Control 12 *\/\n\n#define REG_GFI           0x69  \/* Fix gain control *\/\n\n#define GGAIN           0x6a  \/* G Channel AWB Gain *\/\n\n#define DBLV            0x6b  \n\n#define AWBCTR3           0x6c  \/* AWB Control 3 *\/\n\n#define AWBCTR2           0x6d  \/* AWB Control 2 *\/\n\n#define AWBCTR1           0x6e  \/* AWB Control 1 *\/\n\n#define AWBCTR0           0x6f  \/* AWB Control 0 *\/\n\n\nstruct regval_list{\n\n  uint8_t reg_num;\n\n  uint16_t value;\n\n};\n\n\nconst struct regval_list qvga_ov7670[] PROGMEM = {\n\n  { REG_COM14, 0x19 },\n\n  { 0x72, 0x11 },\n\n  { 0x73, 0xf1 },\n\n\n  { REG_HSTART, 0x16 },\n\n  { REG_HSTOP, 0x04 },\n\n  { REG_HREF, 0xa4 },\n\n  { REG_VSTART, 0x02 },\n\n  { REG_VSTOP, 0x7a },\n\n  { REG_VREF, 0x0a },\n\n\n  { 0xff, 0xff }, \/* END MARKER *\/\n\n};\n\n\nconst struct regval_list yuv422_ov7670[] PROGMEM = {\n\n  { REG_COM7, 0x0 },  \/* Selects YUV mode *\/\n\n  { REG_RGB444, 0 },  \/* No RGB444 please *\/\n\n  { REG_COM1, 0 },\n\n  { REG_COM15, COM15_R00FF },\n\n  { REG_COM9, 0x6A }, \/* 128x gain ceiling; 0x8 is reserved bit *\/\n\n  { 0x4f, 0x80 },   \/* \"matrix coefficient 1\" *\/\n\n  { 0x50, 0x80 },   \/* \"matrix coefficient 2\" *\/\n\n  { 0x51, 0 },    \/* vb *\/\n\n  { 0x52, 0x22 },   \/* \"matrix coefficient 4\" *\/\n\n  { 0x53, 0x5e },   \/* \"matrix coefficient 5\" *\/\n\n  { 0x54, 0x80 },   \/* \"matrix coefficient 6\" *\/\n\n  { REG_COM13, COM13_UVSAT },\n\n  { 0xff, 0xff },   \/* END MARKER *\/\n\n};\n\n\nconst struct regval_list ov7670_default_regs[] PROGMEM = {\/\/from the linux driver\n\n  { REG_COM7, COM7_RESET },\n\n  { REG_TSLB, 0x04 }, \/* OV *\/\n\n  { REG_COM7, 0 },  \/* VGA *\/\n\n  \/*\n\n  * Set the hardware window.  These values from OV don't entirely\n\n  * make sense - hstop is less than hstart.  But they work...\n\n  *\/\n\n  { REG_HSTART, 0x13 }, { REG_HSTOP, 0x01 },\n\n  { REG_HREF, 0xb6 }, { REG_VSTART, 0x02 },\n\n  { REG_VSTOP, 0x7a }, { REG_VREF, 0x0a },\n\n\n  { REG_COM3, 0 }, { REG_COM14, 0 },\n\n  \/* Mystery scaling numbers *\/\n\n  { 0x70, 0x3a }, { 0x71, 0x35 },\n\n  { 0x72, 0x11 }, { 0x73, 0xf0 },\n\n  { 0xa2,\/* 0x02 changed to 1*\/1 }, { REG_COM10, 0x0 },\n\n  \/* Gamma curve values *\/\n\n  { 0x7a, 0x20 }, { 0x7b, 0x10 },\n\n  { 0x7c, 0x1e }, { 0x7d, 0x35 },\n\n  { 0x7e, 0x5a }, { 0x7f, 0x69 },\n\n  { 0x80, 0x76 }, { 0x81, 0x80 },\n\n  { 0x82, 0x88 }, { 0x83, 0x8f },\n\n  { 0x84, 0x96 }, { 0x85, 0xa3 },\n\n  { 0x86, 0xaf }, { 0x87, 0xc4 },\n\n  { 0x88, 0xd7 }, { 0x89, 0xe8 },\n\n  \/* AGC and AEC parameters.  Note we start by disabling those features,\n\n  then turn them only after tweaking the values. *\/\n\n  { REG_COM8, COM8_FASTAEC | COM8_AECSTEP },\n\n  { REG_GAIN, 0 }, { REG_AECH, 0 },\n\n  { REG_COM4, 0x40 }, \/* magic reserved bit *\/\n\n  { REG_COM9, 0x18 }, \/* 4x gain + magic rsvd bit *\/\n\n  { REG_BD50MAX, 0x05 }, { REG_BD60MAX, 0x07 },\n\n  { REG_AEW, 0x95 }, { REG_AEB, 0x33 },\n\n  { REG_VPT, 0xe3 }, { REG_HAECC1, 0x78 },\n\n  { REG_HAECC2, 0x68 }, { 0xa1, 0x03 }, \/* magic *\/\n\n  { REG_HAECC3, 0xd8 }, { REG_HAECC4, 0xd8 },\n\n  { REG_HAECC5, 0xf0 }, { REG_HAECC6, 0x90 },\n\n  { REG_HAECC7, 0x94 },\n\n  { REG_COM8, COM8_FASTAEC | COM8_AECSTEP | COM8_AGC | COM8_AEC },\n\n  { 0x30, 0 }, { 0x31, 0 },\/\/disable some delays\n\n  \/* Almost all of these are magic \"reserved\" values.  *\/\n\n  { REG_COM5, 0x61 }, { REG_COM6, 0x4b },\n\n  { 0x16, 0x02 }, { REG_MVFP, 0x07 },\n\n  { 0x21, 0x02 }, { 0x22, 0x91 },\n\n  { 0x29, 0x07 }, { 0x33, 0x0b },\n\n  { 0x35, 0x0b }, { 0x37, 0x1d },\n\n  { 0x38, 0x71 }, { 0x39, 0x2a },\n\n  { REG_COM12, 0x78 }, { 0x4d, 0x40 },\n\n  { 0x4e, 0x20 }, { REG_GFIX, 0 },\n\n  \/*{0x6b, 0x4a},*\/{ 0x74, 0x10 },\n\n  { 0x8d, 0x4f }, { 0x8e, 0 },\n\n  { 0x8f, 0 }, { 0x90, 0 },\n\n  { 0x91, 0 }, { 0x96, 0 },\n\n  { 0x9a, 0 }, { 0xb0, 0x84 },\n\n  { 0xb1, 0x0c }, { 0xb2, 0x0e },\n\n  { 0xb3, 0x82 }, { 0xb8, 0x0a },\n\n\n  \/* More reserved magic, some of which tweaks white balance *\/\n\n  { 0x43, 0x0a }, { 0x44, 0xf0 },\n\n  { 0x45, 0x34 }, { 0x46, 0x58 },\n\n  { 0x47, 0x28 }, { 0x48, 0x3a },\n\n  { 0x59, 0x88 }, { 0x5a, 0x88 },\n\n  { 0x5b, 0x44 }, { 0x5c, 0x67 },\n\n  { 0x5d, 0x49 }, { 0x5e, 0x0e },\n\n  { 0x6c, 0x0a }, { 0x6d, 0x55 },\n\n  { 0x6e, 0x11 }, { 0x6f, 0x9e }, \/* it was 0x9F \"9e for advance AWB\" *\/\n\n  { 0x6a, 0x40 }, { REG_BLUE, 0x40 },\n\n  { REG_RED, 0x60 },\n\n  { REG_COM8, COM8_FASTAEC | COM8_AECSTEP | COM8_AGC | COM8_AEC | COM8_AWB },\n\n\n  \/* Matrix coefficients *\/\n\n  { 0x4f, 0x80 }, { 0x50, 0x80 },\n\n  { 0x51, 0 },    { 0x52, 0x22 },\n\n  { 0x53, 0x5e }, { 0x54, 0x80 },\n\n  { 0x58, 0x9e },\n\n\n  { REG_COM16, COM16_AWBGAIN }, { REG_EDGE, 0 },\n\n  { 0x75, 0x05 }, { REG_REG76, 0xe1 },\n\n  { 0x4c, 0 },     { 0x77, 0x01 },\n\n  { REG_COM13, \/*0xc3*\/0x48 }, { 0x4b, 0x09 },\n\n  { 0xc9, 0x60 },   \/*{REG_COM16, 0x38},*\/\n\n  { 0x56, 0x40 },\n\n\n  { 0x34, 0x11 }, { REG_COM11, COM11_EXP | COM11_HZAUTO },\n\n  { 0xa4, 0x82\/*Was 0x88*\/ }, { 0x96, 0 },\n\n  { 0x97, 0x30 }, { 0x98, 0x20 },\n\n  { 0x99, 0x30 }, { 0x9a, 0x84 },\n\n  { 0x9b, 0x29 }, { 0x9c, 0x03 },\n\n  { 0x9d, 0x4c }, { 0x9e, 0x3f },\n\n  { 0x78, 0x04 },\n\n\n  \/* Extra-weird stuff.  Some sort of multiplexor register *\/\n\n  { 0x79, 0x01 }, { 0xc8, 0xf0 },\n\n  { 0x79, 0x0f }, { 0xc8, 0x00 },\n\n  { 0x79, 0x10 }, { 0xc8, 0x7e },\n\n  { 0x79, 0x0a }, { 0xc8, 0x80 },\n\n  { 0x79, 0x0b }, { 0xc8, 0x01 },\n\n  { 0x79, 0x0c }, { 0xc8, 0x0f },\n\n  { 0x79, 0x0d }, { 0xc8, 0x20 },\n\n  { 0x79, 0x09 }, { 0xc8, 0x80 },\n\n  { 0x79, 0x02 }, { 0xc8, 0xc0 },\n\n  { 0x79, 0x03 }, { 0xc8, 0x40 },\n\n  { 0x79, 0x05 }, { 0xc8, 0x30 },\n\n  { 0x79, 0x26 },\n\n  { 0xff, 0xff }, \/* END MARKER *\/\n\n};\n\n\n\nvoid error_led(void){\n\n  DDRB |= 32;\/\/make sure led is output\n\n  while (1){\/\/wait for reset\n\n    PORTB ^= 32;\/\/ toggle led\n\n    _delay_ms(100);\n\n  }\n\n}\n\n\nvoid twiStart(void){\n\n  TWCR = _BV(TWINT) | _BV(TWSTA) | _BV(TWEN);\/\/send start\n\n  while (!(TWCR \u0026amp; (1 \u0026lt;\u0026lt; TWINT)));\/\/wait for start to be transmitted\n\n  if ((TWSR \u0026amp; 0xF8) != TW_START)\n\n    error_led();\n\n}\n\n\nvoid twiWriteByte(uint8_t DATA, uint8_t type){\n\n  TWDR = DATA;\n\n  TWCR = _BV(TWINT) | _BV(TWEN);\n\n  while (!(TWCR \u0026amp; (1 \u0026lt;\u0026lt; TWINT))) {}\n\n  if ((TWSR \u0026amp; 0xF8) != type)\n\n    error_led();\n\n}\n\n\nvoid twiAddr(uint8_t addr, uint8_t typeTWI){\n\n  TWDR = addr;\/\/send address\n\n  TWCR = _BV(TWINT) | _BV(TWEN);    \/* clear interrupt to start transmission *\/\n\n  while ((TWCR \u0026amp; _BV(TWINT)) == 0); \/* wait for transmission *\/\n\n  if ((TWSR \u0026amp; 0xF8) != typeTWI)\n\n    error_led();\n\n}\n\n\nvoidwriteReg(uint8_t reg, uint8_t dat){\n\n  \/\/send start condition\n\n  twiStart();\n\n  twiAddr(camAddr_WR, TW_MT_SLA_ACK);\n\n  twiWriteByte(reg, TW_MT_DATA_ACK);\n\n  twiWriteByte(dat, TW_MT_DATA_ACK);\n\n  TWCR = (1 \u0026lt;\u0026lt; TWINT) | (1 \u0026lt;\u0026lt; TWEN) | (1 \u0026lt;\u0026lt; TWSTO);\/\/send stop\n\n  _delay_ms(1);\n\n}\n\n\nstatic uint8_t twiRd(uint8_t nack){\n\n  if (nack){\n\n    TWCR = _BV(TWINT) | _BV(TWEN);\n\n    while ((TWCR \u0026amp; _BV(TWINT)) == 0); \/* wait for transmission *\/\n\n    if ((TWSR \u0026amp; 0xF8) != TW_MR_DATA_NACK)\n\n      error_led();\n\n    return TWDR;\n\n  }\n\n  else{\n\n    TWCR = _BV(TWINT) | _BV(TWEN) | _BV(TWEA);\n\n    while ((TWCR \u0026amp; _BV(TWINT)) == 0); \/* wait for transmission *\/\n\n    if ((TWSR \u0026amp; 0xF8) != TW_MR_DATA_ACK)\n\n      error_led();\n\n    return TWDR;\n\n  }\n\n}\n\n\nuint8_t rdReg(uint8_t reg){\n\n  uint8_t dat;\n\n  twiStart();\n\n  twiAddr(camAddr_WR, TW_MT_SLA_ACK);\n\n  twiWriteByte(reg, TW_MT_DATA_ACK);\n\n  TWCR = (1 \u0026lt;\u0026lt; TWINT) | (1 \u0026lt;\u0026lt; TWEN) | (1 \u0026lt;\u0026lt; TWSTO);\/\/send stop\n\n  _delay_ms(1);\n\n  twiStart();\n\n  twiAddr(camAddr_RD, TW_MR_SLA_ACK);\n\n  dat = twiRd(1);\n\n  TWCR = (1 \u0026lt;\u0026lt; TWINT) | (1 \u0026lt;\u0026lt; TWEN) | (1 \u0026lt;\u0026lt; TWSTO);\/\/send stop\n\n  _delay_ms(1);\n\n  return dat;\n\n}\n\n\nvoid wrSensorRegs8_8(const struct regval_list reglist[]){\n\n  uint8_t reg_addr, reg_val;\n\n  const struct regval_list *next = reglist;\n\n  while ((reg_addr != 0xff) | (reg_val != 0xff)){\n\n    reg_addr = pgm_read_byte(\u0026amp;next-\u0026gt;reg_num);\n\n    reg_val = pgm_read_byte(\u0026amp;next-\u0026gt;value);\n\n   writeReg(reg_addr, reg_val);\n\n    next++;\n\n  }\n\n}\n\n\nvoid setColor(void){\n\n  wrSensorRegs8_8(yuv422_ov7670);\n\n \/\/ wrSensorRegs8_8(qvga_ov7670);\n\n}\n\n\nvoid setResolution(void){\n\n writeReg(REG_COM3, 4); \/\/ REG_COM3 enable scaling\n\n  wrSensorRegs8_8(qvga_ov7670);\n\n}\n\n\nvoid camInit(void){\n\n writeReg(0x12, 0x80);\n\n  _delay_ms(100);\n\n  wrSensorRegs8_8(ov7670_default_regs);\n\n writeReg(REG_COM10, 32);\/\/PCLK does not toggle on HBLANK.\n\n}\n\n\nvoid arduinoUnoInut(void) {\n\n  cli();\/\/disable interrupts\n\n  \n\n    \/* Setup the 8mhz PWM clock\n\n  * This will be on pin 11*\/\n\n  DDRB |= (1 \u0026lt;\u0026lt; 3);\/\/pin 11\n\n  ASSR \u0026amp;= ~(_BV(EXCLK) | _BV(AS2));\n\n  TCCR2A = (1 \u0026lt;\u0026lt; COM2A0) | (1 \u0026lt;\u0026lt; WGM21) | (1 \u0026lt;\u0026lt; WGM20);\n\n  TCCR2B = (1 \u0026lt;\u0026lt; WGM22) | (1 \u0026lt;\u0026lt; CS20);\n\n  OCR2A = 0;\/\/(F_CPU)\/(2*(X+1))\n\n  DDRC \u0026amp;= ~15;\/\/low d0-d3 camera\n\n  DDRD \u0026amp;= ~252;\/\/d7-d4 and interrupt pins\n\n  _delay_ms(3000);\n\n  \n\n    \/\/set up twi for 100khz\n\n  TWSR \u0026amp;= ~3;\/\/disable prescaler for TWI\n\n  TWBR = 72;\/\/set to 100khz\n\n  \n\n    \/\/enable serial\n\n  UBRR0H = 0;\n\n  UBRR0L = 1;\/\/0 = 2M baud rate. 1 = 1M baud. 3 = 0.5M. 7 = 250k 207 is 9600 baud rate.\n\n  UCSR0A |= 2;\/\/double speed aysnc\n\n  UCSR0B = (1 \u0026lt;\u0026lt; RXEN0) | (1 \u0026lt;\u0026lt; TXEN0);\/\/Enable receiver and transmitter\n\n  UCSR0C = 6;\/\/async 1 stop bit 8bit char no parity bits\n\n}\n\n\n\nvoid StringPgm(const char * str){\n\n  do{\n\n      while (!(UCSR0A \u0026amp; (1 \u0026lt;\u0026lt; UDRE0)));\/\/wait for byte to transmit\n\n      UDR0 = pgm_read_byte_near(str);\n\n      while (!(UCSR0A \u0026amp; (1 \u0026lt;\u0026lt; UDRE0)));\/\/wait for byte to transmit\n\n  } while (pgm_read_byte_near(++str));\n\n}\n\n\nstatic void captureImg(uint16_t wg, uint16_t hg){\n\n  uint16_t y, x;\n\n\n  StringPgm(PSTR(\"*RDY*\"));\n\n\n  while (!(PIND \u0026amp; 8));\/\/wait for high\n\n  while ((PIND \u0026amp; 8));\/\/wait for low\n\n\n    y = hg;\n\n  while (y--){\n\n        x = wg;\n\n      \/\/while (!(PIND \u0026amp; 256));\/\/wait for high\n\n    while (x--){\n\n      while ((PIND \u0026amp; 4));\/\/wait for low\n\n            UDR0 = (PINC \u0026amp; 15) | (PIND \u0026amp; 240);\n\n          while (!(UCSR0A \u0026amp; (1 \u0026lt;\u0026lt; UDRE0)));\/\/wait for byte to transmit\n\n      while (!(PIND \u0026amp; 4));\/\/wait for high\n\n      while ((PIND \u0026amp; 4));\/\/wait for low\n\n      while (!(PIND \u0026amp; 4));\/\/wait for high\n\n    }\n\n    \/\/  while ((PIND \u0026amp; 256));\/\/wait for low\n\n  }\n\n    _delay_ms(100);\n\n}\n\n\nvoid setup(){\n\n  arduinoUnoInut();\n\n  camInit();\n\n  setResolution();\n\n  setColor();\n\n writeReg(0x11, 10); \/\/Earlier it had the value:writeReg(0x11, 12); New version works better for me :) !!!!\n\n}\n\n\n\nvoid loop(){\n\n  captureImg(320, 240);\n\n}\n\u003c\/code\u003e\u003c\/pre\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218386612327,"sku":"B1096B","price":50.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/61TVlGNs68L._SL1004_1024x_a355b25f-4700-42c0-a4a4-beefd360834b.jpg?v=1708425472"},{"product_id":"irf520-mos-fet-driver-module","title":"2D2 IRF520 MOSFET Driver Module","description":"\u003ch3 style=\"margin-bottom: 20px;\" data-mce-style=\"margin-bottom: 20px;\"\u003eDescription\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eThis little module (HCMODU0083) is a breakout board for the IFR520 MOSFET transistor. The module is designed to switch heavy DC loads from a single digital pin of your microcontroller. Its main purpose is to provide a low cost way to drive a DC motor for robotics applications, but the module can be used to control most high current DC loads. Screw terminals are provided to interface to your load and external power source. An LED indicator provides a visual indication of when your load is being switched.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.infineon.com\/dgdl\/Infineon-IRF520NS-DS-v01_00-EN.pdf?fileId=5546d46258fc0bc10158fee31fe50635\" title=\"IRF520 datasheet\" rel=\"noopener\" data-mce-href=\"https:\/\/www.infineon.com\/dgdl\/Infineon-IRF520NS-DS-v01_00-EN.pdf?fileId=5546d46258fc0bc10158fee31fe50635\" target=\"_blank\"\u003e\u003cstrong\u003eDatasheeet\u003c\/strong\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003ch3 style=\"margin-bottom: 20px;\" data-mce-style=\"margin-bottom: 20px;\"\u003eSpecifications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSize: 33*24mm\u003c\/li\u003e\n\u003cli\u003eWeight: 10g\u003c\/li\u003e\n\u003cli\u003eVoltage: 3.3V, 5V\u003c\/li\u003e\n\u003cli\u003ePorts: Digital Level\u003c\/li\u003e\n\u003cli\u003eOutput load voltage :0-24V\u003c\/li\u003e\n\u003cli\u003eOutput load current: \u0026lt;5A (1A above need to add heat sink)\u003c\/li\u003e\n\u003cli\u003ePlatform: Arduino, MCU, ARM, raspberry pie\u003c\/li\u003e\n\u003cli\u003eUsing original IRF520 Power MOS, you can adjust the output PWM\u003c\/li\u003e\n\u003cli\u003eArduino drive up to 24V allows the load, such as LED lights, DC motors, miniature pumps, solenoid valves\u003c\/li\u003e\n\u003cli\u003ePWM dimming LED can be used to achieve stepless dimming, variable speed motor\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"margin-bottom: 20px;\" data-mce-style=\"margin-bottom: 20px;\"\u003e\u003cbr\u003e\u003cstrong\u003e\u003cspan style=\"text-align: start; cursor: pointer;\" data-mce-style=\"text-align: start; cursor: pointer;\"\u003e\u003cspan style=\"cursor: pointer;\" data-mce-style=\"cursor: pointer;\"\u003ePackage Included:\u003c\/span\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1 x  IRF520 MOS FET Driver Module \u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"elementor-element elementor-element-618a412c elementor-widget elementor-widget-heading\" data-id=\"618a412c\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eIRF520 MOSFET Driver Module Pinout\u003c\/h3\u003e\n\u003cdiv class=\"elementor-element elementor-element-52f5e403 elementor-widget elementor-widget-text-editor\" data-id=\"52f5e403\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cp\u003eThis sensor has 7 pins:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eVCC\u003c\/strong\u003e: Module power supply – 5V\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e: Ground\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSIG:\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003ePWM input signal\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVin\u003c\/strong\u003e: Input voltage 5-24 V\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUT\u003c\/strong\u003e: Module output for connecting to motor\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eYou can see the pinout of this module in the image below.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_20_480x480.png?v=1709624629\" alt=\"\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_20_480x480.png?v=1709624629\"\u003e\u003c\/p\u003e\n\u003cdiv class=\"elementor-element elementor-element-574e0e1 elementor-widget elementor-widget-heading\" data-id=\"574e0e1\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eRequired Materials\u003c\/h3\u003e\n\u003cdiv class=\"elementor-element elementor-element-4730c05a elementor-widget elementor-widget-heading\" data-id=\"4730c05a\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eHardware Components\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-1d712d6c elementor-widget elementor-widget-html\" data-id=\"1d712d6c\" data-element_type=\"widget\" data-widget_type=\"html.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"table-2\"\u003e\n\u003ctable style=\"width: 100%;\" width=\"100%\" class=\"zebra\" data-mce-style=\"width: 100%;\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 70%;\" width=\"70%\" data-mce-style=\"width: 70%;\"\u003eArduino UNO R3\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e×\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 70%;\" width=\"70%\" data-mce-style=\"width: 70%;\"\u003eIRF520 MOSFET Driver Module\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e×\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 70%;\" width=\"70%\" data-mce-style=\"width: 70%;\"\u003e6V DC Motor\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e×\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 70%;\" width=\"70%\" data-mce-style=\"width: 70%;\"\u003e10K Potentiometer\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e×\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 70%;\" width=\"70%\" data-mce-style=\"width: 70%;\"\u003e9V Battery\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e×\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 70%;\" width=\"70%\" data-mce-style=\"width: 70%;\"\u003e9V Battery Clips with Bare Leads\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e×\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 70%;\" width=\"70%\" data-mce-style=\"width: 70%;\"\u003eMale-Female jumper wire\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e×\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 70%;\" width=\"70%\" data-mce-style=\"width: 70%;\"\u003eMale-Male jumper wire\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e×\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"width: 70%;\" width=\"70%\" data-mce-style=\"width: 70%;\"\u003e400 Tie point Breadboard\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e×\u003c\/td\u003e\n\u003ctd style=\"width: 10%;\" class=\"center\" width=\"10%\" data-mce-style=\"width: 10%;\"\u003e1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv class=\"elementor-element elementor-element-1a8c5a12 elementor-widget elementor-widget-heading\" data-id=\"1a8c5a12\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eInterfacing IRF520 MOSFET Driver Module with Arduino\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-61b3fe34 elementor-widget elementor-widget-heading\" data-id=\"61b3fe34\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cspan id=\"elementor-toc__heading-anchor-7\" class=\"elementor-menu-anchor\"\u003e\u003c\/span\u003e\n\u003ch4 class=\"elementor-heading-title elementor-size-default\"\u003eStep 1: Circuit\u003c\/h4\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-1057dd64 elementor-widget elementor-widget-text-editor\" data-id=\"1057dd64\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cp\u003eThe following circuit shows how you should connect Arduino to IRF520 sensor. Connect wires accordingly.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-1cb8a7a1 elementor-widget elementor-widget-image\" data-id=\"1cb8a7a1\" data-element_type=\"widget\" data-widget_type=\"image.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\u003ca href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/IRF520-MOSFET-Driver-Circuit-1.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"IRF520-MOSFET-Driver-Circuit\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MTkzODgsInVybCI6Imh0dHBzOlwvXC9lbGVjdHJvcGVhay5jb21cL2xlYXJuXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDIwXC8xMlwvSVJGNTIwLU1PU0ZFVC1Ecml2ZXItQ2lyY3VpdC0xLmpwZyJ9\" data-mce-href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/IRF520-MOSFET-Driver-Circuit-1.jpg\" previewlistener=\"true\"\u003e\u003cimg loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"713\" src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/IRF520-MOSFET-Driver-Circuit-1.jpg\" class=\"attachment-large size-large wp-image-19388 lazyloaded\" alt=\"\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/IRF520-MOSFET-Driver-Circuit-1.jpg 800w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/IRF520-MOSFET-Driver-Circuit-1-449x400.jpg 449w\" data-ll-status=\"loaded\" data-mce-src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/IRF520-MOSFET-Driver-Circuit-1.jpg\"\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv data-widget_type=\"heading.default\" data-element_type=\"widget\" data-id=\"5873881c\" class=\"elementor-element elementor-element-5873881c elementor-widget elementor-widget-heading\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eStep 2: Code\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-widget_type=\"text-editor.default\" data-element_type=\"widget\" data-id=\"6d63f68\" class=\"elementor-element elementor-element-6d63f68 elementor-widget elementor-widget-text-editor\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cp\u003eUpload the following code to Arduino.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n#define PWM 3\nint pot;\nint out;\n\nvoid setup() {\n  Serial.begin(9600);\n  pinMode(PWM,OUTPUT);\n \n}\n \n \nvoid loop() {\n  pot=analogRead(A0);\n  out=map(pot,0,1023,0,255);\n  analogWrite(PWM,out);\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\n\u003cp\u003e\u003cspan\u003eIn this code, by rotating the potentiometer, the value of PWM pin 3 changes from 0 to 5. The voltage of the motor also changes from 0 to 9.\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eIt can be seen that by turning the potentiometer, the motor speed can be controlled.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-52f5e403 elementor-widget elementor-widget-text-editor\" data-id=\"52f5e403\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218408403047,"sku":"B1102B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/HR0216_20IRF520_20module.png?v=1530921754"},{"product_id":"16-channel-12-bit-pwm-servo-driver-i2c-interface-pca9685-module","title":"2A12 16 Channel 12-bit PWM\/Servo Driver-I2C interface PCA9685 module","description":"\u003ch3\u003eDescription:\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eThis module is a breakout board for the NXP PCA9685 16 channel PWM controller. It features 16 fully programmable PWM outputs with a 12bit resolution giving a total of 4096 programmable steps with a duty cycle being adjustable from 0% to 100%. Additionally, the output frequency of all 16 channels can be programmed from 24Hz to 1526Hz.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eIntended for controlling the brightness of multiple LEDs, the programmability of its PWM outputs means that it can also be configured for producing PWM signals compatible with driving standard servos.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eIn fact, this module has been designed with this purpose in mind with 16 sets of headers that allow for any servo with a standard header to be directly plugged into the module. A screw terminal block provides a means of powering the attached servos from an external 5V PSU and so the number of servos you can drive from your microcontroller and so is not limited by the microcontrollers own power supply.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eThe module also includes an I2C header with 10K pullup resistors and so only requires two data pins (SDA \u0026amp; SCL) to control the module. Solderable pads on the module provide a means of changing the default I2C address (0x40) to one of 62 options, meaning more than one module can be connected to the same I2C bus. \u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cspan\u003eA wide operating range of 2.3V to 5.5V allows the module to be powered from a range of power supplies and when powered from a 3.3V supply is safe to interface to a Raspberry Pi or 3.3V or any other non 5V tolerant microcontrollers. \u003c\/span\u003e\u003c\/p\u003e\n\u003ch4\u003eNOTES\u003c\/h4\u003e\nThe PWM output pins on this module are capable of sinking a maximum of 25mA or sourcing a maximum of 10mA. Do not attempt to drive high current devices such as motors, bulbs etc, directly from these pins as you will risk damaging the module. For servos, power is provided externally via the terminal header and only a small amount of current is drawn by the servo from each PWM pin.\n\u003ch3\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003cdiv class=\"ty-wysiwyg-content tab-content content-features\" id=\"content_features\"\u003e\n\u003cdiv class=\"helper_1\"\u003e\n\u003cdiv class=\"helper_2\"\u003e\n\u003cdiv class=\"product_content_tab features\"\u003e\n\u003cdiv class=\"ty-product-feature\"\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cspan class=\"ty-product-feature__label\"\u003eDriver Type:\u003c\/span\u003e\u003cspan\u003e  \u003c\/span\u003eServo\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"ty-product-feature__label\"\u003eMax. Current per Channel:\u003c\/span\u003e\u003cspan\u003e  \u003c\/span\u003e0.25A\u003c\/li\u003e\n\u003cli\u003eFrequency: 40-1000Hz\u003c\/li\u003e\n\u003cli\u003eChannel number: 16 channel\u003c\/li\u003e\n\u003cli\u003eResolution: 12 bit\u003c\/li\u003e\n\u003cli\u003eVoltage: DC 5-10V\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ty-product-feature\"\u003e\n\u003ch3 id=\"extra_capabilities\" class=\"tab-list-title\"\u003eFeatures\u003c\/h3\u003e\n\u003cdiv class=\"product_content_tab extra_capabilities\"\u003e\n\u003cdiv class=\"tab_type_t clearfix\"\u003e\n\u003cdiv class=\"tab_part_1\"\u003e\n\u003cul\u003e\n\u003cli\u003eIt's an i2c-controlled PWM driver with a built in clock. That means that, unlike the TLC5940 family, you do not need to continuously send it signal tying up your microcontroller, its completely free running!\u003c\/li\u003e\n\u003cli\u003eIt is 5V compliant, which means you can control it from a 3.3V microcontroller and still safely drive up to 6V outputs (this is good for when you want to control white or blue LEDs with 3.4+ forward voltages)\u003c\/li\u003e\n\u003cli\u003e6 address-select pins so you can wire up to 62 of these on a single i2c bus, a total of 992 outputs. That's a lot of servos or LEDs\u003c\/li\u003e\n\u003cli\u003eAdjustable frequency PWM up to about 1.6 KHz\u003c\/li\u003e\n\u003cli\u003e12-bit resolution for each output - for servos, that means about 4us resolution at 60Hz update rate\u003c\/li\u003e\n\u003cli\u003eConfigurable push-pull or open-drain output\u003c\/li\u003e\n\u003cli\u003eOutput enable pin to quickly disable all the outputs\u003c\/li\u003e\n\u003cli\u003eTerminal block for power input (or you can use the 0.1\" breakouts on the side)\u003c\/li\u003e\n\u003cli\u003eReverse polarity protection on the terminal block input\u003c\/li\u003e\n\u003cli\u003eGreen power-good LED\u003c\/li\u003e\n\u003cli\u003e3 pin connectors in groups of 4 so you can plug in 16 servos at once (Servo plugs are slightly wider than 0.1\" so you can only stack 4 next to each other on 0.1\" header\u003c\/li\u003e\n\u003cli\u003e\"Chain-able\" design\u003c\/li\u003e\n\u003cli\u003eA spot to place a big capacitor on the V+ line (in case you need it)\u003c\/li\u003e\n\u003cli\u003e220 ohm series resistors on all the output lines to protect them, and to make driving LEDs trivial\u003c\/li\u003e\n\u003cli\u003eSolder jumpers for the 6 address select pins\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"page-header-wrapper\"\u003e\n\u003ch3 class=\"headline\" aria-label=\"Page title\"\u003e\u003cspan id=\"pinouts\"\u003ePinouts\u003c\/span\u003e\u003c\/h3\u003e\n\u003cdiv class=\"badges\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"page-content\"\u003e\n\u003cdiv class=\"\" role=\"region\" aria-label=\"Page content\"\u003e\n\u003cdiv class=\"row-fluid element image-element\" aria-label=\"Image: adafruit_products_815-06.jpg\"\u003e\u003ca href=\"https:\/\/learn.adafruit.com\/assets\/50181\" previewlistener=\"true\"\u003e\u003cimg class=\"50181-asset img-responsive\" srcset=\"https:\/\/cdn-learn.adafruit.com\/assets\/assets\/000\/050\/181\/medium260\/adafruit_products_815-06.jpg?1516056388 260w,\n               https:\/\/cdn-learn.adafruit.com\/assets\/assets\/000\/050\/181\/medium640\/adafruit_products_815-06.jpg?1516056388 640w,\n               https:\/\/cdn-learn.adafruit.com\/assets\/assets\/000\/050\/181\/medium800\/adafruit_products_815-06.jpg?1516056388 800w,\n               https:\/\/cdn-learn.adafruit.com\/assets\/assets\/000\/050\/181\/large1024\/adafruit_products_815-06.jpg?1516056388 1024w\" sizes=\"(max-width: 768px) 100vw, (max-width: 1024px) 65vw, (max-width: 1365px) 47vw, 750px\" src=\"https:\/\/cdn-learn.adafruit.com\/assets\/assets\/000\/050\/181\/medium800\/adafruit_products_815-06.jpg?1516056388\" alt=\"adafruit_products_815-06.jpg\"\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003cdiv class=\"row-fluid text-element\"\u003e\n\u003cp\u003eThere are two sets of control input pins on either side.\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eBoth sides of the pins are identical!\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eUse whichever side you like, you can also easily chain by connecting up two side-by-side\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"row-fluid text-element\"\u003e\n\u003cdiv class=\"anchor-anchor\"\u003e\n\u003ca href=\"https:\/\/learn.adafruit.com\/16-channel-pwm-servo-driver?view=all#power-pins-2980404\" class=\"anchor-link\"\u003e\u003cspan class=\"fa fa-link\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003cspan id=\"power-pins-2980404\" class=\"anchor-link-target\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003ch4\u003ePower Pins\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e- This is the power and signal ground pin, must be connected\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVCC\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e- This is the\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003elogic\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003epower pin, connect this to the logic level you want to use for the PCA9685 output, should be 3 - 5V max! It's also used for the 10K pullups on SCL\/SDA so unless you have your own pullups, have it match the microcontroller's logic level too!\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eV+\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e- This is an\u003cspan\u003e \u003c\/span\u003e\u003cem\u003eoptional\u003c\/em\u003e\u003cspan\u003e \u003c\/span\u003epower pin that will supply distributed power to the servos. If you are not using for servos you can leave disconnected. It is not used at all by the chip. You can also inject power from the 2-pin terminal block at the top of the board. You should provide 5-6VDC if you are using servos. If you have to, you can go higher to 12VDC, but if you mess up and connect VCC to V+ you could damage your board!\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"row-fluid text-element\"\u003e\n\u003cdiv class=\"anchor-anchor\"\u003e\n\u003ca href=\"https:\/\/learn.adafruit.com\/16-channel-pwm-servo-driver?view=all#control-pins-2980405\" class=\"anchor-link\"\u003e\u003cspan class=\"fa fa-link\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003cspan id=\"control-pins-2980405\" class=\"anchor-link-target\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003ch4\u003eControl Pins\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eSCL\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e- I2C clock pin, connect to your microcontrollers I2C clock line. Can use 3V or 5V logic, and has a weak pullup to\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eVCC\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSDA\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003e- I2C data pin, connect to your microcontrollers I2C data line. Can use 3V or 5V logic, and has a weak pullup to\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eVCC\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOE\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e- Output enable. Can be used to quickly disable all outputs. When this pin is\u003cspan\u003e \u003c\/span\u003e\u003cem\u003elow\u003c\/em\u003e\u003cspan\u003e \u003c\/span\u003eall pins are\u003cspan\u003e \u003c\/span\u003e\u003cem\u003eenabled\u003c\/em\u003e. When the pin is\u003cspan\u003e \u003c\/span\u003e\u003cem\u003ehigh\u003c\/em\u003e\u003cspan\u003e \u003c\/span\u003ethe outputs are\u003cspan\u003e \u003c\/span\u003e\u003cem\u003edisabled\u003c\/em\u003e. Pulled low by default so it's an optional pin!\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"row-fluid text-element\"\u003e\n\u003cdiv class=\"anchor-anchor\"\u003e\n\u003ca href=\"https:\/\/learn.adafruit.com\/16-channel-pwm-servo-driver?view=all#output-ports-2980406\" class=\"anchor-link\"\u003e\u003cspan class=\"fa fa-link\"\u003e\u003c\/span\u003e\u003c\/a\u003e\u003cspan id=\"output-ports-2980406\" class=\"anchor-link-target\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003ch4\u003eOutput Ports\u003c\/h4\u003e\n\u003cp\u003eThere are 16 output ports. Each port has 3 pins: V+, GND and the PWM output. Each PWM runs completely independently\u003cspan\u003e \u003c\/span\u003e\u003cem\u003ebut\u003c\/em\u003e\u003cspan\u003e \u003c\/span\u003ethey must all have the same PWM frequency. That is, for LEDs you probably want 1.0 KHz but servos need 60 Hz - so you cannot use half for LEDs @ 1.0 KHz and half @ 60 Hz.\u003c\/p\u003e\n\u003cp\u003eThey're set up for servos but you can use them for LEDs! Max current per pin is 25mA.\u003c\/p\u003e\n\u003cp\u003eThere are 220 ohm resistors in series with all PWM Pins and the output logic is the same as\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eVCC \u003c\/strong\u003eso keep that in mind if using LEDs. \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"ty-product-feature\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cspan style=\"font-weight: bold;\" data-mce-style=\"font-weight: bold;\"\u003ePackage Included:\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1 x 16 Channel 12-bit PWM\/Servo Driver-I2C interface PCA9685 module\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eTutorial Project\u003c\/h3\u003e\n\u003cp\u003e\u003ca rel=\"noopener\" title=\"PCA9685 tutorial\" href=\"https:\/\/learn.adafruit.com\/16-channel-pwm-servo-driver?view=all\" target=\"_blank\"\u003e\u003cspan\u003eAdafruit PCA9685 16-Channel Servo Driver\u003c\/span\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218410303591,"sku":"B1104B","price":30.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/s-l1600-1-600x600.jpg?v=1708941670"},{"product_id":"lm2596-dc-dc-verstellbar-step-down-power-supply-module","title":"1B15  LM2596 DC-DC Verstellbar Step-Down Power Supply Module","description":"\u003ch3 data-mce-fragment=\"1\"\u003eDescription\u003c\/h3\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe LM2596 Step-Down Regulator Module is a versatile voltage regulation device designed to efficiently convert higher input voltages into lower, adjustable output voltages. It's widely used in various electronic applications and is capable of handling input voltages ranging from 4.5V to 40V. The module provides an adjustable output voltage in the range of 1.5V to 35V, offering flexibility for a wide range of projects.\u003c\/p\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eSpecifications\u003c\/h3\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eType: Step-Down Voltage Regulator Module\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eModel: LM2596\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eMaximum Output Current: 3A\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eInput Voltage Range: 4.5V to 40V DC\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOutput Voltage Range: 1.5V to 35V DC (Adjustable)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOutput Power: 15W maximum\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eAdjustable Output: Yes\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eEfficiency: Typically 92% (depends on input\/output voltage difference and load)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSwitching Frequency: Typically 150 kHz\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSize: 43mm x 21mm x 14mm L x W x H\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eProtection Features: Over-temperature, Over-current, Short Circuit Protection (Some models may have these features)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOutput Ripple: Typically 30mV (varies by model)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOperating Temperature Range: -40°C to +85°C (varies by model)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eConnection: Pads for Input and Output\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eCooling Method: Natural convection (no built-in fan)\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eMounting: Screw holes for secure attachment\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eConversion Type: Step-Down (Buck)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eFeatures\u003c\/h3\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eVoltage Regulation: This module is designed for step-down voltage regulation, which means it can reduce higher input voltages to lower, more usable levels with good efficiency.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eMaximum Output Current: It can deliver a maximum output current of 3A, making it suitable for powering various electronic components and circuits.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eInput Voltage Range: The LM2596 can accept input voltages ranging from 4.5V to 40V, allowing it to work with a variety of power sources, including batteries, DC power supplies, and solar panels.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eAdjustable Output: The output voltage is adjustable via the module's potentiometer, providing flexibility in meeting specific voltage requirements for your project.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eEfficiency: With a typical efficiency of 92%, this module helps reduce power losses during voltage conversion, which can be critical for power-sensitive applications.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSwitching Frequency: The module typically operates at a switching frequency of around 150 kHz.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eProtection Features: Some models of the LM2596 module may incorporate protection mechanisms such as over-temperature, over-current, and short-circuit protection to safeguard your circuit and components.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOutput Ripple: The module typically produces a low output ripple of around 30mV, ensuring a stable and clean power supply for sensitive electronics.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOperating Temperature Range: The operating temperature range may vary by model, but it is generally designed to operate in a wide range from -40°C to +85°C, making it suitable for both indoor and outdoor applications.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eConnection: The module features Pads for easy and secure connection to input and output power sources.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eCooling Method: Cooling is achieved through natural convection, and the module doesn't have a built-in fan.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eMounting: Screw holes are provided for secure attachment to your project or enclosure.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eThe LM2596 Step-Down Regulator Module is commonly used in various applications, including:\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003ePower Supply Design: Building adjustable voltage power supplies for electronics projects.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eBattery Charging: Regulating charging voltages for batteries.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSolar Power Systems: Adjusting solar panel output voltages for charging batteries or powering devices.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eLED Lighting: Controlling LED driver voltages for lighting applications.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eMotor Control: Adjusting motor drive voltages for precise control\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eHow to Use the LM2596 DC-DC Step Down Power Supply Module Buck Converter:\u003c\/h3\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eUsage Tip:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eAdjust the output voltage carefully, using the potentiometer, to meet your specific voltage needs.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eEnsure proper heat dissipation and cooling, especially when operating the module near its maximum current and voltage limits.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eWhen adjusting the output voltage, if attempting to match the input voltage, turn the potentiometer until the value changes. Note that the potentiometer can typically be turned around 20–40 times to cover its full range of adjustment.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eCaution:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eBe cautious when working with higher input voltages, and ensure the output voltage is within safe limits for your components.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eFollow safety precautions when handling and connecting power sources to the module to prevent electrical hazards.\u003c\/p\u003e\n\u003ch3\u003ePinout:\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0559\/1970\/6265\/files\/Untitleddesign_6_480x480.png?v=1666249652\" width=\"411\" height=\"235\" style=\"display: block; margin-left: auto; margin-right: auto;\" data-mce-style=\"display: block; margin-left: auto; margin-right: auto;\"\u003e\n\u003c\/h3\u003e\n\u003col\u003e\n\u003cli\u003eVin: This pin is used to connect the input voltage to the module. The input voltage range can be from 4.5V to 35V.\u003c\/li\u003e\n\u003cli\u003eGND: This pin is the ground or common connection for the module. It should be connected to the ground of the input voltage and the load.\u003c\/li\u003e\n\u003cli\u003eVout: This pin is used to connect the output voltage from the module. The output voltage can be adjusted from 1.3V to 30V, which is less than the input voltage.\u003c\/li\u003e\n\u003cli\u003eAdjust: This pin is connected to a potentiometer that can be used to adjust the output voltage.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch3 style=\"text-align: left;\" data-mce-style=\"text-align: left;\"\u003e\n\u003cstrong\u003e\u003c\/strong\u003eApplications:\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUsed for USB on the go.\u003c\/li\u003e\n\u003cli\u003eUsed for Point of load converters for PCs and laptops.\u003c\/li\u003e\n\u003cli\u003eUsed for Battery Chargers.\u003c\/li\u003e\n\u003cli\u003eUsed for Quad Copters.\u003c\/li\u003e\n\u003cli\u003eUsed for Power audio amplifiers.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218417086567,"sku":"B1114B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/HR0362_20LM2596_20DC-DC_20Verstellbar_20Step-Down_20Power_20Supply_20Module.png?v=1530921830"},{"product_id":"max485-module-rs-485-ttl-to-rs485-max485csa-converter-module","title":"2D9 MAX485 Module RS-485 TTL to RS485 MAX485CSA Converter Module","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eThe MAX485 TTL to RS-485 Interface Module allows MCUs to use the RS-485 differential signaling for robust long distance serial communications.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eRS-485 provides for robust serial communications over long distances of up to 1200 meters (4000′) or in electrically noisy environments and is commonly used in industrial environments.  It supports up to 2.5MBit\/Sec data rates, but as distance goes up, the maximum data rate that can be supported comes down.\u003c\/p\u003e\n\u003cp\u003eYou can think of RS-485 as RS232 on steroids.  The data starts out as typical TTL level serial as far as the microcontroller is concerned while the RS-485 module takes care of converting the electrical signals between TTL and the differential signaling used by RS-485.\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eFeatures of MAX485 TTL To RS-485 Interface Module\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse MAX485 Interface chip\u003c\/li\u003e\n\u003cli\u003eUses differential signaling for noise immunity\u003c\/li\u003e\n\u003cli\u003eDistances up to 1200 meters\u003c\/li\u003e\n\u003cli\u003eSpeeds up to 2.5Mbit\/Sec\u003c\/li\u003e\n\u003cli\u003eMulti-drop supports up to 32 devices on same bus\u003c\/li\u003e\n\u003cli\u003eRed power LED\u003c\/li\u003e\n\u003cli\u003e5V operation\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Included:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1 x MAX485 RS-485 TTL to RS485 MAX485CSA Converter Module For Arduino\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eMulti-Drop Support for Multiple Devices\u003c\/h3\u003e\n\u003cp\u003eA significant benefit of RS-485 is that it supports multiple devices (up to 32) on the same cable, commonly referred to as ‘multi-drop’.\u003c\/p\u003e\n\u003cp\u003eThis works by passing the bus through each device where it picks off the signal as it passes through as shown below.\u003c\/p\u003e\n\u003cp\u003eThese devices are typically setup in a Master \/ Slave configuration with one Master and one or more Slave devices.  Since they all share the same bus, to avoid conflict the Slave devices only talk when they are asked for something by the Master such as requesting a temperature reading.\u003c\/p\u003e\n\u003cp\u003e\u003cimg decoding=\"async\" class=\"size-full wp-image-5417 aligncenter entered lazyloaded\" src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop.jpg\" alt=\"MAX485 Multi-Drop Wiring\" width=\"673\" height=\"251\" data-lazy-srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop.jpg 673w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop-400x149.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop-350x131.jpg 350w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop-300x112.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop-280x104.jpg 280w\" data-lazy-sizes=\"(max-width: 673px) 100vw, 673px\" data-lazy-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop.jpg\" data-ll-status=\"loaded\" sizes=\"(max-width: 673px) 100vw, 673px\" srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop.jpg 673w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop-400x149.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop-350x131.jpg 350w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop-300x112.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop-280x104.jpg 280w\" data-mce-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Multi-Drop.jpg\"\u003e\u003c\/p\u003e\n\u003ch3\u003eDifferential Signaling\u003c\/h3\u003e\n\u003cp\u003eThe RS-485 uses differential signaling and requires only 2 wires and a common ground.\u003c\/p\u003e\n\u003cp\u003eDifferential signals operate by putting the signal on 1 wire and the inverse of the signal on the other wire.  This improves the signals noise immunity and the ability to recover the signal at the far end of the cable as noise tends to couple into both lines equally and therefore cancels out at the receiving end.\u003c\/p\u003e\n\u003ch3\u003eWiring RS-485\u003c\/h3\u003e\n\u003cp\u003eThese two differential data lines are labeled as A \u0026amp; B.  On the module, these are available on the screw terminal block as well as the two center pins on that end of the module.\u003c\/p\u003e\n\u003cp\u003eWhen connecting the modules together, the wiring is straight through, so A on one end should be connected to A on the other end and B connects to B.\u003c\/p\u003e\n\u003cp\u003eThe wires should ideally be twisted pair.  Using twisted pair becomes more important for longer runs or where there is a lot of electrical noise.  For simple breadboard testing or other short runs, it is not necessary.  A common ground is needed, but this can often be provided by the earth ground at each end for shorter runs.  Network cable is often used for connecting RS-485 as it provides twisted pair, plus it can provide a ground wire as well.\u003c\/p\u003e\n\u003ch3\u003ePull-up Resistors\u003c\/h3\u003e\n\u003cp\u003eThe module provides four 10K pull-up resistors on the data lines.\u003c\/p\u003e\n\u003cp\u003eThere are two 20K resistors on the A\/B differential lines.  These pull the lines to a known state when data is not being transmitted.\u003c\/p\u003e\n\u003cp\u003eFinally there is a single 120 ohm resistor (R7).  This resistor goes between the A\/B differential lines on each end of the cable to prevent reflections.  If using in a multi-drop configuration, the modules on the two ends of the line should keep these resistors.  Modules in the middle of the line should have these resistors removed to prevent loading the lines too heavily as shown in the pic above.  This requirement can often be ignored when the number of devices is small.\u003c\/p\u003e\n\u003ch3\u003eModule Connections\u003c\/h3\u003e\n\u003cp\u003eThe module has two 4-pin headers on the assembly.  The headers are spaced 1.6″ apart, so if using with solderless breadboards, it is necessary to bridge two different breadboards.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 4 Header (Data side)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eRO \u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e=  Receiver Output.  Connects to a serial RX pin on the microcontroller\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRE \u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e=  Receiver Enable.  Active LOW.  Connects to a digital output pin on a microcontroller. Drive LOW to enable receiver, HIGH to enable Driver\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDE \u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e=   Driver Enable.  Active  HIGH.  Typically jumpered to RE Pin.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDI  =\u003c\/strong\u003e   Driver Input.  Connects to serial TX pin on the microcontroller\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 4 Header (Output side)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eVCC\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e=  5V\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eB\u003c\/strong\u003e      =  Data ‘B’ Inverted Line. Common with the B\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eA      =\u003c\/strong\u003e  Data ‘A’ Non-Inverted Line.  Connects to A on far end module\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e=  Ground\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 2 Screw Terminal Block (Output side)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eB     \u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Data ‘B’ Inverted Line. Connects to B on far end module\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eA     \u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Data ‘A’ Non-Inverted Line.  Connects to A on far end module\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eEvaluation Results:\u003c\/h3\u003e\n\u003cp\u003eYou will need RS-485 on both ends, so typically you will need two of these modules to implement a basic link unless you are trying to interface with a device that already has RS-485 implemented.\u003c\/p\u003e\n\u003cp\u003eWhen working with these devices, keep in mind that they are basically just level translators.  From the microcontrollers perspective, the functionality is the same as if two RS232 serial ports are connected for communicating between the devices.  If there is difficulty in using the devices, they can often be temporarily removed from the setup to see if the issue is with the RS-485 or something more basic in the setup.  If they are removed from the setup, the RX\/TX lines between the microcontrollers need to be crossed i.e. TX1 to RX2 and RX1 to TX2.\u003c\/p\u003e\n\u003cp\u003eThe main tricky part when working with these devices is to ensure that the DE\/RE lines are held in the correct state as the data is moved back and forth between the Master and Slave devices.  This timing can be affected by the data rates being used.  If you are getting garbage transmitted, this is usually the first place to look.\u003ca href=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup.jpg\" data-mce-href=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup.jpg\" previewlistener=\"true\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup.jpg\" data-mce-href=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup.jpg\" previewlistener=\"true\"\u003e\u003cimg decoding=\"async\" class=\"alignright wp-image-4911 size-medium entered lazyloaded\" src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-300x225.jpg\" alt=\"MAX485 Module Test Setup\" width=\"300\" height=\"225\" data-lazy-srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-300x225.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-400x300.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup.jpg 800w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-768x576.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-249x187.jpg 249w\" data-lazy-sizes=\"(max-width: 300px) 100vw, 300px\" data-lazy-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-300x225.jpg\" data-ll-status=\"loaded\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-300x225.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-400x300.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup.jpg 800w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-768x576.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-249x187.jpg 249w\" data-mce-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-Module-Test-Setup-300x225.jpg\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eThe programs below create both a Master device and a Slave device.  For this setup, you will need two Arduinos of any type (or other microcontrollers) and two of the RS-485 modules.  You will download the Master software to one device and the Slave software to the second device.  The programs use the SoftSerial library for communication in order to leave the hardware serial port available for monitoring the data on the Serial Monitor windows of the two Arduinos.  If you are using a version of board that has multiple hardware serial ports, you can use one of those instead if you prefer but it is recommend to get the setup up and running as shown first, then start making mods.\u003c\/p\u003e\n\u003cp\u003eBoth devices use the same pins for their soft serial port.  Connect as follows from Arduino to RS-485 module on both devices\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003ePin 10 (RX) connects to RO\u003c\/li\u003e\n\u003cli\u003ePin 11 (TX) connects to DI\u003c\/li\u003e\n\u003cli\u003ePin 3 (CTRL) connects to RE and DE.\u003c\/li\u003e\n\u003cli\u003e5V connects to VCC\u003c\/li\u003e\n\u003cli\u003eGnd connects to Gnd\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eConnect data lines A to A and B to B between RS-485 modules.  You can use either the terminal block or the header pins to make these connections.\u003c\/p\u003e\n\u003cp\u003eThe Master device allows you to type any character in the top portion of the Serial Monitor window and once you press enter, it will send that character to the Slave device.  \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-%E2%80%93-software.jpg\" data-mce-href=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-%E2%80%93-software.jpg\" previewlistener=\"true\"\u003e\u003cimg decoding=\"async\" class=\"alignright wp-image-4914 size-medium entered lazyloaded\" src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-%E2%80%93-software-300x225.jpg\" alt=\"MAX485 TTL to RS-485 Interface Module – software\" width=\"375\" height=\"281\" data-lazy-srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software-300x225.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software-400x300.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software.jpg 800w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software-768x576.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software-249x187.jpg 249w\" data-lazy-sizes=\"(max-width: 300px) 100vw, 300px\" data-lazy-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software-300x225.jpg\" data-ll-status=\"loaded\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software-300x225.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software-400x300.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software.jpg 800w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software-768x576.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-–-software-249x187.jpg 249w\" data-mce-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/05\/MAX485-TTL-to-RS-485-Interface-Module-%E2%80%93-software-300x225.jpg\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eWhen the Slave receives the character, it will send what it received out to its own Serial Monitor window as well as echo it back to the Master device.  Once the Master device receives the character back from the Slave, it will print it out to its own Serial Monitor window.  Basically, if you type an ‘a’ and hit ENTER in the top window of the Master device and you see an ‘a’ appear in the bottom window, the command has made a full round trip.\u003c\/p\u003e\n\u003cp\u003eNote that if you want to use the Serial Monitor Window on both the Master and Slave device at the same time, or program both Arduinos without moving USB cables around and resetting COM ports and Arduino types,  you will need to create two instances of the Arduino IDE.\u003c\/p\u003e\n\u003cp\u003eTo do that, you just need to open the IDE from the Start menu (or where ever you typically open it) twice.  You cannot just open a 2nd window from an existing IDE.   Once you have two separate IDEs running, open the Master software in one and the Slave software in the 2nd.  Configure both for the COM port and the Arduino type you are using with each window.  You will of course also need two USB cables to connect both Arduinos up to your PC at the same time.\u003c\/p\u003e\n\u003ch3\u003eMaster RS-485 Device Software\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n#include \u0026lt;SoftwareSerial.h\u0026gt;\nconst int SSERIAL_RX_PIN = 10;  \/\/Soft Serial Receive pin\nconst int SSERIAL_TX_PIN = 11;  \/\/Soft Serial Transmit pin\nconst int SSERIAL_CTRL_PIN= 3;   \/\/RS485 Direction control\nconst int LED_PIN = 13;\nconst int RS485_TRANSMIT = HIGH;\nconst int RS485_RECEIVE = LOW;\n\n\/\/ Create Soft Serial Port object and define pins to use\nSoftwareSerial RS485Serial(SSERIAL_RX_PIN, SSERIAL_TX_PIN); \/\/ RX, TX\n\nint byteReceived;\n\/\/===============================================================================\n\/\/  Initialization\n\/\/===============================================================================\nvoid setup()\n{\n  Serial.begin(9600);           \/\/ Start the built-in serial port\n  Serial.println(\"Master Device\");\n  Serial.println(\"Type in upper window, press ENTER\");\n  \n  pinMode(LED_PIN, OUTPUT);     \/\/ Configure any output pins\n  pinMode(SSERIAL_CTRL_PIN, OUTPUT);    \n  \n  digitalWrite(SSERIAL_CTRL_PIN, RS485_RECEIVE);  \/\/ Put RS485 in receive mode  \n  \n  RS485Serial.begin(9600);   \/\/ Start the RS485 soft serial port \n}\n\/\/===============================================================================\n\/\/  Main\n\/\/===============================================================================\nvoid loop() \n{\n  if (Serial.available())         \/\/ A char(byte) has been entered in the Serial Monitor\n  {\n    byteReceived = Serial.read();                   \/\/ Read the byte\n    digitalWrite(SSERIAL_CTRL_PIN, RS485_TRANSMIT);  \/\/ Put RS485 in Transmit mode   \n    RS485Serial.write(byteReceived);                 \/\/ Send byte to Remote Arduino\n    delay(1);                                        \/\/ Wait before going back to Receive mode\n    digitalWrite(SSERIAL_CTRL_PIN, RS485_RECEIVE);   \/\/ Put RS485 back into Receive mode    \n  }\n  \n  if (RS485Serial.available())            \/\/Data from the Slave is available\n   {\n    digitalWrite(LED_PIN, HIGH);          \/\/ Show activity on LED\n    byteReceived = RS485Serial.read();    \/\/ Read received byte\n    Serial.write(byteReceived);           \/\/ Show on Serial Monitor\n    delay(10);\n    digitalWrite(LED_PIN, LOW);           \/\/ Turn LED back off\n   }  \n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003ch3\u003eSlave RS-485 Device Software\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n#include \u0026lt;SoftwareSerial.h\u0026gt;\n\nconst int SSERIAL_RX_PIN = 10;  \/\/Soft Serial Receive pin\nconst int SSERIAL_TX_PIN = 11;  \/\/Soft Serial Transmit pin\nconst int SSERIAL_CTRL_PIN = 3;   \/\/RS485 Direction control\nconst int LED_PIN = 13;\nconst int RS485_TRANSMIT = HIGH;\nconst int RS485_RECEIVE = LOW;\n\n\/\/ Create Soft Serial Port object and define pins to use\nSoftwareSerial RS485Serial(SSERIAL_RX_PIN, SSERIAL_TX_PIN);\n\nint byteReceived;\nint byteSent;\n\/\/===============================================================================\n\/\/  Initialization\n\/\/===============================================================================\nvoid setup() \n{\n  Serial.begin(9600);         \/\/ Start the built-in hardware serial port\n  Serial.println(\"Slave Device\");  \n  \n  pinMode(LED_PIN, OUTPUT);   \/\/ Configure any output pins\n  pinMode(SSERIAL_CTRL_PIN, OUTPUT);  \n  \n  digitalWrite(SSERIAL_CTRL_PIN, RS485_RECEIVE);  \/\/ Put RS485 in receive mode\n  \n  RS485Serial.begin(9600);   \/\/ Start the RS485 soft serial port \n}\n\/\/===============================================================================\n\/\/  Main\n\/\/===============================================================================\nvoid loop() \n{\n  \/\/ Watch for data coming in on the soft serial port.  If found, send a copy to the \n  \/\/ hardware port to display on the local serial terminal and also echo a copy back out \n  \/\/ the soft serial port to the Master device  \n  if (RS485Serial.available())        \/\/ If data has come in from Master\n  {\n    byteSent = RS485Serial.read();    \/\/ Read the byte \n    Serial.write(byteSent);           \/\/ Show on local Serial Monitor window\n    digitalWrite(LED_PIN, HIGH);      \/\/ Show activity on LED\n    delay(10);              \n     \n    digitalWrite(SSERIAL_CTRL_PIN, RS485_TRANSMIT);  \/\/ Put RS485 in Transmit mode    \n    RS485Serial.write(byteSent);                     \/\/ Send the byte back to Master\n    delay(1);                                        \/\/ Wait before going back to Receive mode\n    digitalWrite(SSERIAL_CTRL_PIN, RS485_RECEIVE);   \/\/ Put RS485 back into Receive mode \n    digitalWrite(LED_PIN, LOW);                      \/\/ Turn LED back off\n  }  \n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003e\u003cem\u003eNotes: \u003c\/em\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ci\u003eNote that due to the length of the module, if using with a breadboard,  you will need to span two sections of the breadboard.\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cem\u003eFor a simpler to use and more capable solution with auto direction control, check out the SCM TTL to RS-485 Interface Module below\u003c\/em\u003e\u003c\/li\u003e\n\u003c\/ol\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12218418135143,"sku":"B1115B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/HR0214_206_2086083_20MAX485_20Module_20RS-485_20TTL_20to_20RS485_20MAX485CSA_20Converter_20Module_20.png?v=1530921838"},{"product_id":"max3232-rs232-to-ttl-serial-port-converter-module-db9-connector-max232","title":"4B2 MAX3232 RS232 to TTL Serial Port Converter Module DB9 Connector MAX232","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThis RS232 to TTL Serial Interface Module is a board with the MAX3232 transceiver integrated circuit (IC). It facilitates serial communication between TTL and RS232 ports by providing the necessary electrical signal conversion.\u003c\/p\u003e\n\u003cp\u003eThese boards usually have a DB9 connector soldered at one end, and four header pins with jumper cables at the other end. The jumper cables enable the user to connect the wires to a breadboard or a microcontroller project board, whilst the DB9 connects directly to a COM port of a computer.\u003c\/p\u003e\n\u003cp\u003eThe MAX3232CSE+ IC, which comes in a 16 pin narrow SO package. It requires between 3.0 V to 5.5 V to operate and has two receivers and two transmitters. It has a maximum guaranteed data rate of 120 kbps, and the circuitry requires four 0.1µF charge-pump support capacitors. It is also compatible with the famous MAX3232 IC pins. These boards connect to systems with a UART  hence, they work with ATMEL and PIC microcontrollers.\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003eMAX3232 RS232 Serial Port To TTL Converter Module DB9 Connector 5V RS232 to TTL + Female Serial TTL + serial modules \/ Brush board. This module can be used to the serial port of microcontroller module expand DVD, router, hard drive and other equipment to upgrade.\u003c\/em\u003e\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/drive.google.com\/file\/d\/1EjhgJdEiewd1EI3ISbatbYFIc2XLXrp6\/view\" target=\"_blank\" title=\"MAX3232 to TTL datasheet\" rel=\"noopener\"\u003e\u003cstrong\u003eDatasheet\u003c\/strong\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/h3\u003e\n\u003col\u003e\n\u003cli\u003eIt is widely used in radio modification, phone flash, XBOX360 flash, GPS, vehicle detection, DVD flash, hard disk repair set-top box upgrade.\u003c\/li\u003e\n\u003cli\u003e It can be used to program STC MCU, NXP MCU, Renesas MCU, STM32 MCU, N+-2EC MCU\u003c\/li\u003e\n\u003cli\u003ePre-assembled compact size board\u003c\/li\u003e\n\u003cli\u003eSuitable for use with most microcontrollers\u003c\/li\u003e\n\u003cli\u003eOperates up to 250 kbit\/s\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Includes:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1 x RS232 to TTL Serial Interface Module\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003ePinout\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli class=\"page_speed_207325569\"\u003eVCC – Supply voltage in the range from 3.0 V to 5.5 V.\u003c\/li\u003e\n\u003cli class=\"page_speed_207325569\"\u003eGND – System weight.\u003c\/li\u003e\n\u003cli class=\"page_speed_207325569\"\u003eRX – UART interface input line, readout.\u003c\/li\u003e\n\u003cli class=\"page_speed_207325569\"\u003eTX – UART interface output line, sending.\u003c\/li\u003e\n\u003cli class=\"page_speed_207325569\"\u003eCTS – hardware flow control – signals the readiness of data to be sent.\u003c\/li\u003e\n\u003cli class=\"page_speed_207325569\"\u003eRTS – hardware flow control – query for the possibility of sending data.\u003c\/li\u003e\n\u003cli class=\"page_speed_207325569\"\u003eRS232 connector – DB9 socket\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12486670090343,"sku":"B1138B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/HR0214_60_MAX3232_RS232_to_TTL_Serial_Port_Converter_Module_DB9_Connector_MAX232.png?v=1534259179"},{"product_id":"dc-dc-9v-12v-24v-to-5v-usb-step-down-power-module-2a-precise-vehicle-charger","title":"5A9  Dual USB Charger DC 12V To 5V 3A Power Adapter Supply usb charger step down motorcycle Wholesale Motorcycle accessory","description":"\u003ch3 align=\"left\"\u003e\u003cspan\u003e\u003cstrong\u003eDescription\u003c\/strong\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003cp\u003eThe Dual USB Charger DC 12V to 5V 3A Power Adapter Supply is a convenient and practical motorcycle accessory designed to convert the 12V DC power from a motorcycle's power socket into two 5V USB power outputs. This enables riders to charge their electronic devices such as smartphones, GPS units, or other USB-powered devices while on the go.\u003cbr\u003e\u003cbr\u003eThe charger is capable of delivering a total output of 3A, providing ample power for efficient charging of multiple devices simultaneously. Its dual USB ports allow for versatile connectivity, making it suitable for a wide range of devices.\u003cbr\u003e\u003cbr\u003eThis motorcycle accessory is designed with the necessary safety features to protect connected devices from overcharging, over-current, and short circuits, ensuring the safe and reliable charging of electronic devices while riding.\u003cbr\u003e\u003cbr\u003eOverall, the Dual USB Charger DC 12V to 5V 3A Power Adapter Supply is a valuable accessory for motorcyclists, offering the convenience of charging electronic devices during travel while ensuring both safety and functionality.\u003c\/p\u003e\n\u003ch3 align=\"left\"\u003e\u003cspan\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/span\u003e\u003c\/h3\u003e\n\u003cdiv align=\"left\"\u003e\n\u003cdiv\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eInput: 12V DC\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eOutput: 5V DC\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eMax AMP: 3A\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eWeight: 60g\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eOutput power:15W\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eAll epoxy sealed containers with Waterproof Housing\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eInput Voltage must Higher 3V than Output Voltage\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eLight compact, convenient to use and transport.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eSuitable for most of samrt phones,Like iphone samsung sony htc LG and so on.\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eDimension: 41*21*18mm\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan style=\"font-size: 0.875rem;\"\u003eEasy and Convenient to use\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cp align=\"left\"\u003e\u003cspan\u003e\u003cstrong\u003ePackage Includes\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp align=\"left\"\u003e\u003cspan\u003e1 x 12V to 5V dual USB charger \u003c\/span\u003e\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":12641966260327,"sku":"B1142B","price":35.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/HTB1Z20kLpXXXXbqXXXXq6xXFXXXj.jpg?v=1536493905"},{"product_id":"eachine-1000tvl-1-3-lakeside-110-degree-lens-2-8-millimeters-wide-voltage-5-20-volt-mini-vpf-camera-pal-ntsc-switchable-spread-on-eachine-1000tvl-1-3-lakeside-110-degree-lens-2-8-millimeters-wide-voltage-5-20-volt-mini-vpf-camera-pal-ntsc-switchable","title":"Eachine 1000TVL 1\/3 Lakeside 110 degree lens 2.8 millimeters wide voltage 5-20 volt Mini Vpf Camera PAL NTSC switchable","description":"\u003cstrong\u003e\u003cspan\u003e\u003cspan\u003ecustomizable:\u003c\/span\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003ebrand name tag: Eachine\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003eItem Name: Eachine 1000TVL 1\/3 Lakeside 110 degree 2.8 mm Mini Lens Vpf camera\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003e\u003cspan\u003einput voltage: 5-20V\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003ePower consumption: 105mA-27mA\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003eLux: 0.08Lux \/ F1. 2\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003esensor: 1\/3 \"CSD\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003eformat: NTSC \/ pAL (\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan\u003e\u003cspan\u003efree switch\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cspan\u003e\u003cspan\u003e\u003cspan\u003e \u003c\/span\u003e)\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003eresolution: Ultra high definition 1000TVL\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003epAL: 976H X 582V\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003eNTSC: 976H X 494V\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003elens: 2.8mm IR coated\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e\u003cspan\u003eFOV: 110 °\u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eOperating temperature: 0 to 40 degrees Celsius\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eCamera Size: 28 * 24.5 * 17.5mm\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eLin Size: 17 mm * 14 mm\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eScrew Lens: M12\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003eNet Weight: 10.4g (not included in the\u003cspan\u003e \u003c\/span\u003ecable box)\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003e\u003cspan\u003eFeatures:\u003c\/span\u003e\u003c\/strong\u003e\u003cbr\u003e\u003cspan\u003e- with 1\/3 ' 'Lakeside sensor\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e- with the\u003cspan\u003e \u003c\/span\u003elens cover, well protect the\u003cspan\u003e \u003c\/span\u003elens\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e-With function LAUDER in default\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e- without usd\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003esuper lightweight, ultra -\u003cspan\u003e \u003c\/span\u003elow power consumption, suitable for Arsi Molticopetr\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003e\u003cspan\u003ePackage included:\u003c\/span\u003e\u003c\/strong\u003e\u003cbr\u003e\u003cspan\u003e1x1000TVL the\u003cspan\u003e \u003c\/span\u003eFPV the\u003cspan\u003e \u003c\/span\u003eCamera\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e1x cable\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e\u003cbr\u003e\u003cspan\u003e1x lens cover\u003cspan\u003e \u003c\/span\u003e\u003c\/span\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":20569792938087,"sku":"B1171B","price":150.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/Untitled10.jpg?v=1555916516"},{"product_id":"capacitive-soil-moisture-sensor-not-easy-to-corrode-wide-voltage-module","title":"2B30  Capacitive Soil Moisture Sensor Not Easy To Corrode Wide Voltage Module","description":"\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eDescription:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe soil moisture sensor is used to measure the amount of moisture in the soil. The moisture content of the soil may be used to calculate the amount of water in it. The sensor uses capacitive sensing rather than resistive sensing, like other types of moisture sensors, to sense soil moisture levels. Because it is composed of a corrosion-resistant substance, it can prevent corrosion and has a long service life. The device also contains an onboard voltage regulator, allowing it to operate between 3.3 and 5.5 volts. It works with low-voltage MCUs (both 3.3V and 5V logic). An ADC converter is required to make it compatible with a Raspberry Pi.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Includes:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e1 x Capacitive Soil Moisture Sensor\u003c\/li\u003e\n\u003cli\u003e1 x Connection Cable\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cdiv\u003eThis analog capacitive soil moisture sensor measures soil moisture levels by capacitive sensing.\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003erather than resistive sensing like other types of moisture sensor\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003eIt is made of a corrosion-resistant material, giving it a long service life\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003eInsert it into the soil and impress your friends with the real-time soil moisture data\u003c\/div\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cdiv\u003eThis module includes an on-board voltage regulator, which gives it an operating voltage range of 3.3 ~ 5.5V\u003c\/div\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 id=\"capacitive-soil-moisture-sensor-pinout\"\u003eCapacitive Soil Moisture Sensor Pinout\u003c\/h3\u003e\n\u003cp\u003eThe capacitive soil moisture sensor features a 3-pin JST PH2.0-type connector. One end of the provided cable plugs into this connector, while the other end is a standard Dupont-style 3-pin female connector. The cable is color-coded so you can easily identify which wire is which: black represents ground, red represents VCC, and yellow represents AOUT.\u003c\/p\u003e\n\u003cp\u003e \u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_3_480x480.png?v=1707400865\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_3_480x480.png?v=1707400865\" data-mce-fragment=\"1\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-red\"\u003eVCC\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the power supply pin. It is recommended that the sensor be powered from 3.3V to 5V. Please keep in mind that the analog output will vary depending on the voltage supplied to the sensor.\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"pinout pinout-black\"\u003eGND\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eis the ground pin.\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eThe AOUT \u003c\/span\u003epin gives an analog voltage output that is proportional to the amount of moisture in the soil. The output can be read using an analog input on your microcontroller. As the moisture level increases, the output voltage decreases, and vice versa.\u003c\/p\u003e\n\u003ch3 id=\"wiring-a-capacitive-soil-moisture-sensor-to-an-arduino\"\u003eWiring a Capacitive Soil Moisture Sensor to an Arduino\u003c\/h3\u003e\n\u003cp\u003eConnecting a capacitive soil moisture sensor to an Arduino is a breeze. You only need to connect three wires.\u003c\/p\u003e\n\u003cp\u003eStart by connecting the sensor’s red wire (VCC) to the power supply; 3.3V–5V is fine. Use the same voltage that your microcontroller logic is based on. For most Arduinos, that is 5V. For 3.3V logic devices, use 3.3V. Now connect the black wire (GND) to ground.\u003c\/p\u003e\n\u003cp\u003eFinally, connect the yellow wire (AOUT) to one of the analog input pins on your Arduino. In our case, it is connected to the A0 pin.\u003c\/p\u003e\n\u003cp\u003eThe following table lists the pin connections:\u003c\/p\u003e\n\u003cdiv class=\"tablescroll\"\u003e\n\u003ctable class=\"tabler connections\"\u003e\n\u003ctbody\u003e\n\u003ctr class=\"tabler-header\"\u003e\n\u003ctd\u003eSoil Moisture Sensor\u003c\/td\u003e\n\u003ctd\u003e\u003c\/td\u003e\n\u003ctd\u003eArduino\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVCC\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-red\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003e5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-black\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAOUT\u003c\/td\u003e\n\u003ctd\u003e\u003cspan class=\"wire\"\u003e\u003cspan class=\"wire-yellow\"\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003ctd\u003eA0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003eThe wiring is shown in the image below.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/shopifypics_4_480x480.png?v=1707401206\" alt=\"\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3 id=\"finding-the-threshold-values\"\u003eFinding the Threshold Values\u003c\/h3\u003e\n\u003cp\u003eIt is not possible to determine the actual percentage of moisture in the soil directly from the measurements taken. However, it is relatively easy to define basic ranges for what is considered “too dry,” “too wet,” and “just right.”\u003c\/p\u003e\n\u003cp\u003eSimply run the sketch below and record your sensor output under three basic conditions:\u003c\/p\u003e\n\u003cul\u003e\n\u003cul\u003e\n\u003cli\u003eWhen the soil is dry enough that the plant needs watering.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/ul\u003e\n\u003cspan data-inserter-version=\"2\" id=\"ezoic-pub-ad-placeholder-121\"\u003e\u003c\/span\u003e\n\u003cul\u003e\n\u003cli\u003eWhen the soil has been watered to its ideal moisture level for the plant.\u003c\/li\u003e\n\u003cli\u003eWhen the soil has been heavily watered and is too wet, which is not ideal for the plant.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n  \/\/ Define analog input\n#define sensorPin A0\n\nvoid setup() {\n  \/\/ Setup Serial Monitor\n  Serial.begin(9600);\n}\n\nvoid loop() {\n  \/\/ Read the Analog Input\n  int value = analogRead(sensorPin);\n  \n  \/\/ Print the value to the serial monitor\n  Serial.print(\"Analog output: \");\n  Serial.println(value);\n  \n  \/\/ Wait for 1 second before the next reading\n  delay(1000);\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eUpon running the sketch, you should expect readings similar to the ones listed below:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eIn open air: approximately 590\u003c\/li\u003e\n\u003cli\u003eDry soil that needs watering: approximately 380\u003c\/li\u003e\n\u003cli\u003eIdeal soil moisture: between 277 and 380\u003c\/li\u003e\n\u003cli\u003eSoil that has just been watered: approximately 277\u003c\/li\u003e\n\u003cli\u003eIn cup of water: approximately 273\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003eThis test may require some trial and error. Once you have the readings, you can use them as a threshold to trigger an action.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3 id=\"arduino-example-code\"\u003eArduino Example Code\u003c\/h3\u003e\n\u003cp\u003eThe sketch below estimates the level of soil moisture using the following threshold values:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u0026lt; 277 is too wet\u003c\/li\u003e\n\u003cli\u003e277 – 380 is the target range\u003c\/li\u003e\n\u003cli\u003e\u0026gt; 380 is too dry\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n\/* Change these values based on your observations *\/\n#define wetSoil 277   \/\/ Define max value we consider soil 'wet'\n#define drySoil 380   \/\/ Define min value we consider soil 'dry'\n\n\/\/ Define analog input\n#define sensorPin A0\n\nvoid setup() {  \n  Serial.begin(9600);\n}\n\nvoid loop() {\n  \/\/ Read the Analog Input and print it\n  int moisture = analogRead(sensorPin);\n  Serial.print(\"Analog output: \");\n  Serial.println(moisture);\n  \n  \/\/ Determine status of our soil\n  if (moisture \u0026lt; wetSoil) {\n    Serial.println(\"Status: Soil is too wet\");\n  } else if (moisture \u0026gt;= wetSoil \u0026amp;\u0026amp; moisture \u0026lt; drySoil) {\n    Serial.println(\"Status: Soil moisture is perfect\");\n  } else {\n    Serial.println(\"Status: Soil is too dry - time to water!\");\n  }\n  Serial.println();\n  \n  \/\/ Take a reading every second\n  delay(1000);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eIf everything is fine, you should see similar output on the serial monitor.\u003c\/p\u003e\n\u003cdiv class=\"wp-block-image\"\u003e\n\u003cfigure class=\"aligncenter\"\u003e\u003cimg height=\"456\" width=\"617\" alt=\"capacitive soil moisture sensor output\" src=\"https:\/\/lastminuteengineers.com\/wp-content\/uploads\/arduino\/Capacitive-Soil-Moisture-Sensor-Output.png\" decoding=\"async\" loading=\"lazy\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":29283837902951,"sku":"B1179B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/HS1136_1.png?v=1561809781"},{"product_id":"high-quality-microphone-sensor-avr-pic-high-sensitivity-sound-detection-module","title":"1C13 KY-037 Microphone sensor module (high sensitivity)","description":"\u003ch3\u003eDescription:\u003c\/h3\u003e\n\u003cdiv class=\"text_body\"\u003eThis module is ideally suited for adding sound control to your project. This is a sound detection module that can detect noise and produce an analog output that can be used to trigger a switch-like response. This allows you to replace those mechanical switches that have been holding back your project all this time with something a little noisier or begin a long-term sound level monitoring system.\u003c\/div\u003e\n\u003cdiv class=\"text_body\"\u003eAn onboard potentiometer allows you to tailor the sensitivity or trigger level to account for a project's background noise.\u003c\/div\u003e\n\u003cdiv class=\"text_body\"\u003eAs a simple module, it will suit use within a large range of projects based on microcontrollers, such as Arduino boards and the Raspberry Pi. The module has a M3 mounting hole, allowing for easy attachment to a multitude of surfaces.\u003c\/div\u003e\n\u003cdiv class=\"text_body\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"text_body\"\u003e\n\u003cstrong\u003eDocumentation: \u003c\/strong\u003e\u003ca href=\"https:\/\/roboeq.ir\/files\/id\/3882\/name\/KY-037.pdf\/\" title=\"KY-037 datasheet\" target=\"_blank\"\u003eKY-037 datasheet\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"text_body\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"text_body\"\u003ePinout: \u003c\/h3\u003e\n\u003cp\u003eThis module has 4 pins; 2 of them are for power supply.\u003c\/p\u003e\n\u003cp\u003ePin 1: The analog output. It’s value changes according to the intensity of the received sound. It can be connected to the Arduino analog (ADC) pins.\u003c\/p\u003e\n\u003cp\u003ePin 4: The digital output. It a\u003cspan\u003ects as a key, and it \u003c\/span\u003e\u003cspan\u003eactivates when sound intensity has reached a certain threshold. The sensitivity threshold can be adjusted using the potentiometer on the sensor\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eYou can see the pinout of this module in the following image.\u003c\/p\u003e\n\u003cp\u003e\u003cimg height=\"396\" width=\"554\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/Untitleddesign_18_480x480.png?v=1707136419\"\u003e\u003c\/p\u003e\n\u003ch3\u003eRequired Materials:\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eArduino UNO R3\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eKY-037\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003emale-female-jumper-wire\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003e\u003cspan\u003eWiring:\u003c\/span\u003e\u003c\/h3\u003e\n\u003cdiv data-widget_type=\"text-editor.default\" data-element_type=\"widget\" data-id=\"6be1606f\" class=\"elementor-element elementor-element-6be1606f elementor-widget elementor-widget-text-editor\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cp\u003eConnect the wires according to the following circuit: This circuit is for analog mode.\u003c\/p\u003e\n\u003cp\u003e\u003cimg height=\"397\" width=\"556\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/Untitleddesign_19_480x480.png?v=1707136846\"\u003e\u003c\/p\u003e\n\u003ch3\u003eCoding:\u003c\/h3\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ch3\u003e\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\nvoid setup() {\n  \/\/ initialize serial communication at 9600 bits per second:\n  Serial.begin(9600);\n}\n\n\/\/ the loop routine runs over and over again forever:\nvoid loop() {\n  \/\/ read the input on analog pin 0:\n  int sensorValue = analogRead(A0);\n  \/\/ print out the value you read:\n  Serial.println(sensorValue);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003cdiv class=\"elementor-element elementor-element-c9fa707 elementor-widget elementor-widget-text-editor\" data-id=\"c9fa707\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cp\u003eThen press\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eCtrl + Shift + L\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eto open the\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eSerial Plotter\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003escreen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-ee3dd6d elementor-widget elementor-widget-image\" data-id=\"ee3dd6d\" data-element_type=\"widget\" data-widget_type=\"image.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-image\"\u003e\u003ca href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"mic-serial\" previewlistener=\"true\"\u003e\u003cimg width=\"767\" height=\"576\" src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial.jpg\" class=\"attachment-large size-large lazyloaded\" alt=\"\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial.jpg 800w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial-533x400.jpg 533w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial-400x300.jpg 400w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial-768x576.jpg 768w\" data-ll-status=\"loaded\"\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":30211454697575,"sku":"B1187B","price":30.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/sound_detection_red.jpg?v=1569144000"},{"product_id":"sound-detector-module-small","title":"1b17 sound detector Module (small)","description":"\u003ch3 data-mce-fragment=\"1\"\u003eDescription:\u003c\/h3\u003e\n\u003cdiv class=\"text_body\" data-mce-fragment=\"1\"\u003eThis module is ideally suited for adding sound control to your project. This is a sound detection module that can detect noise and produce an analog output that can be used to trigger a switch-like response. This allows you to replace those mechanical switches that have been holding back your project all this time with something a little noisier or begin a long-term sound level monitoring system.\u003c\/div\u003e\n\u003cdiv class=\"text_body\" data-mce-fragment=\"1\"\u003eAn onboard potentiometer allows you to tailor the sensitivity or trigger level to account for a project's background noise.\u003c\/div\u003e\n\u003cdiv class=\"text_body\" data-mce-fragment=\"1\"\u003eAs a simple module, it will suit use within a large range of projects based on microcontrollers, such as Arduino boards and the Raspberry Pi. The module has a M3 mounting hole, allowing for easy attachment to a multitude of surfaces.\u003c\/div\u003e\n\u003cdiv class=\"text_body\" data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"text_body\" data-mce-fragment=\"1\"\u003e\n\u003cstrong data-mce-fragment=\"1\"\u003eDocumentation: \u003c\/strong\u003e\u003ca href=\"https:\/\/roboeq.ir\/files\/id\/3882\/name\/KY-037.pdf\/\" title=\"KY-037 datasheet\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/roboeq.ir\/files\/id\/3882\/name\/KY-037.pdf\/\" target=\"_blank\"\u003eKY-037 datasheet\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"text_body\" data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"text_body\" data-mce-fragment=\"1\"\u003ePinout: \u003c\/h3\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThis module has 4 pins; 2 of them are for power supply.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003ePin 1: The analog output. It’s value changes according to the intensity of the received sound. It can be connected to the Arduino analog (ADC) pins.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003ePin 4: The digital output. It a\u003cspan data-mce-fragment=\"1\"\u003ects as a key, and it \u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003eactivates when sound intensity has reached a certain threshold. The sensitivity threshold can be adjusted using the potentiometer on the sensor\u003c\/span\u003e\u003cspan data-mce-fragment=\"1\"\u003e.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eYou can see the pinout of this module in the following image.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cimg height=\"396\" width=\"554\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/Untitleddesign_18_480x480.png?v=1707136419\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/Untitleddesign_18_480x480.png?v=1707136419\"\u003e\u003c\/p\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eRequired Materials:\u003c\/h3\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eArduino UNO R3\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eKY-037\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003emale-female-jumper-wire\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\u003cspan data-mce-fragment=\"1\"\u003eWiring:\u003c\/span\u003e\u003c\/h3\u003e\n\u003cdiv data-widget_type=\"text-editor.default\" data-element_type=\"widget\" data-id=\"6be1606f\" class=\"elementor-element elementor-element-6be1606f elementor-widget elementor-widget-text-editor\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"elementor-widget-container\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\" data-mce-fragment=\"1\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eConnect the wires according to the following circuit: This circuit is for analog mode.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cimg height=\"397\" width=\"556\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/Untitleddesign_19_480x480.png?v=1707136846\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/Untitleddesign_19_480x480.png?v=1707136846\"\u003e\u003c\/p\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eCoding:\u003c\/h3\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\u003cbr data-mce-fragment=\"1\"\u003e\u003c\/h3\u003e\n\u003cpre data-mce-fragment=\"1\"\u003e\u003ccode class=\"language-c\" data-mce-fragment=\"1\"\u003e\nvoid setup() {\n  \/\/ initialize serial communication at 9600 bits per second:\n  Serial.begin(9600);\n}\n\n\/\/ the loop routine runs over and over again forever:\nvoid loop() {\n  \/\/ read the input on analog pin 0:\n  int sensorValue = analogRead(A0);\n  \/\/ print out the value you read:\n  Serial.println(sensorValue);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003cdiv class=\"elementor-element elementor-element-c9fa707 elementor-widget elementor-widget-text-editor\" data-id=\"c9fa707\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"elementor-widget-container\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\" data-mce-fragment=\"1\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThen press\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003eCtrl + Shift + L\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003eto open the\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003e\u003cstrong data-mce-fragment=\"1\"\u003eSerial Plotter\u003c\/strong\u003e\u003cspan data-mce-fragment=\"1\"\u003e \u003c\/span\u003escreen.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-ee3dd6d elementor-widget elementor-widget-image\" data-id=\"ee3dd6d\" data-element_type=\"widget\" data-widget_type=\"image.default\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"elementor-widget-container\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"elementor-image\" data-mce-fragment=\"1\"\u003e\u003ca href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"mic-serial\" data-mce-fragment=\"1\" data-mce-href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial.jpg\" previewlistener=\"true\"\u003e\u003cimg width=\"767\" height=\"576\" src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial.jpg\" class=\"attachment-large size-large lazyloaded\" alt=\"\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial.jpg 800w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial-533x400.jpg 533w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial-400x300.jpg 400w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial-768x576.jpg 768w\" data-ll-status=\"loaded\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/09\/mic-serial.jpg\"\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":30211464101991,"sku":"B1188B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/Sound-Sensor-Small-2_ElectronicSurplus.ca_256_2048x2048_2x_97b31e7f-52ee-4460-8bd1-7bde89a65509.jpg?v=1569144436"},{"product_id":"gy-271-hmc5883l-3-axis-magnetic-electronic-compass-module","title":"1B26A GY-271 HMC5883L 3-Axis Magnetic Electronic Compass Module","description":"\u003ch3\u003eDescription:\u003c\/h3\u003e\n\u003cp\u003e\u003cspan\u003eQMC5883L is a multi-chip 3-axis magnetic sensor compatible with HMC5883L. Targeted for high precision applications such as compassing, navigation in drone, robot, mobile and hobby purpose applications.This triple axis compass magnetometer sensor module with power supply of 3.3V or 5V. The module size is: 16mm*18mm. There is a 2.54mm pin pitch. It comes with a pin header.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/robokits.download\/downloads\/HMC5883L.pdf\" title=\"gy-271 datasheet\" target=\"_blank\"\u003e\u003cstrong\u003eDatasheet\u003c\/strong\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003ch3 id=\"pd_sub_title\"\u003eOverview:\u003c\/h3\u003e\n\u003cdiv id=\"pd_long\"\u003e\n\u003cul li=\"\"\u003e\n\u003cli\u003emodel: GY-271\u003c\/li\u003e\n\u003cli\u003eChip: QMC588L\u003c\/li\u003e\n\u003cli\u003eThree Axis Magnetometer sensor\u003c\/li\u003e\n\u003cli\u003eI2C interface\u003c\/li\u003e\n\u003cli\u003eArduino compatible\u003c\/li\u003e\n\u003cli\u003eApplication: compassing,navigation etc.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003ch3 id=\"pd_sub_title\"\u003eFeatures:\u003c\/h3\u003e\n\u003cdiv id=\"pd_long\"\u003e\n\u003cul li=\"\"\u003e\n\u003cli\u003eModule Type: QMC5883L\u003c\/li\u003e\n\u003cli\u003ePower Supply: External 3.3V - 5V\u003c\/li\u003e\n\u003cli\u003eCommunication protocol: I2C\u003c\/li\u003e\n\u003cli\u003eEnables 1degree to 2degree compass heading accuracy allows for Navigation and LBS Applications.\u003c\/li\u003e\n\u003cli\u003e16 Bit ADC With LOW Noise AMR Sensors Achieves 5 Milli-Gauss Field Resolution.\u003c\/li\u003e\n\u003cli\u003eMeasuring range: ±1.3-8 Gauss\u003c\/li\u003e\n\u003cli\u003eWeight: 12.00g\u003c\/li\u003e\n\u003cli\u003eBoard Size: 16mmx18mm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eWiring:\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/GY-271_HMC5883L_3_480x480.jpg?v=1707222377\"\u003e\u003c\/p\u003e\n\u003ch3\u003eCode:\u003c\/h3\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e#include \u0026lt;Wire.h\u0026gt; \/\/I2C Arduino Library\n\n#define HMC5883L_ADDR 0x1E \/\/0011110b, I2C 7bit address of HMC5883\n\nbool haveHMC5883L = false;\n\nbool detectHMC5883L ()\n{\n  \/\/ read identification registers\n  Wire.beginTransmission(HMC5883L_ADDR); \/\/open communication with HMC5883\n  Wire.write(10); \/\/select Identification register A\n  Wire.endTransmission();\n  Wire.requestFrom(HMC5883L_ADDR, 3);\n  if(3 == Wire.available()) {\n    char a = Wire.read();\n    char b = Wire.read();\n    char c = Wire.read();\n    if(a == 'H' \u0026amp;\u0026amp; b == '4' \u0026amp;\u0026amp; c == '3')\n      return true;\n  }\n\n  return false;\n}\n\nvoid setup()\n{\n  \/\/Initialize Serial and I2C communications\n  Serial.begin(9600);\n  Serial.println(\"GY271 TEST\");\n  Wire.begin();\n  \/\/ lower I2C clock http:\/\/www.gammon.com.au\/forum\/?id=10896\n  TWBR = 78;  \/\/ 25 kHz \n  TWSR |= _BV (TWPS0);  \/\/ change prescaler  \n}\n\nvoid loop()\n{\n  bool detect = detectHMC5883L();\n\n  if(!haveHMC5883L) \n  {\n    if(detect) \n    {\n      haveHMC5883L = true;\n      Serial.println(\"We have HMC5883L, moving on\");\n      \/\/ Put the HMC5883 IC into the correct operating mode\n      Wire.beginTransmission(HMC5883L_ADDR); \/\/open communication with HMC5883\n      Wire.write(0x02); \/\/select mode register\n      Wire.write(0x00); \/\/continuous measurement mode\n      Wire.endTransmission();\n    }\n    else\n    {  \n      Serial.println(\"No HMC5883L detected!\");\n      delay(2000);\n      return;\n    }\n  }\n  else\n  {\n    if(!detect) {\n      haveHMC5883L = false;\n      Serial.println(\"Lost connection to HMC5883L!\");\n      delay(2000);\n      return;\n    }\n  }\n  \n  int x,y,z; \/\/triple axis data\n\n  \/\/Tell the HMC5883 where to begin reading data\n  Wire.beginTransmission(HMC5883L_ADDR);\n  Wire.write(0x03); \/\/select register 3, X MSB register\n  Wire.endTransmission();\n\n \/\/Read data from each axis, 2 registers per axis\n  Wire.requestFrom(HMC5883L_ADDR, 6);\n  if(6\u0026lt;=Wire.available()){\n    x = Wire.read()\u0026lt;\u0026lt;8; \/\/X msb\n    x |= Wire.read(); \/\/X lsb\n    z = Wire.read()\u0026lt;\u0026lt;8; \/\/Z msb\n    z |= Wire.read(); \/\/Z lsb\n    y = Wire.read()\u0026lt;\u0026lt;8; \/\/Y msb\n    y |= Wire.read(); \/\/Y lsb\n  }\n  \n  \/\/Print out values of each axis\n  Serial.print(\"x: \");\n  Serial.print(x);\n  Serial.print(\"  y: \");\n  Serial.print(y);\n  Serial.print(\"  z: \");\n  Serial.println(z);\n  \n  delay(250);\n}\n  \n  \u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003eOutput:\u003c\/h3\u003e\n\u003cp\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/GY-271_HMC5883L_4_480x480.jpg?v=1707222432\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":30211574169703,"sku":"B1189B","price":25.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/gy_271.jpg?v=1569146462"},{"product_id":"hr0109a-spp-c-bluetooth-module-replace-hc-05-hc-06","title":"1D4 HSPP-C JDY-31 Bluetooth serial RF transceiver module","description":"\u003cp\u003eSPP-C Bluetooth  module Replace HC-05 HC-06\u003c\/p\u003e\n\u003ch3\u003eDescription \u003c\/h3\u003e\n\u003cp\u003eThis bluetooth module is a working alternative for HC-05 or HC-06 at affordable price!\u003c\/p\u003e\n\u003cp\u003eThis module utilizes UART serial interface protocol, so it can support SPP bluetooth serial protocol. It is designed to be low-cost, small, low power consumption but has high sensitivity in receiving signals.\u003c\/p\u003e\n\u003cp\u003e\u003ca title=\"JDY-31 datasheet\" href=\"https:\/\/myosuploads3.banggood.com\/products\/20190129\/20190129043725SKUA87502.pdf\" target=\"_blank\"\u003e\u003cstrong\u003eDatasheet\u003c\/strong\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFeatures\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse Bluetooth version 2.1 + EDR\u003c\/li\u003e\n\u003cli\u003eBluetooth Class 2\u003c\/li\u003e\n\u003cli\u003eBuilt-in PCB transceiving antenna\u003c\/li\u003e\n\u003cli\u003eSupports UART interface\u003c\/li\u003e\n\u003cli\u003eOperating at 3.3V\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eSpecifications\u003c\/strong\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Frequency Band\u003c\/td\u003e\n\u003ctd\u003e2.4 – 2.48 GHz unlicensed ISM band\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBluetooth Specification\u003c\/td\u003e\n\u003ctd\u003eV2.1 + EDR\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput Power Class\u003c\/td\u003e\n\u003ctd\u003eClass 2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd\u003e3.3V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHost Interface\u003c\/td\u003e\n\u003ctd\u003eUART\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e-40 to +150?C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSupply Voltage for VCC pin\u003c\/td\u003e\n\u003ctd\u003e5.6V (max)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Baud Rate\u003c\/td\u003e\n\u003ctd\u003e38400\/115200 bps\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eNotes\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eOnly apply for RX pin on the bluetooth module, Arduino boards such as Uno, Nano and Mega board or other microcontrollers output 5V at their I\/O pins. You need to use a voltage divider (1K + 2K resistor network) or logic level shifter to step down the 5V signal from microcontroller to 3.3V before feed it into RX pin on bluetooth module. TX pin on the bluetooth module outputs 3.3V signal and Arduino can perceive this voltage as HIGH, so stepping up this signal voltage is not required.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eAdditional Information\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003c\/strong\u003eTXD : Transmitter pin, this pin must connect to RX pin of next device\u003c\/p\u003e\n\u003cp\u003eRXD: Receiver pin, this pin must connect to TX pin of next device\u003c\/p\u003e\n\u003cp\u003eThere are 6 pins on this module, namely EN, VCC, GND, TXD, RXD, STATE. When the module is paired connection to a device (such as mobile phone), STATE pin will output HIGH, otherwise it will output LOW signal.\u003c\/p\u003e\n\u003cp\u003eThe built-in LED on the module indicates the bluetooth connection,\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eLED Blink Status\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e\u003cstrong\u003eMeaning\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSlowly\u003c\/td\u003e\n\u003ctd\u003eWaiting for connection…\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAlways on\u003c\/td\u003e\n\u003ctd\u003eConnected\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eBluetooth signal strength can be significantly affected by the surrounding especially the conductivity of surfaces. Installing the bluetooth module within metal enclosures can severely affect the bluetooth signal. Avoid placing metallic object, surfaces or wire near the PCB antenna on the module. It can severely affect the module’s ability to receive signals.\u003c\/p\u003e\n\u003cp\u003e\u003ciframe title=\"TUTORIAL: How to get Started Bluetooth Module JDY-31 JDY31 BK3231 Arduino - Quick Simple! HC05 HC06\" src=\"https:\/\/www.youtube.com\/embed\/s-lzV_RfZoo\" height=\"391\" width=\"678\" allowfullscreen=\"\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" frameborder=\"0\"\u003e\u003c\/iframe\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":30211713433703,"sku":"B1191B","price":30.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/bluetooth.png?v=1569149364"},{"product_id":"ds18b20-temperature-sensor-module","title":"2D14 KY-001 DS18B20 Temperature Sensor Module","description":"\u003cp\u003e\u003cstrong\u003eFeatures:\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eTemperature Measurement Range: -55 ℃ ~ + 125 ℃.\u003c\/li\u003e\n\u003cli\u003eRange Accuracy: ±0.5℃.\u003c\/li\u003e\n\u003cli\u003eWorking Power Supply: DC 3 ~ 5V.\u003c\/li\u003e\n\u003cli\u003eMeasurement results in 9 ~ 12 digital quantity way serial transmission.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003ePins: \u003c\/strong\u003e\u003cstrong\u003e(The pins silk print could be different from the picture, but it works the same.)\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eY(S) - Arduino D12\u003c\/li\u003e\n\u003cli\u003eG(-) - Arduino GND\u003c\/li\u003e\n\u003cli\u003eR(+) - Arduino Power (3.3V\/5V)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eDimensions:\u003c\/strong\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eL 20 x W 11 x H 12mm\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003ePackage Includes\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e1 x DS18B20 Temperature Sensor Module\u003c\/p\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eWorkshop:\u003c\/h3\u003e\n\u003cp\u003eThe example will demonstrate the use of an Arduino UNO in requesting and interpreting data from a DS18b20 sensor. Once connected and the program loaded, the serial monitor will display a live temperature readout. This will use the\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/PaulStoffregen\/OneWire\" title=\"OneWire\" target=\"_blank\" previewlistener=\"true\"\u003eOneWire library\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003ecreated by Paul Stoffregen and the\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/milesburton\/Arduino-Temperature-Control-Library\" title=\"DallasTemperature\" target=\"_blank\" previewlistener=\"true\"\u003eDallasTemperature library\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003ecreated by Miles Burton.\u003c\/p\u003e\n\u003ch3\u003eComponents\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1pcs Arduino UNO or Compatible\u003c\/li\u003e\n\u003cli\u003e1pcs DS18B20 Temperature Sensor Module\u003c\/li\u003e\n\u003cli\u003e3pcs Male to Female Jumper Cables\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eWiring\u003c\/h3\u003e\n\u003cp\u003eWire the components together as can be seen in the image below, taking care to match the pin numbers.\u003c\/p\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/fluxworkshop.info\/images\/blog\/lets_workshop_BDAA100019_Keyestudio_DS18b20_Temperarture_Sensor_UNO_Example_Fritzing%20Project_bb.png\" width=\"100%\" height=\"auto\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003eCoding\u003c\/h3\u003e\n\u003cp\u003eThe code consists of the an include, definition, launch, setup and loop. First the\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/PaulStoffregen\/OneWire\" title=\"OneWire\" target=\"_blank\" previewlistener=\"true\"\u003eOneWire library\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eand the\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/milesburton\/Arduino-Temperature-Control-Library\" title=\"DallasTemperature\" target=\"_blank\" previewlistener=\"true\"\u003eDallasTemperature library\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eare linked to the code. The sensor pin is defined followed by the\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/PaulStoffregen\/OneWire\" title=\"OneWire\" target=\"_blank\" previewlistener=\"true\"\u003eOneWire library\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003eand\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/milesburton\/Arduino-Temperature-Control-Library\" title=\"DallasTemperature\" target=\"_blank\" previewlistener=\"true\"\u003eDallasTemperature library\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003einstances established. The setup launches the serial connection and sensor connection. The loop contains the control program that will run continuously after the setup. It begins by requesting the information from the sensor instance. It then prints the value to the serial monitor.\u003c\/p\u003e\n\u003cp\u003eLoad the code below into the Arduino IDE and upload it to your board.\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n\/*\n  A simple program designed to setup and demonstrate the DallasTemperature library and \n  DS18b20 Temperature probe - BDAA100019\n \n  The program uses the OneWire and DallasTemperature libraries to request and \n  output temperatures from a DS18b20 sensor to the serial monitor.\n  \n  modified 24 October 2019\n  by Sebastian Karam - Flux Workshop\n  \n  The OneWire library created by Paul Stoffregen\n  https:\/\/github.com\/PaulStoffregen\/OneWire\n \n  The DallasTemperature library created by Miles Burton\n  https:\/\/github.com\/milesburton\/Arduino-Temperature-Control-Library\n*\/ \n \n#include \u0026lt;OneWire.h\u0026gt;\n#include \u0026lt;DallasTemperature.h\u0026gt;\n\/\/ Define the pin that the sensor pin\n#define ONE_WIRE_BUS 2\n\/\/ Establish a oneWire instance\nOneWire oneWire(ONE_WIRE_BUS);\n\/\/ Establish Dallas Temperature instance\nDallasTemperature sensors(\u0026amp;oneWire);\nvoid setup(void)\n{\n  Serial.begin(9600); \/\/ Open a serial communication line\n  sensors.begin(); \/\/ Start up the DallasTemperature library\n}\nvoid loop(void){ \n  sensors.requestTemperatures(); \/\/ Request temperatures from the sensors instance\n  Serial.print(\"Temperature (Celsius): \"); \/\/ Print to the serial monitor\n  Serial.print(sensors.getTempCByIndex(0)); \/\/ Print the temperature from the library to serial monitor\n  Serial.print(\"\\n\"); \/\/ Print to the serial monitor\n  delay(1000); \/\/ Pause before restarting the loop\n}\n\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch3\u003eRunning\u003c\/h3\u003e\n\u003cp\u003eWith the board is loaded with the program and all the connections made the module will begin to output a temperature in celcius. The animation below shows a brief loop of the sensor being placed beside a cold cup of water then above a a hot cup of water and then back to the cold.\u003c\/p\u003e\n\u003cp\u003e\u003cimg height=\"auto\" width=\"100%\" src=\"https:\/\/fluxworkshop.info\/images\/blog\/lets_workshop_BDAA100019_Keyestudio_DS18b20_Temperarture_Sensor_UNO_Example.gif\"\u003e \u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":30218891165799,"sku":"B1201B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/ds18b20-digital-temperature-sensor-module-for-arduino-550x550-1.jpg?v=1707824049"},{"product_id":"mini-mp3-player-mini-player","title":"2B24  Mini MP3 Player mini player","description":"\u003ch3\u003e\u003cstrong\u003eDescription:\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003eDFPlayer Mini is a compact and inexpensive MP3 module that can be directly connected to the speaker. Modules with battery power, speakers, and keypads can be used alone, or through the serial port control, such as the Arduino UNO or any microcontroller with a serial port module. The module itself perfectly integrates hardware to decode MP3, WAV, and WMA's. While the software supports TF card drivers to support FAT16, FAT32 file systems,. It can be done through simple serial commands that specify a music player, as well as how to play music and perform other functions, without the cumbersome underlying operating, easy to use, stable, and reliable.\u003c\/p\u003e\n\u003ch3\u003e\u003cstrong\u003eSpecifications:\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp\u003e1, supports sampling rates (KHz): 8 \/ 11.025 \/ 12\/16 \/ 22.05 \/ 24\/32 \/ 44.1 \/ 48\u003c\/p\u003e\n\u003cp\u003e2,24-bit DAC output, support dynamic range: 90dB, SNR support: 85 dB\u003c\/p\u003e\n\u003cp\u003e3 fully supports FAT16 and FAT32 file system, maximum support 32G TF card, support U disk to 32G, and 64M bytes NORFLASH\u003c\/p\u003e\n\u003cp\u003e4, A variety of control modes are available. IO control, serial port, and AD button control mode\u003c\/p\u003e\n\u003cp\u003e5, radio spot language function, you can pause the background music being played. Advertising finished playing background sound continues to play back\u003c\/p\u003e\n\u003cp\u003e6, The audio data is sorted by folder, supports up to 100 folders, Folders can be assigned to every 255 Tracks\u003c\/p\u003e\n\u003cp\u003e7,30-level adjustable volume, six adjustable EQ\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eApplication:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e1. car navigation voice broadcast\u003c\/p\u003e\n\u003cp\u003e2. road transport inspectors, toll stations, voice prompts\u003c\/p\u003e\n\u003cp\u003e3. train, and bus safety inspection voice prompts\u003c\/p\u003e\n\u003cp\u003e4. electricity, communications, and financial operating room voice prompts\u003c\/p\u003e\n\u003cp\u003e5. vehicles into and out of the channel to verify the voice prompts\u003c\/p\u003e\n\u003cp\u003e6. frontier channel voice prompts\u003c\/p\u003e\n\u003cp\u003e7. multi-channel voice alarm or voice guidance equipment operation\u003c\/p\u003e\n\u003cp\u003e8. electric sightseeing bus safety with voice announcement\u003c\/p\u003e\n\u003cp\u003e9. Electrical and mechanical equipment failure alarm\u003c\/p\u003e\n\u003cp\u003e10. fire alarm voice prompts\u003c\/p\u003e\n\u003cp\u003e11. automatic broadcast equipment, regular broadcast\u003c\/p\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":30267579727975,"sku":"B1241B","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/files\/mini-mp3-player-dfplayer-master-module-856208.jpg?v=1708425813"},{"product_id":"yx6300-uart-ttl-serial-control-mp3-music-player-module-support-micro-sd-sdhc-card-for-arduino-avr-arm-pic-3-2-5-2v","title":"2B26 UART TTL Serial Control MP3 Music Player Module Support Micro SD\/SDHC Card For Arduino\/AVR\/ARM\/PIC 3.2-5.2V","description":"\u003ch3\u003eDescription\u003c\/h3\u003e\n\u003cp\u003eThe 72 UART TTL Serial Control MP3 Music Player Module is a serial MP3 player module that supports microSD\/SDHC cards up to 32GB in size. It can be used with Arduino, AVR, ARM, and PIC microcontrollers, and operates at a voltage range of 3.2–5.2 volts. The module uses UART (Universal Serial Bus) to communicate with the microcontroller and allows for easy playback of MP3 files.\u003c\/p\u003e\n\u003ch3\u003eFeatures\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eSupport sampling frequency (kHz): 8 \/ 11.025 \/ 12 \/ 16 \/ 22.05 \/ 24 \/ 32 \/ 44.1 \/ 48\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eSupport file format:MP3\/WAV\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eSupport Micro SD cards and Micro SDHC cards\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003e30 classes of adjustable volume\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUART TTL serial control playback mode, baud rate is 9600bps\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003ePower supply can be 3.2 ~ 5.2VDC\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eSize: 43mm x 25mm\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003e\u003cstrong\u003ePackage Includes\u003c\/strong\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003e1 x YX5300 UART Control Serial MP3 Music Player Module For Arduino\/AVR\/ARM\/PIC\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":30267592507495,"sku":"B1243B","price":30.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/Music_Player_Module.png?v=1569497507"},{"product_id":"voltage-sensor","title":"2A20  voltage sensor module","description":"\u003ch3 data-mce-fragment=\"1\" data-v-182c285f=\"\"\u003eDescription\u003c\/h3\u003e\n\u003cdiv data-mce-fragment=\"1\" data-v-182c285f=\"\"\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe Voltage Sensor Module DC 0-25V is a small electronic module that can measure DC voltage in the range of 0-25V with an accuracy of ±0.5%. The module has three pins, VCC, GND, and OUT. It uses a voltage divider circuit to sense the voltage and provides an analog output signal that is proportional to the input voltage. The output voltage range is 0-5V, which can be interfaced with a microcontroller or an analog-to-digital converter (ADC). The module is commonly used in battery monitoring, DC motor control, and other low-voltage DC applications.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003ca href=\"https:\/\/robu.in\/wp-content\/uploads\/2017\/05\/datasheet1.pdf\" title=\"voltage sensor datasheet\" target=\"_blank\"\u003e\u003cstrong\u003eDatasheet \u003c\/strong\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ePackage Includes:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003e1 x Voltage Sensor Module DC 0-25V\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eFeatures:\u003c\/strong\u003e\u003c\/p\u003e\n\u003col data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eVoltage range: The module is designed to measure DC voltage in the range of 0-25V.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eAccuracy: The module has an accuracy of ±0.5%.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eOutput signal: The module provides an analog output signal that is proportional to the input voltage. The output voltage range is 0-5V.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSensing method: The module uses a voltage divider circuit to sense the voltage.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003ePower supply: The module operates on a DC voltage supply in the range of 3.3V to 5V.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSize: The module is small and compact.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eInterface: The module has three pins, VCC, GND, and OUT, which can be connected to a microcontroller or an analog-to-digital converter (ADC).\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eDescription:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe Voltage Sensor Module DC 0-25V is a small electronic module designed to measure DC voltage in the range of 0-25V with an accuracy of ±0.5%. The module has a voltage divider circuit that consists of two resistors. The input voltage is divided by the resistors to a level that can be measured by an analog input pin of a microcontroller or an ADC. The output voltage range of the module is 0-5V, which can be used with a microcontroller or an ADC that has a 10-bit analog-to-digital converter. The module has three pins, VCC, GND, and OUT, which can be connected to a microcontroller or an ADC. The VCC pin should be connected to a DC voltage supply in the range of 3.3V to 5V, and the GND pin should be connected to the ground of the circuit. The OUT pin provides an analog output signal that is proportional to the input voltage. The module also has a power LED that indicates when the module is powered on. The Voltage Sensor Module DC 0-25V is commonly used in battery monitoring, DC motor control, and other low-voltage DC applications where accurate voltage measurement is required. The module can be easily integrated into a circuit and can be used with a wide range of microcontrollers and ADCs. The small size of the module makes it ideal for use in applications where space is limited.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ePrinciple of Work:\u003c\/strong\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe module has a simple circuit design consisting of two resistors connected in series to form a voltage divider. The input voltage is applied across the two resistors, and the voltage across the second resistor is used as the output voltage. The output voltage is proportional to the input voltage and is calculated using the voltage divider formula:\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eOutput voltage = (R2 \/ (R1 + R2)) x Input voltage\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eWhere R1 and R2 are the resistances of the two resistors in the voltage divider circuit.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThe module provides an analog output signal that is proportional to the input voltage. The output voltage range is typically 0-5V, which is suitable for use with microcontrollers or ADCs that have a 10-bit analog-to-digital converter. The module's simple circuit design and analog output make it easy to integrate with other electronics projects and systems that require DC voltage measurement.\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003ePinout of the Module:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cimg data-mce-fragment=\"1\" width=\"560\" src=\"https:\/\/i.postimg.cc\/J4pq42RX\/Voltage-sensor-module-pinout.jpg\" height=\"420\" data-mce-src=\"https:\/\/i.postimg.cc\/J4pq42RX\/Voltage-sensor-module-pinout.jpg\"\u003e \u003c\/p\u003e\n\u003ctable data-mce-fragment=\"1\" cellspacing=\"5\" cellpadding=\"5\" border=\"5\"\u003e\n\u003cthead data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003cth data-mce-fragment=\"1\"\u003ePin Name\u003c\/th\u003e\n\u003cth data-mce-fragment=\"1\"\u003eFunction\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody data-mce-fragment=\"1\"\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eVCC\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003ePositive power supply pin. The positive terminal of the power supply to be measured is connected to this pin.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eGND\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eReference potential pin. It is connected to the negative terminal of the power supply.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eS\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eAnalog output pin voltage of the sensor. Connect it to the analog input pin of Arduino or any other microcontroller which you want to use.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e+\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eNot connected\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd data-mce-fragment=\"1\"\u003e–\u003c\/td\u003e\n\u003ctd data-mce-fragment=\"1\"\u003eGround connection pin. It must be joined to the ground pin of the Arduino or microcontroller and also to the power supply ground pin.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eApplications:\u003c\/strong\u003e \u003c\/p\u003e\n\u003col data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eBattery monitoring: The module can be used to monitor the voltage of a battery in real time, providing a useful tool for measuring the state of charge and predicting battery life.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003ePower supply monitoring: The module can be used to monitor the output voltage of a power supply, ensuring that it is operating within its specified range.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eRobotics: The module can be used in robotics projects to monitor the voltage of motors and other components, helping to prevent damage and prolong the life of the components.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eHome automation: The module can be used in home automation systems to monitor the voltage of various devices, such as lights and appliances, allowing for more efficient and intelligent control.\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eIndustrial automation: The module can be used in industrial automation systems to monitor the voltage of machinery and equipment, ensuring that they are operating within safe and optimal ranges.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eCircuit:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eThis circuit will monitor the 9V battery using Arduino on pin A0:\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cimg data-mce-fragment=\"1\" width=\"605\" src=\"https:\/\/i.postimg.cc\/VNCpt8Np\/Voltage-sensor-module-interfacing-with-Arduino-circuit.jpg\" height=\"454\" data-mce-src=\"https:\/\/i.postimg.cc\/VNCpt8Np\/Voltage-sensor-module-interfacing-with-Arduino-circuit.jpg\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eLibrary:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eNo library Needed\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e         \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003e\u003cstrong data-mce-fragment=\"1\"\u003eCode: \u003c\/strong\u003e\u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003ecode for monitoring the voltage of a 9V battery using the Voltage Sensor Module DC 0-25V and Arduino:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003eint sensorPin = A0;\nfloat voltage;\nfloat threshold = 7.5; \/\/ Threshold voltage for low battery warning\nbool isLow = false; \/\/ Flag for low battery status\n\nvoid setup() {\n  Serial.begin(9600);\n}\n\nvoid loop() {\n  \/\/ Read the sensor value\n  int sensorValue = analogRead(sensorPin);\n\n  \/\/ Convert the sensor value to voltage\n  voltage = sensorValue * (5.0 \/ 1023.0) * 5.0;\n\n  \/\/ Print the voltage value to the serial monitor\n  Serial.print(\"Voltage: \");\n  Serial.print(voltage);\n  Serial.println(\"V\");\n\n  \/\/ Check if the voltage is below the threshold and set the low battery flag\n  if (voltage \u0026lt; threshold \u0026amp;\u0026amp; !isLow) {\n    isLow = true;\n    Serial.println(\"Low battery warning!\");\n  }\n  else if (voltage \u0026gt;= threshold \u0026amp;\u0026amp; isLow) {\n    isLow = false;\n    Serial.println(\"Battery is OK now.\");\n  }\n\n  delay(1000);\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eThis code reads the analog voltage value from the module on pin A0, converts it to voltage, and prints it to the serial monitor every second. It also checks if the voltage is below a certain threshold (in this case, 7.5V), and if so, sets a flag and prints a low battery warning to the serial monitor. When the voltage is above the threshold again, it resets the flag and prints a message indicating that the battery is OK.\u003c\/p\u003e\n\u003cp\u003eYou can interact with the program by changing the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003ethreshold\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003evalue to set your own low battery warning threshold, or by changing the\u003cspan\u003e \u003c\/span\u003e\u003ccode\u003edelay\u003c\/code\u003e\u003cspan\u003e \u003c\/span\u003evalue to adjust how frequently the voltage value is read and printed to the serial monitor. You can also add more interactive features, such as setting an LED to turn on when the battery is low or sending a notification to your phone using a Wi-Fi module.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eTechnical Specifications:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eInput Voltage Range: DC 0-25V\u003c\/li\u003e\n\u003cli\u003eOutput Voltage Range: DC 0-3.3V\u003c\/li\u003e\n\u003cli\u003eHigh Accuracy: 1%\u003c\/li\u003e\n\u003cli\u003eOn-board Voltage Divider: Can be used to divide input voltage if required\u003c\/li\u003e\n\u003cli\u003eSmall size and easy to use\u003c\/li\u003e\n\u003cli\u003eAnalog output signal\u003c\/li\u003e\n\u003cli\u003eOperating Voltage: 5V DC\u003c\/li\u003e\n\u003cli\u003eOperating Current: \u0026lt;10mA\u003c\/li\u003e\n\u003cli\u003eSize: 4cm x 3cm x 2cm\u003c\/li\u003e\n\u003cli\u003eWeight: 2g\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eR\u003c\/strong\u003e\u003cstrong\u003eesources:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https:\/\/microcontrollerslab.com\/voltage-sensor-module-pinout-interfacing-arduino-features-working\/\" target=\"_blank\" previewlistener=\"true\"\u003eTutorial\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eComparisons:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eThe ZMPT101B module and the Voltage Sensor Module DC 0-25V are two different types of voltage sensing modules designed for different applications. Here's a comparison of their features:\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eVoltage range: The ZMPT101B module is designed to measure AC voltage in the range of 0-250V, while the Voltage Sensor Module DC 0-25V is designed to measure DC voltage in the range of 0-25V.\u003c\/li\u003e\n\u003cli\u003eOutput signal: The ZMPT101B module provides an analog voltage output signal in the range of 0-5V from 220vAC, while the Voltage Sensor Module DC 0-25V provides an analog output signal that can be interfaced with a microcontroller only 5 times smaller than the original signal.\u003c\/li\u003e\n\u003cli\u003eSensing method: The ZMPT101B module uses a voltage transformer and an operational amplifier circuit to sense the voltage, while the Voltage Sensor Module DC 0-25V uses a voltage divider circuit.\u003c\/li\u003e\n\u003cli\u003eAccuracy: The ZMPT101B module is more accurate than the Voltage Sensor Module DC 0-25V because it compensates for the non-linearities and other factors affecting the voltage measurement.\u003c\/li\u003e\n\u003cli\u003eApplication: The ZMPT101B module is commonly used in power monitoring, home automation, industrial control systems, voltage regulators, and power supplies, while the Voltage Sensor Module DC 0-25V is commonly used in battery monitoring, DC motor control, and other low voltage DC applications.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":31859489996903,"sku":"B1325B","price":15.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/vltage_sensor.png?v=1579940214"},{"product_id":"ttp229-16-channel-digital-capacitive-switch-touch-sensor-module","title":"1B13  TTP229 16-Channel Digital Capacitive Switch Touch Sensor Module","description":"\u003cdiv class=\"elementor-element elementor-element-d4476c elementor-widget elementor-widget-heading\" data-id=\"d4476c\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eDescription\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-3bc5644c elementor-widget elementor-widget-text-editor\" data-id=\"3bc5644c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cp\u003eKeypads are one of the most popular components that are widely used in electronics. Everybody can communicate with different systems through switches. Normally, every key occupies one digital pin of the microcontroller. But by using a 4×4 keypad, you can reduce the number of occupied pins. With this module, you can use all 16 switches by occupying only 2 pins of the microcontroller.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e﻿Documentation: \u003c\/strong\u003e﻿\u003ca title=\"ttp229-datasheet\" href=\"https:\/\/www.elecrow.com\/download\/TOUCH_IC_TTP229.pdf\" target=\"_blank\"\u003eTTP229 datasheet\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eThis 16-key capacitive touch keypad is based on the TTP229 IC. Output pins 1 to 8 are for direct switching on and off keys 1 to 8. There are also 2 serial pins to use the 16-key mode.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-66215438 elementor-widget elementor-widget-image\" data-id=\"66215438\" data-element_type=\"widget\" data-widget_type=\"image.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-image\"\u003e\u003ca href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Module.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"4x4-TTP229-Keypad-Module\" previewlistener=\"true\"\u003e\u003cimg width=\"600\" height=\"600\" src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Module.jpg\" class=\"attachment-large size-large lazyloaded\" alt=\"TTP229 Capacitive Touch Keypad\" sizes=\"(max-width: 600px) 100vw, 600px\" srcset=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Module.jpg 600w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Module-400x400.jpg 400w\" data-ll-status=\"loaded\"\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-1604e27 elementor-widget elementor-widget-heading\" data-id=\"1604e27\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cspan id=\"elementor-toc__heading-anchor-1\" class=\"elementor-menu-anchor\"\u003e\u003c\/span\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eHow it works\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-8f285f0 elementor-widget elementor-widget-text-editor\" data-id=\"8f285f0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cp\u003eThe\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003e4×4\u003c\/span\u003e\u003cspan\u003e Keypad features a total of 16 buttons in matrix form. This module can be adjusted in different modes. The most important ones are as follows:\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv class=\"elementor-element elementor-element-8f285f0 elementor-widget elementor-widget-text-editor\" data-id=\"8f285f0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cul\u003e\n\u003cli\u003eTwo TP2 pins are open-circuit. In this mode, only 8 output pins are active to use 8 touch keys. By touching each key, its relevant pin becomes HIGH, and by releasing it, it becomes LOW again.\u003c\/li\u003e\n\u003cli\u003eTwo TP2 pins are short-circuiting; in this mode, two serial pins are active to use all 16 touch keys. You can only touch one key at a time.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-1550771 elementor-widget elementor-widget-image\" data-id=\"1550771\" data-element_type=\"widget\" data-widget_type=\"image.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-image\"\u003e\u003ca href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Interface.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"4x4-TTP229-Keypad-Interface\" previewlistener=\"true\"\u003e\u003cimg width=\"800\" height=\"427\" src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Interface.jpg\" class=\"attachment-large size-large lazyloaded\" alt=\"\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Interface.jpg 800w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Interface-600x320.jpg 600w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Interface-768x410.jpg 768w\" data-ll-status=\"loaded\"\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-1bd8dfbc elementor-widget elementor-widget-heading\" data-id=\"1bd8dfbc\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cspan id=\"elementor-toc__heading-anchor-2\" class=\"elementor-menu-anchor\"\u003e\u003c\/span\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eTTP229 Capacitive Touch Keypad Pinout\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-578f727d elementor-widget elementor-widget-text-editor\" data-id=\"578f727d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003ch3\u003eThis module has 12 pins:\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eVCC\u003c\/strong\u003e: Module power supply: 2.4-5.5V\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e: Ground\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSCL\u003c\/strong\u003e: Input pin for Serial Clock\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSD0\u003c\/strong\u003e: Output pin for Serial Clock\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOut1\u003c\/strong\u003e: Digital Output pin 1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOut2\u003c\/strong\u003e: Digital Output pin 2\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOut3:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eDigital Output pin 3\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOut4:\u003cspan\u003e \u003c\/span\u003e\u003c\/strong\u003eDigital Output pin 4\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOut5:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eDigital Output pin 5\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOut6:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eDigital Output pin 6\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOut7:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eDigital Output pin 7\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOut8:\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eDigital Output pin 8\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eYou can see the pinout of this module here.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-6695ad89 elementor-widget elementor-widget-image\" data-id=\"6695ad89\" data-element_type=\"widget\" data-widget_type=\"image.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-image\"\u003e\u003ca href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Pinout.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"4x4-TTP229-Keypad-Pinout\" previewlistener=\"true\"\u003e\u003cimg width=\"800\" height=\"600\" src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Pinout.jpg\" class=\"attachment-large size-large lazyloaded\" alt=\"\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Pinout.jpg 800w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Pinout-533x400.jpg 533w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Pinout-400x300.jpg 400w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Pinout-768x576.jpg 768w\" data-ll-status=\"loaded\"\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-5f48903 elementor-widget elementor-widget-heading\" data-id=\"5f48903\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cspan id=\"elementor-toc__heading-anchor-3\" class=\"elementor-menu-anchor\"\u003e\u003c\/span\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eRequired Materials\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-4d481f10 elementor-widget elementor-widget-image\" data-id=\"4d481f10\" data-element_type=\"widget\" data-widget_type=\"image.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003ch3 class=\"elementor-image\"\u003e\u003ca href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Required-Materials.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"4x4-TTP229-Keypad-Required-Materials\" previewlistener=\"true\"\u003e\u003cimg width=\"800\" height=\"667\" src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Required-Materials.jpg\" class=\"attachment-large size-large lazyloaded\" alt=\"\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Required-Materials.jpg 800w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Required-Materials-480x400.jpg 480w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Required-Materials-768x640.jpg 768w\" data-ll-status=\"loaded\"\u003e\u003c\/a\u003e\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-27fe33d2 elementor-widget elementor-widget-heading\" data-id=\"27fe33d2\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cspan id=\"elementor-toc__heading-anchor-4\" class=\"elementor-menu-anchor\"\u003e\u003c\/span\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eHardware Components\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-43dd86ff elementor-widget elementor-widget-html\" data-id=\"43dd86ff\" data-element_type=\"widget\" data-widget_type=\"html.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"table-2\"\u003e\n\u003ctable width=\"100%\" class=\"zebra\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"70%\"\u003eArduino UNO R3\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e×\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e1\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e\u003ca href=\"https:\/\/electropeak.com\/arduino-uno-r3-original\" target=\"_blank\" previewlistener=\"true\"\u003e\u003ci class=\"fa fa-shopping-cart\"\u003e\u003c\/i\u003e\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"70%\"\u003e4x4 TTP229 Capacitive Touch Keypad\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e×\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e1\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e\u003ca href=\"https:\/\/electropeak.com\/xd-62b-ttp229-capacitive-touch-module\" target=\"_blank\" previewlistener=\"true\"\u003e\u003ci class=\"fa fa-shopping-cart\"\u003e\u003c\/i\u003e\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"70%\"\u003eMale to Female Jumper wire\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e×\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e1\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e\u003ca href=\"https:\/\/electropeak.com\/10cm-40p-male-to-female-jumper-wire\" target=\"_blank\" previewlistener=\"true\"\u003e\u003ci class=\"fa fa-shopping-cart\"\u003e\u003c\/i\u003e\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-29e322b elementor-widget elementor-widget-heading\" data-id=\"29e322b\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cspan id=\"elementor-toc__heading-anchor-5\" class=\"elementor-menu-anchor\"\u003e\u003c\/span\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eSoftware Apps\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-7c4919b8 elementor-widget elementor-widget-html\" data-id=\"7c4919b8\" data-element_type=\"widget\" data-widget_type=\"html.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"table-2\"\u003e\n\u003ctable width=\"100%\" class=\"zebra\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"90%\"\u003eArduino IDE\u003c\/td\u003e\n\u003ctd class=\"center\" width=\"10%\"\u003e\u003ca href=\"https:\/\/www.arduino.cc\/en\/Main\/Software\" target=\"_blank\" previewlistener=\"true\"\u003e\u003ci class=\"fa fa-info\"\u003e\u003c\/i\u003e\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-4333e04e elementor-widget elementor-widget-heading\" data-id=\"4333e04e\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cspan id=\"elementor-toc__heading-anchor-6\" class=\"elementor-menu-anchor\"\u003e\u003c\/span\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eInterfacing 4x4 TTP229 Capacitive Touch Keypad with Arduino\u003c\/h3\u003e\n\u003cdiv class=\"elementor-element elementor-element-f932057 elementor-widget elementor-widget-heading\" data-id=\"f932057\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eStep 1: Circuit\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-446fcbd6 elementor-widget elementor-widget-text-editor\" data-id=\"446fcbd6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cp\u003eThe following circuit shows how you should connect Arduino to TTP229 module. Connect wires accordingly.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-124fadb elementor-widget elementor-widget-image\" data-id=\"124fadb\" data-element_type=\"widget\" data-widget_type=\"image.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-image\"\u003e\u003ca href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-Keypad-Circuit.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"4x4-Keypad-Circuit\" previewlistener=\"true\"\u003e\u003cimg width=\"800\" height=\"667\" src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-Keypad-Circuit.jpg\" class=\"attachment-large size-large lazyloaded\" alt=\"TTP229 Module Arduino circuit\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-Keypad-Circuit.jpg 800w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-Keypad-Circuit-480x400.jpg 480w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-Keypad-Circuit-768x640.jpg 768w\" data-ll-status=\"loaded\"\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-26f503dc elementor-widget elementor-widget-heading\" data-id=\"26f503dc\" data-element_type=\"widget\" data-widget_type=\"heading.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cspan id=\"elementor-toc__heading-anchor-8\" class=\"elementor-menu-anchor\"\u003e\u003c\/span\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eStep 2: Code for 8 Key Mode\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-3477a51c elementor-widget elementor-widget-text-editor\" data-id=\"3477a51c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cp\u003eUpload the following code to Arduino. Note that for this mode, two TP2 pins must be open-circuit.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\nvoid setup(){\n  for(int x=2;x\u0026lt;10;x++)\n  pinMode(x,INPUT);\n  Serial.begin(9600);\n}\n\nvoid loop(){\n  for(int y=2;y\u0026lt;10;y++){\n    if (digitalRead(y)==HIGH)\n    Serial.println(y-1);\n  }\n}\n  \u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-widget_type=\"text-editor.default\" data-element_type=\"widget\" data-id=\"22c8560\" class=\"elementor-element elementor-element-22c8560 elementor-widget elementor-widget-text-editor\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cp\u003eIn this code, we have connected 8 Arduino pins (2 to 9) to the 8 buttons of the module, and by touching each key, its number will appear in the Serial Monitor.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-widget_type=\"image.default\" data-element_type=\"widget\" data-id=\"63b7c94\" class=\"elementor-element elementor-element-63b7c94 elementor-widget elementor-widget-image\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-image\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-widget_type=\"heading.default\" data-element_type=\"widget\" data-id=\"2373c47\" class=\"elementor-element elementor-element-2373c47 elementor-widget elementor-widget-heading\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cspan class=\"elementor-menu-anchor\" id=\"elementor-toc__heading-anchor-9\"\u003e\u003c\/span\u003e\n\u003ch3 class=\"elementor-heading-title elementor-size-default\"\u003eStep 3: Code for 16 Key Mode\u003c\/h3\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv data-widget_type=\"text-editor.default\" data-element_type=\"widget\" data-id=\"c89ef00\" class=\"elementor-element elementor-element-c89ef00 elementor-widget elementor-widget-text-editor\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cp\u003eUpload the following code to Arduino. Note that for this mode, two TP2 pins must be short-circuit.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cpre\u003e\u003ccode class=\"language-c\"\u003e\n  \/* Define the digital pins used for the clock and data *\/\n#define SCL_PIN 10\n#define SDO_PIN 11\n\n\/* Used to store the key state *\/\nbyte Key;\n\nvoid setup()\n{\n  \/* Initialise the serial interface *\/\n  Serial.begin(9600);\n  \/* Configure the clock and data pins *\/\n  pinMode(SCL_PIN, OUTPUT);  \n  pinMode(SDO_PIN, INPUT); \n}\n* Main program *\/\nvoid loop()\n{\n  \/* Read the current state of the keypad *\/\n  Key = Read_Keypad();\n  \n  \/* If a key has been pressed output it to the serial port *\/\n  if (Key)\n    Serial.println(Key); \n\n  \/* Wait a little before reading again \n     so not to flood the serial port*\/\n  delay(100);\n}\n\n\n\/* Read the state of the keypad *\/\nbyte Read_Keypad(void)\n{\n  byte Count;\n  byte Key_State = 0;\n\n  \/* Pulse the clock pin 16 times (one for each key of the keypad) \n     and read the state of the data pin on each pulse *\/\n  for(Count = 1; Count \u0026lt;= 16; Count++)\n  {\n    digitalWrite(SCL_PIN, LOW); \n    \n    \/* If the data pin is low (active low mode) then store the \n       current key number *\/\n    if (!digitalRead(SDO_PIN))\n      Key_State = Count; \n    \n    digitalWrite(SCL_PIN, HIGH);\n  }  \n  \n  return Key_State; \n}  \u003c\/code\u003e\u003c\/pre\u003e\n\u003cdiv class=\"elementor-element elementor-element-869756f elementor-widget elementor-widget-text-editor\" data-id=\"869756f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-text-editor elementor-clearfix\"\u003e\n\u003cp\u003eIn this code, we receive data and send clock through two digital pins, one as input and the other as output. Finally, by touching each key, its relevant number will appear in the Serial Monitor.\u003c\/p\u003e\n\u003cp\u003eThe output is as follows. As you can see, different keys are accidentally touched.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"elementor-element elementor-element-59fe674c elementor-widget elementor-widget-image\" data-id=\"59fe674c\" data-element_type=\"widget\" data-widget_type=\"image.default\"\u003e\n\u003cdiv class=\"elementor-widget-container\"\u003e\n\u003cdiv class=\"elementor-image\"\u003e\u003ca href=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Result2.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"4x4-TTP229-Keypad-Result2\" previewlistener=\"true\"\u003e\u003cimg width=\"800\" height=\"554\" src=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Result2.jpg\" class=\"attachment-large size-large lazyloaded\" alt=\"\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Result2.jpg 800w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Result2-578x400.jpg 578w, https:\/\/electropeak.com\/learn\/wp-content\/uploads\/2020\/12\/4x4-TTP229-Keypad-Result2-768x532.jpg 768w\" data-ll-status=\"loaded\"\u003e\u003c\/a\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Blue PCB Electronics","offers":[{"title":"Default Title","offer_id":32692086440039,"sku":"10002417","price":20.0,"currency_code":"AED","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/products\/HR0214-39.jpg?v=1595674973"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2285\/0583\/collections\/41rKcnj4R4L.jpg?v=1695729373","url":"https:\/\/www.blue-pcb.com\/collections\/modules-2\/game-controller.oembed","provider":"Blue PCB Electronics","version":"1.0","type":"link"}