top of page

Search Results

55 results found with an empty search

  • Contact | TechKnowSkola

    Our contact us page is the best way to get in touch with us. Whether you have a question, feedback, or a concern, we are here to help. Fill out our contact form or use the provided email and phone number to reach out to our customer support team. We look forward to hearing from you! Say Hello Thank you for considering contacting us. We take pride in providing exceptional customer service and are committed to addressing your needs in a timely and professional manner. Please don't hesitate to reach out to us any questions or concerns you may have. We look forward to hearing from you. Landline Email +91-11-42267175 Contact@techknowskola.com Support Team - 1 Support Team - 2 +91-9625624848 +91-9311781140 Social Media First Name Last Name Email Code Phone Message I want to subscribe to the newsletter. Send Thank you for submitting! We appreciate your interest and will get back to you as soon as possible. For more immediate support or solutions, please feel free to connect with us via WhatsApp. Thank you for considering our services. Visit Us Our doors are always open to welcome you. Come and visit us to experience our exceptional services and products. If you have any questions or concerns, our team of professionals is always ready to assist you. Contact us today to schedule your visit. Address 1st & 2nd Floor, Shop No. 10, Nanda Enclave, Dhansa Marg, Najafgarh, New Delhi - 43 Opening Hours Mon - Fri 10:00 am – 5:00 pm

  • 500 | TechKnowSkola

    Time Out This page isn’t available right now. But we’re working on a fix, ASAP. Try again soon. Go Back

  • 500 | TechKnowSkola

    Time Out This page isn’t available right now. But we’re working on a fix, ASAP. Try again soon. Go Back

  • Projects

    PROJECTS 8×8 LED Matrix MAX7219 Tutorial with Scrolling Text & Android Control via Bluetooth ​ Read More Interfacing GPS with Arduino (Neo-6M-001) In this tutorial we will learn how to use a GPS Module with Arduino. Neo 6M (Ublox NEO6MV2) is a I2C compliant GPS module. This post discusses details on wiring Ublox Neo 6M with Arduino or an USB to Serial/TTL adapter, basic interactions with module using serial communication, using u -center GUI in visualizations, as well as using TinyGPS library to extract fine grained results from the module output. Read More Analog Joystick Interfacing with Arduino UNO. In this tutorial we will learn how to interface an Analog Joystick with the Arduino Uno and checking the values on the Serial Monitor. Read More Interfacing of MQ2 (gas) sensor with Arduino Uno. In this tutorial we will learn how to interface a MQ2 (gas) Sensor with the Arduino Uno Read More Interfacing of LDR Sensor Module with Arduino Uno. In this tutorial we will learn how to interface a LDR sensor Module with the Arduino Uno. Read More Interfacing of RFID Module with Arduino Uno. In this tutorial we will learn how to interface a RFID module with the Arduino Uno. Read More Measuring Distance using Ultrasonic Sensor with Arduino In this project we will learn the basics of how to measure distance using an ultrasonic sensor with an Arduino, which further can be used for controlling other parameters of a robot or many other applications. Read More Measuring Humidity and temperature using DHT11 sensor with Arduino. In this tutorial, we will learn how to use a DHT (DHT11 version) Temperature and Humidity Sensor. It’s accurate enough for most projects that need to keep track of humidity and temperature readings. We will be using a Library specifically designed for these sensors that will make our code short and easy to write. Read More 4*4 Keypad Interfacing with Arduino UNO. In this tutorial, we will learn how to interface a 4*4 Keypad with the Arduino Uno and check the values on the Serial Monitor. Read More Interfacing of Touch Sensor with Arduino Uno. In this tutorial, we will learn how to interface a Touch Sensor with the Arduino Uno. Read More Interfacing of Pulse Rate Sensor with Arduino Uno. In this tutorial we will learn how to interface a Pulse Rate Sensor with the Arduino Uno. Read More Finding an obstacle using IR Sensor with Arduino In this project we will learn the basics of how to find for an obstacle using an Infrared sensor with an Arduino, which further can be used for controlling other parameters of a robot and many other applications too. Read More Interfacing of Force Pressure Sensor with Arduino Uno. In this tutorial we will learn how to interface a Force Pressure Sensor with the Arduino Uno. Read More Displaying a text message on LCD Display using 16X2 Segment Display with Arduino. : In this tutorial we will learn how to interface a 16×2 LCD (liquid crystal display) with the Arduino Uno. Read More Interfacing of Metal Touch Sensor with Arduino. In this tutorial we will learn how to interface a Metal Touch Sensor with the Arduino Read More Interfacing with MQ-3 Alcohol Sensor Module ​ Read More Interfacing of 28BYJ Stepper Driver with Arduino. In this tutorial we will learn how to interface a Flex Sensor with the Arduino Uno. Read More Interfacing of Buzzer with Arduino Uno. In this tutorial, we will learn how to interface a Buzzer with the Arduino Uno. Read More Interfacing of 4 Digit Segment Display with Arduino Uno. In this tutorial, we will learn how to interface a 4-digit segment display with the Arduino Uno. Read More Interfacing 2 Channel Relay Module with Arduino and control High Voltage AC (current). In this tutorial, we will learn how to interface a 2 channel relay module with the Arduino Uno. Read More Measuring water flow rate and calculating quantity using Flow Sensor with Arduino. In this tutorial, we will learn how to use a water flow sensor with Arduino. We will use the serial monitor for printing the water flow rate in liters per hour and the total of liters flowing since starting. So, let's get started! Read More Interfacing of GSM 800 L Modules with Arduino. In this tutorial we will learn how to interface GSM 800L Module with the Arduino Uno. Read More Bluetooth Controlled Car Using Arduino Uno. This project shows how you can build a car which can be controlled by your Smartphone using an android application via Bluetooth. Read More Interfacing of Laser Diode with Arduino Uno. In this tutorial we will learn how to interface a Laser Diode with the Arduino Uno. Read More Interfacing of Temperature Sensor (LM35) with Arduino Uno. In this tutorial we will learn how to interface a Temperature Sensor with the Arduino Uno. Read More Motion Detection using PIR Sensor with Arduino In this Arduino Tutorial we will learn how a PIR Sensor works and how to use it with the Arduino Board for detecting motion. Read More Interfacing of Sound sensor with Arduino Uno. In this tutorial we will learn how to interface a Sound Sensor with the Arduino Uno. Read More Interfacing Colour Sensor with Arduino (TCS3200) : In this tutorial, we will learn how to use a colour sensor with Arduino. We will use the serial monitor for printing the colour values. So let's get started! This sensor is used for detecting primary colours (red, green and blue, or RGB)—colours that are physically available in LEDs in one package; for example, common cathode or common-cathode RGB LED. We can display primary colours and also generate specific colours by modifying the Arduino code. Read More Character Displaying using 8X8 LED Matrix MAX7219 with Arduino Uno In this Arduino project we will learn how to control 8×8 LED Matrix using the MAX7219 driver and the Arduino board. Read More Measuring soil moisture using Soil Moisture Sensor with Arduino (Y-38) In this tutorial, we will learn how to read soil moisture data using Analog Soil Moisture Sensor on the Arduino Platform. We are reading data from Analog Moisture Sensor, so we will get readings in the range 0 to 1023. Lesser the value means lesser the moisture in the soil. Read More Interfacing of Rain Drop Sensor with Arduino Uno. In this tutorial we will learn how to interface a Rain Drop Sensor with the Arduino Uno. Read More

  • Bluetooth Controlled Car Using Arduino Uno.

    Back Bluetooth Controlled Car Using Arduino Uno. Material Required: Material Quantity Arduino Uno 1 12V DC Motor /BO motor 2 Jumper cables 15 HC-05 Bluetooth Module 1 Breadboard 1 Breadboard 1 This tutorial will teach you how to create your own Bluetooth controlled car. So let’s get started. This will be a Bluetooth controlled car so for this project we will be using HC-05 Bluetooth module to receive the controlling data packets. We will also need an android app which will be sending the controlling data packets to the Bluetooth module. We will use a third party application ( https://play.google.com/store/apps/details?id=com.broxcode.arduinobluetoothfree&hl=en to download) for this purpose. Let's build the hardware (Body of the car) The car which we are building for this project will be a dual motor car. Two 12 v 200 rpm DC or BO motors. You can use a readymade chassis. Circuit Now let us build the circuit. CODE : Here we will use the direction of rotation of motors to control the direction of the car. Forward - Both motors move in forward direction. Backward - Both motors move in backward direction. Left - Left motor moves backwards and right motor moves forward. Right - Left motor moves forwards and right motor moves backward. Stop - Both motors stop Tested Programming Code: #include AF_DCMotor motor1(1); //motor1 is the left motor AF_DCMotor motor2(2); //motor2 is the right motor int val; void setup() { Serial.begin(9600); motor1.setSpeed(255); //motor speed is set motor2.setSpeed(255); Stop(); } void loop() { bt=Serial.read(); if(val=='1') //when the bluetooth module recieves 1 the car moves forward { forward(); } if(val=='2') //when the bluetooth module recieves 2 the car moves backward { backward(); } if(val=='3') //when the bluetooth module recieves 3 the car moves left { left(); } if(val=='4') //when the bluetooth module recieves 4 the car moves right { right(); } if(val=='5') //when the bluetooth module recieves 5 the car stops { Stop(); } } void forward() { motor1.run(FORWARD); motor2.run(FORWARD); } void backward() { motor1.run(BACKWARD); motor2.run(BACKWARD); } void left() { motor1.run(BACKWARD); motor2.run(FORWARD); } void right() { motor1.run(FORWARD); motor2.run(BACKWARD); } void Stop() { motor1.run(RELEASE); motor2.run(RELEASE); } Precautions: 1. Double check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check whether proper board is selected from Arduino IDE. 4. Ensure proper placement of Bluetooth and Motor driver for correct working. 5. Don’t lose hope if it does not run properly for the first time, try again. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing of Pulse Rate Sensor with Arduino Uno.

    Back Interfacing of Pulse Rate Sensor with Arduino Uno. What is a Pulse Rate Sensor? The pulse sensor we are going to use is a plug and play heart rate sensor. This sensor is quite easy to use and operate. Place your finger on top of the sensor and it will sense the heartbeat by measuring the change in light from the expansion of capillary blood vessels. The pulse sensor module has a light which helps in measuring the pulse rate. When we place the finger on the pulse sensor, the light reflected will change based on the volume of blood inside the capillary blood vessels. Material Required: Material Quantity Arduino Uno 1 Pulse Rate Sensor 1 Jumper cables 6 LED 1 Pinout Diagram: Circuit Diagram: Connect the pulse sensor with Arduino as follows: GND pin of pulse sensor to GND of Arduino VCC of pulse sensor to 5V of Arduino A0 of pulse sensor to A0 of Arduino After that, connect the LED to pin 13 and GND of Arduino as shown in the figure below. Tested Programming Code: int PulseSensorPurplePin = 0; int LED13 = 13; int Signal; int Threshold = 550; void setup() { pinMode(LED13,OUTPUT); Serial.begin(9600); } void loop() { Signal = analogRead(PulseSensorPurplePin); Serial.println(Signal); if(Signal > Threshold){ digitalWrite(LED13,HIGH); } else { digitalWrite(LED13,LOW); } delay(10); } Precautions: Double check the connections before powering on the circuit. Don’t use loose jumper cables. Check whether proper board is selected from Arduino IDE. Ensure proper placement of pulse rate Sensor for correct working. Don’t lose hope if pulse rate Sensor does not run properly for the first time, try again. Conclusion: Once your sketch is running, you have to open your serial monitor. There you can see the Pulse Rate (BPM) on the sensor. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing Colour Sensor with Arduino (TCS3200)

    Back Interfacing Colour Sensor with Arduino (TCS3200) What is a Color Sensor? A colour sensor can determine different colours. They will utilize a means of emitting light and then look at the reflected light to determine an object’s colour. This will give the machine the actual colour of that object. These sensors are in use in quite a few different applications today. You can find them in quality control systems, packaging systems, and more. Specifications: · Power: 2.7V to 5.5V · Size: 28.4 x 28.4mm (1.12 x 1.12″) · Interface: digital TTL · High-resolution conversion of light intensity to frequency · Programmable colour and full-scale output frequency · Communicates directly to the microcontroller Material Required: Material Quantity Arduino Uno 1 Colour Sensor 1 Jumper cables 10 Pinout Diagram: Working: The TCS230 senses colour light with the help of an 8 x 8 array of photodiodes. Then using a Current-to-Frequency Converter the readings from the photodiodes are converted into a square wave with a frequency directly proportional to the light intensity. Finally, using the Arduino Board we can read the square wave output and get the results for the colour. If we take a closer look at the sensor we can see how it detects various colours. The photodiodes have three different colour filters. Sixteen of them have red filters, another 16 have green filters, another 16 have blue filters and the other 16 photodiodes are clear with no filters. Every 16 photodiodes are connected in parallel, so using the two control pins S2 and S3 we can select which of them will be read. So for example, if we want to detect red colour, we can just use the 16 red filtered photodiodes by setting the two pins to a low logic level according to the table. The sensor has two more control pins, S0 and S1 which are used for scaling the output frequency. The frequency can be scaled to three different preset values of 100 %, 20 % or 2%. This frequency-scaling function allows the output of the sensor to be optimized for various frequency counters or microcontrollers. Circuit Diagram: Tested Programming Code: First, we need to define the pins to which the sensor is connected and define a variable for reading the frequency. In the setup section, we need to define the four control pins as outputs and the sensor output as an Arduino input. Here we also need to set the frequency scaling, for this example, I will set it to 20%, and start the serial communication for displaying the results in the Serial Monitor. In the loop section, we will start with reading the red filtered photodiodes. For that purpose, we will set the two control pins S2 and S3 to low logic level. Then using the “pulseIn()” function we will read the output frequency and put it into the variable “frequency”. Using the Serial.print() function we will print the result on the serial monitor. The same procedure goes for the two other colours, we just need to adjust the control pins for the appropriate colour. Code: #define S0 4 #define S1 5 #define S2 6 #define S3 7 #define sensorOut 8 int frequency = 0; void setup() { pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT); pinMode(sensorOut, INPUT); digitalWrite(S0,HIGH); digitalWrite(S1,LOW); Serial.begin(9600);} void loop() { digitalWrite(S2,LOW); digitalWrite(S3,LOW); frequency = pulseIn(sensorOut, LOW); Serial.print("R= ");//printing name Serial.print(frequency);//printing RED color frequency Serial.print(" "); delay(100); digitalWrite(S2,HIGH); digitalWrite(S3,HIGH); frequency = pulseIn(sensorOut, LOW); Serial.print("G= "); Serial.print(frequency);Serial.print(" "); delay(100); digitalWrite(S2,LOW); digitalWrite(S3,HIGH);frequency pulseIn(sensorOut, LOW); Serial.print("B= ");//printing name Serial.print(frequency);//printing RED color frequency Serial.println(" "); delay(100); } Precautions: 1. Double-check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check whether the proper board is selected from Arduino IDE. 4. Ensure proper placement of sensor for correct working. 5. Try it with different colours and see the change in values. Conclusion: You can successfully identify different colours using this sensor and can be deployed for many other purposes like item sorting, Rubiks cube solving etc. Output: Situation Screenshot: Serial Monitor (Ctrl+Shift+M) BLUE : GREEN : RED Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing of RFID Module with Arduino Uno.

    Back Interfacing of RFID Module with Arduino Uno. What is RFID? Radio-Frequency Identification ( RFID ) is the use of radio waves to read and capture information stored on a tag attached to an object. A tag can be read from up to several feet away and does not need to be within direct line-of-sight of the reader to be tracked. Material Required: Material Quantity Arduino Uno 1 Rfid module 1 Jumper cables 8 Pinout Diagram: Circuit Diagram: Connect the RFID module with Arduino as follows: GND pin of RFID module to GND of Arduino VCC pin of RFID module to 5V of Arduino SDA pin of RFID module to digital pin 10 of Arduino SCK pin of RFID module to digital pin 13 of Arduino. MOSI pin of RFID module to digital pin 11 of Arduino. MISO pin of RFID module to digital pin 12 of Arduino. RST pin of RFID module to digital pin 9 of Arduino. IRQ pin of RFID module is not connected Download RFID Library We need to download the library for RFID. Go to sketch >> include library >> window open >> go to search bar and type <> you see a link >> click on that link and install. Tested Programming Code: #include #include #define RST_PIN 9 #define SS_PIN 10 MFRC522 rfid(SS_PIN, RST_PIN); MFRC522::MIFARE_Key key; void setup() { Serial.begin(9600); SPI.begin(); rfid.PCD_Init(); } void loop() { if( ! rfid.PICC_IsNewCardPresent()||! rfid.PICC_ReadCardSerial()) { return; } MFRC522::PICC_TypepiccType = rfid.PICC_GetType(rfid.uid.sak); String sd = ""; for (byte i = 0; i < 4; i++) { sd += (rfid.uid.uidByte[i] < 0x10 ? "0" : "") + String(rfid.uid.uidByte[i], HEX) + (i!=3 ? ":" : ""); } sd.toUpperCase(); Serial.print("Tap card key: "); Serial.println(sd); rfid.PICC_HaltA (); rfid.PCD_StopCrypto1 (); } Precautions: Double check the connections before powering on the circuit. Don’t use loose jumper cables. Check whether proper board is selected from Arduino IDE. Ensure proper placement of RFID module Sensor for correct working. Conclusion: Once your sketch is running, you have open serial monitor and then put your RFID tag on RFID module. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • 8×8 LED Matrix MAX7219 Tutorial with Scrolling Text & Android Control via Bluetooth

    Back 8×8 LED Matrix MAX7219 Tutorial with Scrolling Text & Android Control via Bluetooth Students now you know everything about how a matrix works, let’s move to some advanced part of it. 8×8 LED Matrix Scrolling Arduino Code Next let’s take a look at the scrolling text example and see what’s different. Below the code you will find its description. #include #include PROGMEM const unsigned char CH[] = { 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // space 1, 8, B01011111, B00000000, B00000000, B00000000, B00000000, // ! 3, 8, B00000011, B00000000, B00000011, B00000000, B00000000, // " 5, 8, B00010100, B00111110, B00010100, B00111110, B00010100, // # 4, 8, B00100100, B01101010, B00101011, B00010010, B00000000, // $ 5, 8, B01100011, B00010011, B00001000, B01100100, B01100011, // % 5, 8, B00110110, B01001001, B01010110, B00100000, B01010000, // & 1, 8, B00000011, B00000000, B00000000, B00000000, B00000000, // ' 3, 8, B00011100, B00100010, B01000001, B00000000, B00000000, // ( 3, 8, B01000001, B00100010, B00011100, B00000000, B00000000, // ) 5, 8, B00101000, B00011000, B00001110, B00011000, B00101000, //* 5, 8, B00001000, B00001000, B00111110, B00001000, B00001000, // + 2, 8, B10110000, B01110000, B00000000, B00000000, B00000000, // , 4, 8, B00001000, B00001000, B00001000, B00001000, B00000000, // - 2, 8, B01100000, B01100000, B00000000, B00000000, B00000000, // . 4, 8, B01100000, B00011000, B00000110, B00000001, B00000000, // / 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // 0 3, 8, B01000010, B01111111, B01000000, B00000000, B00000000, // 1 4, 8, B01100010, B01010001, B01001001, B01000110, B00000000, // 2 4, 8, B00100010, B01000001, B01001001, B00110110, B00000000, // 3 4, 8, B00011000, B00010100, B00010010, B01111111, B00000000, // 4 4, 8, B00100111, B01000101, B01000101, B00111001, B00000000, // 5 4, 8, B00111110, B01001001, B01001001, B00110000, B00000000, // 6 4, 8, B01100001, B00010001, B00001001, B00000111, B00000000, // 7 4, 8, B00110110, B01001001, B01001001, B00110110, B00000000, // 8 4, 8, B00000110, B01001001, B01001001, B00111110, B00000000, // 9 2, 8, B01010000, B00000000, B00000000, B00000000, B00000000, // : 2, 8, B10000000, B01010000, B00000000, B00000000, B00000000, // ; 3, 8, B00010000, B00101000, B01000100, B00000000, B00000000, // < 3, 8, B00010100, B00010100, B00010100, B00000000, B00000000, // = 3, 8, B01000100, B00101000, B00010000, B00000000, B00000000, // > 4, 8, B00000010, B01011001, B00001001, B00000110, B00000000, // ? 5, 8, B00111110, B01001001, B01010101, B01011101, B00001110, // @ 4, 8, B01111110, B00010001, B00010001, B01111110, B00000000, //A 4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B 4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C 4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D 4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E 4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F 4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G 4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H 3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I 4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J 4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K 4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L 5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M 5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, //O 4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P 4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q 4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R 4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S 5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, // T 4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U 5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V 5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W 5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X 5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y 4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z 2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [ 4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \ backslash 2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ] 3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, // hat 4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _ 2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // ` 4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a 4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, // b 4, 8, B00111000, B01000100, B01000100, B00101000, B00000000, // c 4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d 4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e 3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f 4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g 4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, //h 3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i 4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j 4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k 3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l 5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m 4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n 4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o 4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p 4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q 4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r 4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s 3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t 4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u 5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, //v 5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w 5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x 4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y 3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z 3, 8, B00001000, B00110110, B01000001, B00000000, B00000000, // { 1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // | 3, 8, B01000001, B00110110, B00001000, B00000000, B00000000, // } 4, 8, B00001000, B00000100, B00001000, B00000100, B00000000, // ~ }; int DIN = 7; // DIN pin of MAX7219 module int CLK = 6; // CLK pin of MAX7219 module int CS = 5; // CS pin of MAX7219 module int maxInUse = 2; MaxMatrix m(DIN, CS, CLK, maxInUse); byte buffer[10]; char text[]= "TechKnowSkola"; // Scrolling text void setup() { m.init(); // module initialize m.setIntensity(15); // dot matix intensity 0-15 } void loop() { printStringWithShift(text, 100); // (text, scrolling speed) } // Display=the extracted characters with scrolling void printCharWithShift(char c, int shift_speed) { if (c < 32) return; c -= 32; memcpy_P(buffer, CH + 7 * c, 7); m.writeSprite(32, 0, buffer); m.setColumn(32 + buffer[0], 0); for (int i = 0; i < buffer[0] + 1; i++) { delay(shift_speed); m.shiftLeft(false, false); } } // Extract the characters from the text string void printStringWithShift(char* s, int shift_speed) { while (*s != 0) { printCharWithShift(*s, shift_speed); s++; } } Now let’s move to the functioning of Bluetooth HC-05 Description: Here we have to include an additional library for the PROGMEN which is variable modifier and it’s used for storing data in the flash memory instead of SRAM. When we have a larger database of variables which are static, like in this case defining letters and characters, it’s better to store them in the flash memory because it’s much bigger, 32K bytes, compared to the 2K bytes of the SRAM. Next with a character array we define the scrolling text and in the loop section the custom function printStringWithShift, prints the scrolling text on the LED matrix with a scrolling speed defined in milliseconds with the second argument. The first thing that this custom function do is that it extracts the characters from the text string and then display these scrolling characters on the led matrix. The particular module that I have can be powered from 3.6 to 6 volts, because it comes on breakout board which contains a voltage regulator. However, the logic voltage level of the data pins is 3.3V. So, the line between the Arduino TX (Transmit Pin, which has 5V output) and the Bluetooth module RX (Receive Pin, which supports only 3.3V) needs to be connected through a voltage divider in order not to burn the module. On the other hand, the line between the Bluetooth module TX pin and the Arduino RX pin can be connected directly because the 3.3V signal from the Bluetooth module is enough to beaccepted as a high logic at the Arduino Board. Circuit Schematics: Here’s how we need to connect the module to the Arduino Board. Connecting the Smartphone to the HC-05 Bluetooth Module and the Arduino Now we are ready to connect the smartphone to the Bluetooth module and the Arduino. What we need to do here is to activate the Bluetooth and the smartphone will find the HC-05 Bluetooth module. Then we need to pair the devices and the default password of the HC-05 module is 1234. After we have paired the devices we need an application for controlling the Arduino. There are many application in the Play Store for this purpose which will work with the Arduino code that we wrote. However, I made my own custom application for this tutorial using the MIT App Inventor online application. This is a great and easy to use application for building Android application and in my next tutorial you can find a detailed step by step guide how to build your own custom Android application for your Arduino Project. Android App for Controlling 8×8 LED Matrix via Bluetooth Once we learned how the MAX7219 works, now we can make the third example which is a practical Arduino project where we will build a custom Android app to control the LED matrix via Bluetooth communication. Before we continue I would suggest you to check detailed tutorials on how to use the HC-05 Bluetooth module and how to build a custom Android app using the MIT App Inventor online application . Here’s the Arduino code and now let’s see the modifications compared to the previous example. /* 8x8 LED Matrix MAX7219 Scrolling Text Android Control via Bluetooth by Dejan Nedelkovsk i, www.HowToMechatronics.com Based on the following library: GitHub | riyas-org/max7219 https://github.com/riyas-org/max7219 */ #include #include #include PROGMEM const unsigned char CH[] = { 3, 8, B00000000, B00000000, B00000000, B00000000, B00000000, // space 1, 8, B01011111, B00000000, B00000000, B00000000, B00000000, // ! 3, 8, B00000011, B00000000, B00000011, B00000000, B00000000, // " 5, 8, B00010100, B00111110, B00010100, B00111110, B00010100, //# 4, 8, B00100100, B01101010, B00101011, B00010010, B00000000, // $ 5, 8, B01100011, B00010011, B00001000, B01100100, B01100011, // % 5, 8, B00110110, B01001001, B01010110, B00100000, B01010000, // & 1, 8, B00000011, B00000000, B00000000, B00000000, B00000000, // ' 3, 8, B00011100, B00100010, B01000001, B00000000, B00000000, // ( 3, 8, B01000001, B00100010, B00011100, B00000000, B00000000, // ) 5, 8, B00101000, B00011000, B00001110, B00011000, B00101000, // * 5, 8, B00001000, B00001000, B00111110, B00001000, B00001000, // + 2, 8, B10110000, B01110000, B00000000, B00000000, B00000000, // , 4, 8, B00001000, B00001000, B00001000, B00001000, B00000000, //- 2, 8, B01100000, B01100000, B00000000, B00000000, B00000000, // . 4, 8, B01100000, B00011000, B00000110, B00000001, B00000000, // / 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // 0 3, 8, B01000010, B01111111, B01000000, B00000000, B00000000, // 1 4, 8, B01100010, B01010001, B01001001, B01000110, B00000000, // 2 4, 8, B00100010, B01000001, B01001001, B00110110, B00000000, // 3 4, 8, B00011000, B00010100, B00010010, B01111111, B00000000, // 4 4, 8, B00100111, B01000101, B01000101, B00111001, B00000000, // 5 4, 8, B00111110, B01001001, B01001001, B00110000, B00000000, // 6 4, 8, B01100001, B00010001, B00001001, B00000111, B00000000, // 7 4, 8, B00110110, B01001001, B01001001, B00110110, B00000000, // 8 4, 8, B00000110, B01001001, B01001001, B00111110, B00000000, // 9 2, 8, B01010000, B00000000, B00000000, B00000000, B00000000, // : 2, 8, B10000000, B01010000, B00000000, B00000000, B00000000, //; 3, 8, B00010000, B00101000, B01000100, B00000000, B00000000, // < 3, 8, B00010100, B00010100, B00010100, B00000000, B00000000, // = 3, 8, B01000100, B00101000, B00010000, B00000000, B00000000, // > 4, 8, B00000010, B01011001, B00001001, B00000110, B00000000, // ? 5, 8, B00111110, B01001001, B01010101, B01011101, B00001110, // @ 4, 8, B01111110, B00010001, B00010001, B01111110, B00000000, // A 4, 8, B01111111, B01001001, B01001001, B00110110, B00000000, // B 4, 8, B00111110, B01000001, B01000001, B00100010, B00000000, // C 4, 8, B01111111, B01000001, B01000001, B00111110, B00000000, // D 4, 8, B01111111, B01001001, B01001001, B01000001, B00000000, // E 4, 8, B01111111, B00001001, B00001001, B00000001, B00000000, // F 4, 8, B00111110, B01000001, B01001001, B01111010, B00000000, // G 4, 8, B01111111, B00001000, B00001000, B01111111, B00000000, // H 3, 8, B01000001, B01111111, B01000001, B00000000, B00000000, // I 4, 8, B00110000, B01000000, B01000001, B00111111, B00000000, // J 4, 8, B01111111, B00001000, B00010100, B01100011, B00000000, // K 4, 8, B01111111, B01000000, B01000000, B01000000, B00000000, // L 5, 8, B01111111, B00000010, B00001100, B00000010, B01111111, // M 5, 8, B01111111, B00000100, B00001000, B00010000, B01111111, // N 4, 8, B00111110, B01000001, B01000001, B00111110, B00000000, // O 4, 8, B01111111, B00001001, B00001001, B00000110, B00000000, // P 4, 8, B00111110, B01000001, B01000001, B10111110, B00000000, // Q 4, 8, B01111111, B00001001, B00001001, B01110110, B00000000, // R 4, 8, B01000110, B01001001, B01001001, B00110010, B00000000, // S 5, 8, B00000001, B00000001, B01111111, B00000001, B00000001, //T 4, 8, B00111111, B01000000, B01000000, B00111111, B00000000, // U 5, 8, B00001111, B00110000, B01000000, B00110000, B00001111, // V 5, 8, B00111111, B01000000, B00111000, B01000000, B00111111, // W 5, 8, B01100011, B00010100, B00001000, B00010100, B01100011, // X 5, 8, B00000111, B00001000, B01110000, B00001000, B00000111, // Y 4, 8, B01100001, B01010001, B01001001, B01000111, B00000000, // Z 2, 8, B01111111, B01000001, B00000000, B00000000, B00000000, // [ 4, 8, B00000001, B00000110, B00011000, B01100000, B00000000, // \ backslash 2, 8, B01000001, B01111111, B00000000, B00000000, B00000000, // ] 3, 8, B00000010, B00000001, B00000010, B00000000, B00000000, // hat 4, 8, B01000000, B01000000, B01000000, B01000000, B00000000, // _ 2, 8, B00000001, B00000010, B00000000, B00000000, B00000000, // ` 4, 8, B00100000, B01010100, B01010100, B01111000, B00000000, // a 4, 8, B01111111, B01000100, B01000100, B00111000, B00000000, //b 4, 8, B00111000, B01000100, B01000100, B00101000, B00000000, // c 4, 8, B00111000, B01000100, B01000100, B01111111, B00000000, // d 4, 8, B00111000, B01010100, B01010100, B00011000, B00000000, // e 3, 8, B00000100, B01111110, B00000101, B00000000, B00000000, // f 4, 8, B10011000, B10100100, B10100100, B01111000, B00000000, // g 4, 8, B01111111, B00000100, B00000100, B01111000, B00000000, // h 3, 8, B01000100, B01111101, B01000000, B00000000, B00000000, // i 4, 8, B01000000, B10000000, B10000100, B01111101, B00000000, // j 4, 8, B01111111, B00010000, B00101000, B01000100, B00000000, // k 3, 8, B01000001, B01111111, B01000000, B00000000, B00000000, // l 5, 8, B01111100, B00000100, B01111100, B00000100, B01111000, // m 4, 8, B01111100, B00000100, B00000100, B01111000, B00000000, // n 4, 8, B00111000, B01000100, B01000100, B00111000, B00000000, // o 4, 8, B11111100, B00100100, B00100100, B00011000, B00000000, // p 4, 8, B00011000, B00100100, B00100100, B11111100, B00000000, // q 4, 8, B01111100, B00001000, B00000100, B00000100, B00000000, // r 4, 8, B01001000, B01010100, B01010100, B00100100, B00000000, // s 3, 8, B00000100, B00111111, B01000100, B00000000, B00000000, // t 4, 8, B00111100, B01000000, B01000000, B01111100, B00000000, // u 5, 8, B00011100, B00100000, B01000000, B00100000, B00011100, // v 5, 8, B00111100, B01000000, B00111100, B01000000, B00111100, // w 5, 8, B01000100, B00101000, B00010000, B00101000, B01000100, // x 4, 8, B10011100, B10100000, B10100000, B01111100, B00000000, // y 3, 8, B01100100, B01010100, B01001100, B00000000, B00000000, // z 3, 8, B00001000, B00110110, B01000001, B00000000, B00000000, //{ 1, 8, B01111111, B00000000, B00000000, B00000000, B00000000, // | 3, 8, B01000001, B00110110, B00001000, B00000000, B00000000, // } 4, 8, B00001000, B00000100, B00001000, B00000100, B00000000, // ~ }; int dIn = 7; // DIN pin of MAX7219 module int clk = 6; // CLK pin of MAX7219 module int cs = 5; // CS pin of MAX7219 module int maxInUse = 2; // Number of MAX7219's connected MaxMatrix m(dIn, cs, clk, maxInUse); SoftwareSerial Bluetooth(8, 7); // Bluetooth byte buffer[10]; char incomebyte; int scrollSpeed = 100; char text[100] = "TechKnowSkola "; // Initial text message int brightness = 15; int count = 0; char indicator; void setup() { m.init(); // MAX7219 initialization m.setIntensity(brightness); // initial led matrix intensity, 0-15 Bluetooth.begin(38400); // Default communication rate of the Bluetooth module } void loop() { // Printing the text printStringWithShift(text, scrollSpeed); if (Bluetooth.available()) { // Checks whether data is comming from the serial port indicator = Bluetooth.read(); // Starts reading the serial port, the first byte from the incoming data // If we have pressed the "Send" button from the Android App, clear the previous text if (indicator == '1') { for (int i = 0; i < 100; i++) { text[i] = 0; m.clear(); } // Read the whole data/string comming from the phone and put it into text[] array. while (Bluetooth.available()) { incomebyte = Bluetooth.read(); text[count] = incomebyte; count++; } count = 0; } // Adjusting the Scrolling Speed else if (indicator == '2') { String sS = Bluetooth.readString(); scrollSpeed = 150 - sS.toInt(); // Milliseconds, subtraction because lower value means higher scrolling speed } // Adjusting the brightness else if (indicator == '3') { String sB = Bluetooth.readString(); brightness = sB.toInt(); m.setIntensity(brightness); } } } void printCharWithShift(char c, int shift_speed) { if (c < 32) return; c -= 32; memcpy_P(buffer, CH + 7 * c, 7); m.writeSprite(32, 0, buffer); m.setColumn(32 + buffer[0], 0); for (int i = 0; i < buffer[0] + 1; i++) { delay(shift_speed); m.shiftLeft(false, false); } } void printStringWithShift(char* s, int shift_speed) { while (*s != 0) { printCharWithShift(*s, shift_speed); s++; } } void printString(char* s) { int col = 0; while (*s != 0) { if (*s < 32) continue; char c = *s - 32; memcpy_P(buffer, CH + 7 * c, 7); m.writeSprite(col, 0, buffer); m.setColumn(col + buffer[0], 0); col += buffer[0] + 1; s++; } } Description: First we need to include the SoftwareSerial.h library which will enable the Bluetooth communication and define some variables needed for the program. In the setup section we need to initialize the Bluetooth at its default baud rate of 38400 bits per second. I set the initial text message to be “TechKnowSkola” with 100 milliseconds delay scrolling speed. Next, in the loop section, using the Bluetooth.available() function we check whether there is incoming data from the serial port and if that’s true using the Bluetooth.read function we start reading the serial port, one byte each iteration. So the first incoming byte will be always stored into the “indicator” variable and according to it choose whether we will change the text message, the scrolling speed or the brightness of the LED matrix. If we take a look at the Android app code blocks we can notice that when the “Send” button is clicked, first we send the indication byte, in this case “1”, which means we want the change the text message. In order to do that, at the Arduino side, we will clear the whole character array and also clear the LED matrix display. Then in the “while” loop we will read the rest of the data in the serial port, and that’s the messaged typed in the text box of the Android app. In case the indication variable is “2”, that means we have changed the position of the scrolling speed slider, so we will read its new value using the Bluetooth.readString() function and adjust the scrolling speed. In the same way we adjust the brightness of the LEDs. You can download the app from the following link: https://drive.google.com/open?id=1xvR_tyTF-zzdrqc6RrdHlcD5FRICIbs5 Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing of Sound sensor with Arduino Uno.

    Back Interfacing of Sound sensor with Arduino Uno. What is a Sound Sensor? The Sound Sensor Module provides an easy way to detect sound and is generally used for detecting sound Intensity. This Module can be used Security, Switch and Monitoring applications. Its accuracy can be easily Adjusted for the convenience of the usage. It uses a Microphone which supplies the input to an amplifier, peak detector and buffer. When a Sensor detects a sound , it processes an output signal voltage which is sent to microprocessor , and performs further processing. Material Required: Material Quantity Arduino Uno 1 Sound Sensor 1 Jumper cables 5 Resistor 1(1k ohm) Pinout Diagram: Circuit Diagram: Parameter Value VCC 5 V DC from your Arduino Ground GND from your Arduino Out Connect to Digital Input Pin Tested Programming Code: //Arduino Sound Detection Sensor Module int soundDetectedPin = 10; // Use Pin 10 as our Input int soundDetectedVal = HIGH; // This is where we record our Sound Measurement boolean bAlarm = false; unsigned long lastSoundDetectTime; // Record the time that we measured a sound int soundAlarmTime = 500; // Number of milli seconds to keep the sound alarm high void setup () { Serial.begin(9600); pinMode (soundDetectedPin, INPUT) ; // input from the Sound Detection Module } void loop () { soundDetectedVal = digitalRead (soundDetectedPin) ; // read the sound alarm time if (soundDetectedVal == LOW) // If we hear a sound { lastSoundDetectTime = millis(); // record the time of the sound alarm // The following is so you don't scroll on the output screen if (!bAlarm){ Serial.println("LOUD, LOUD"); bAlarm = true; } } else { if( (millis()-lastSoundDetectTime) > soundAlarmTime && bAlarm){ Serial.println("quiet"); bAlarm = false; } } } Precautions: 1. Double check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check whether proper board is selected from Arduino IDE. 4. Ensure proper placement of Sound Sensor for correctworking. 5. Don’t lose hope if Sound Sensor does not run properly for the first time, try again. Conclusion: Once your sketch is running, you will want to open your serial monitor. Make some loud noises and and view the results Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Measuring soil moisture using Soil Moisture Sensor with Arduino (Y-38)

    Back Measuring soil moisture using Soil Moisture Sensor with Arduino (Y-38) What is a Soil Moisture Sensor? This sensor measures the volumetric content of water inside the soil and gives us the moisture level as output. The sensor is equipped with both analog and digital output, so it can be used in both analog and digital mode. So let’s begin our tutorial on interfacing Arduino and Soil moisture sensor. Specifications: Input Voltage : 3.3– 5V Output Voltage : 4.2V Input Current : 35mA Output Signal : Both Analog and Digital Material Required: Material Quantity Arduino Uno 1 Soil Moisture Sensor 1 Jumper cables 5 Pinout Diagram: The soil Moisture sensor YL-38has four pins VCC: For power A0: Analog output D0: Digital output GND: Ground The Module also contains a potentiometer which will set the threshold value and then this threshold value will be compared by the LM393 comparator. The output LED will light up and down according to this threshold value. Working: The soil moisture sensor consists of two probes which are used to measure the volumetric content of water. The two probes allow the current to pass through the soil and then it gets the resistance value to measure the moisture value. When there is more water, the soil will conduct more electricity which means that there will be less resistance. Therefore, the moisture level will be higher. Dry soil conducts electricity poorly, so when there will be less water, then the soil will conduct less electricity which means that there will be more resistance. Therefore, the moisture level will be lower. This sensor can be connected in two modes; Analog mode and digital mode. First, we will connect it in Analog mode, and then we will use it in Digital mode. Analog Mode – Interfacing Soil Moisture Sensor and Arduino' To connect the sensor in the analog mode, we will need to use the analog output of the sensor. When taking the analog output from the soil moisture sensor FC-28, the sensor gives us the value from 0-1023. The moisture is measured in percentage, so we will map these values from 0 -to 100, and then we will show these values on the serial monitor. You can further set different ranges of the moisture values and turn on or off the water pump according to it. Circuit Diagram: The connections for connecting the soil moisture sensoYL-38 to the Arduino are as follows. VCC of YL-38 to 5V of Arduino GND of YL-38 to GND of Arduino A0 of YL-38 to A0 of Arduino Tested Programming Code: const int soil_sensor = A0; sensor is attached to int sensorValue = 0; void setup() { Serial.begin(9600); } void loop() { sensorValue = analogRead(soil_sensor); serial monitor: Serial.print("Moisture Value = " ); Serial.println(sensorValue); delay(1000); } Digital Mode – Interfacing Arduino and Soil Moisture Sensor To connect the soil moisture sensor YL-38 in the digital mode, we will connect the digital output of the sensor to the digital pin of the Arduino. The Sensor module contains a potentiometer with it, which is used to set the threshold value. This threshold value is then compared with the sensor output value using the LM393 comparator which is placed on the sensor module. The LM393 comparator will compare the sensor output value and the threshold value and then gives us the output through the digital pin. When the sensor value will be greater than the threshold value, then the digital pin will give us 5V and the LED on the sensor will light up and when the sensor value will be less than this threshold value, then the digital pin will give us 0V and the light will go down. Circuit Diagram: The connections for connecting the soil moisture sensor YL-38 to the Arduino in digital mode are as follows. · VCC of YL-38 to 5V of Arduino · GND of YL-38 to GND of Arduino · D0 of YL-38 to pin 12 of Arduino · LED positive to pin 13 of Arduino · LED negative to GND of Arduino Tested Programming Code int led_pin =13; int sensor_pin =8; void setup() { pinMode(led_pin, OUTPUT); pinMode(sensor_pin, INPUT); } void loop() { if(digitalRead(sensor_pin) == HIGH) { digitalWrite(led_pin, HIGH); } else { digitalWrite(led_pin, LOW); delay(1000); } } Precautions: 1. Double check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check whether the proper board is selected from Arduino IDE. 4. Ensure proper placement of sensor for correct working. 5. Please keep your hardware away from water except, the sensing probe. Conclusion: You can successfully measure the moisture percentage in the soil and control the appropriate flow of water. This sensor can be deployed in many ways like auto irrigation systems, automatic plant watering systems etc. Output: Situation Screenshot: Serial Monitor (Ctrl+Shift+M) Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Finding an obstacle using IR Sensor with Arduino

    Back Finding an obstacle using IR Sensor with Arduino What is an Infrared Sensor? An infrared sensor is an electronic instrument which is used to sense certain characteristics of its surroundings by either emitting and/or detecting infrared radiation. Infrared sensors are also capable of measuring the heat being emitted by an object and detecting motion. Material Required: Material Quantity Arduino Uno 1 Infrared Sensor 1 Jumper cables 5 LED Bulb 1 Pinout Diagram: Circuit Diagram: Working: This is a multipurpose infrared sensor which can be used for color detection. The sensor provides a digital as output. An on board LED is used to indicate the presence of an object. This digital output can be directly connected to an Arduino, Raspberry Pi or any other microcontroller to read the sensor output.IR sensors are highly susceptible to ambient light and the IR sensor on this sensor is suitably covered to reduce effect of ambient light on the sensor. The on board potentiometer should be used to calibrate the sensor. An infrared light emitting diode (IR LED) emits light of Infrared range 700 nanometers (nm) to 1 mm. This light is not visible by naked eyes but can be seen by a camera (that is why these are also used in night vision cameras). A photo diode gives response in term of change in resistance when light falls on it. That change is measured in terms of voltage. An IR LED and a Photo diode are used in a combination for proximity and color detection. An IR LED (transmitter) emits IR light, that light gets reflected by the object, the reflected light is received by an IR receiver (Photo Diode). Amount of reflection and reception varies with the distance. This difference causes to change in input voltage through IR input. This variation in input voltage is used for proximity detection. For color detection application: The amount of reflected light depends upon the color of surface from which it is reflected. The reflection is different for different colored surfaces. This makes it a color detector. Tested Programming Code: int LED = 13; // Use the onboard Uno LED int obstaclePin = 2; // This is our input pin int hasObstacle = LOW; // LOW MEANS NO OBSTACLE void setup() { pinMode(LED, OUTPUT); pinMode(obstaclePin, INPUT); Serial.begin(9600); } void loop() { hasObstacle = digitalRead(obstaclePin); //Reads the output of the obstacle sensor from the 7th PIN of the Digital section of the arduino if (hasObstacle == LOW) //LOW means path is clear, so red light connected to 13th Port connected LED is off. { Serial.println("Path is Clear"); digitalWrite(LED, LOW);//Illuminates the 13th Port LED } else { Serial.println("Stop something is ahead!!"); digitalWrite(LED, HIGH); } delay(200); } Precautions: 1. Double Check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check Whether proper board is selected from Arduino IDE. 4. Ensure proper placement of sensor for correct working. Conclusion: You can successfully check for an obstacle using an IR sensor. Many more other applications can be made using Infrared sensor as it has many possibilities to work with. Output: Place the object in front of IR proximity sensor and observe the change in LED connected to board and Arduino as well. When you remove object you will see it gets turned off. The sensor outputs a logic 1 (+5V) at the digital output when an object is placed in front of the sensor and a logic 0 (0V), when there is no object in front of the sensor. (On Serial Monitor Press Ctrl+Shift+M) Situation 1: When there is no obstacle in front of the sensor. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing of Rain Drop Sensor with Arduino Uno.

    Back Interfacing of Rain Drop Sensor with Arduino Uno. What is a Rain Drop Sensor? A raindrop sensor is a board on which nickel is coated in the form of lines. It works on the principle of resistance. The rain Sensor module allows the measurement of moisture via analog output pins and it provides a digital output when a threshold of moisture exceeds. The module is based on the LM393 op amp. It includes the electronics module and a printed circuit board that “collects” the rain drops. As raindrops are collected on the circuit board, they create paths of parallel resistance that are measured via the op amp. Material Required: Material Quantity Arduino Uno 1 Raindrop sensor 1 Jumper cables 4 Pinout Diagram: Circuit Diagram: Vcc +5 Volts Power Source GND Ground or negative power source A0 Analog Output – A0 Tested Programming Code: const int sensorMin = 0; const int sensorMax = 1024; void setup() { Serial.begin(9600); } void loop() { int sensorReading = analogRead(A0); int range = map(sensorReading, sensorMin, sensorMax, 0, 3); switch (range) { case 0: Serial.println("RAINING"); break; case 1: Serial.println("RAIN WARNING"); break; case 2: Serial.println("NOT RAINING"); break; } delay(1000); } Precautions: Double-check the connections before powering on the circuit. Don’t use loose jumper cables. Check whether the proper board is selected from Arduino IDE. Ensure proper placement of Rain drop Sensor for correct working. Don’t lose hope if Rain Drop Sensor does not run properly for the first time, try again. Conclusion: Once your sketch is running, you have to open your serial monitor. There you can see the Moisture or Rain on the Board. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing of MQ2 (gas) sensor with Arduino Uno.

    Back Interfacing of MQ2 (gas) sensor with Arduino Uno. What is a MQ2 (gas) Sensor? The Gas Sensor (MQ2) module is useful for gas leakage detection (home and industry). It is suitable for detecting H2, LPG, CH4, CO, Alcohol, Smoke or Propane. Due to its high sensitivity and fast response time, measurement can be taken as soon as possible. The sensitivity of the sensor can be adjusted by potentiometer. Material Required: Material Quantity Arduino Uno 1 MQ2 (gas) Sensor 1 Jumper cables 6 LED 1 Pinout Diagram: Circuit Diagram: Connect the pulse sensor with Arduino as follows: GND pin of MQ2 (gas) sensor to GND of Arduino VCC of MQ2 (gas) sensor to 5V of Arduino A0 of MQ2 (gas) sensor to A0 of Arduino D0 of MQ2 (gas) sensor to D2 of Arduino. If needed. After that, connect the LED to pin 13 and GND of Arduino as shown in the figure below. The LED will blink according to the MQ2 (gas) sensor. Tested Programming Code: Const int gaspin = A0; float sensorValue ; //variable to store sensor value void setup () { pinMode(gaspin,INPUT); Serial . begin ( 9600 ); // sets the serial port to 9600 Serial . println ( "Gas sensor warming up!" ); delay ( 20000 ); // allow the MQ-6 to warm up } void loop () { sensorValue = analogRead ( gaspin ); // read analog input pin 0 Serial . print ( "Sensor Value: " ); Serial . print ( sensorValue ); if ( sensorValue > 300 ) { Serial . print ( " | Smoke detected!" ); } Serial . println ( "" ); delay ( 2000 ); // wait 2s for next reading } Precautions: 1. Double check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check whether proper board is selected from Arduino IDE. 4. Ensure proper placement of MQ2 (gas) Sensor for correct working. 5. Don’t lose hope if Sensor does not run properly for the first time, try again. Conclusion: Once your sketch is running, you have to open your serial monitor. There you can see the value of gas present in air by the sensor. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing of Force Pressure Sensor with Arduino Uno.

    Back Interfacing of Force Pressure Sensor with Arduino Uno. What is a Force Pressure Sensor? An FSR (Force Sensitive Resistor) or Force Pressure Sensor is a sensor that allows you to measure physical pressure, weight and squeezing. The resistance of an FSR varies as the force on the sensor increases or decreases. When no pressure is being applied to the FSR, its resistance will be larger than 1MΩ. The harder you press on the sensor’s head, the lower the resistance between the two terminals drops. By combining the FSR with a static resistor to create a voltage divider, you can produce a variable voltage that can be read by a microcontroller’s analog-to-digital converter. Material Required: Material Quantity Arduino Uno 1 Force Pressure Sensor 1 Jumper cables 4 LED 1 Resistor 1 ( 10 k) Pinout Diagram: Circuit Diagram: The connections are pretty easy and straight forward. Make the circuit by referring the images. The FSR has two pins, one will be connected to 5V pin. The other to A0 directly and to Gnd pin via a resistor. If you need to connect the LED and control it's brightness, then connect it across pin 13 and Gnd of the Arduino. Tested Programming Code: int fsrPin = 0; // the FSR and 10K pulldown are connected to a0 int fsrReading; // the analog reading from the FSR resistor divider void setup(void) { Serial.begin(9600); } void loop(void) { fsrReading = analogRead(fsrPin); Serial.print("Analog reading = "); Serial.print(fsrReading); // the raw analog reading if (fsrReading == 0) { Serial.println(" - No pressure"); } else if (fsrReading < 10) { Serial.println(" - Light touch"); } else if (fsrReading < 50) { Serial.println(" - Light squeeze"); } else if (fsrReading < 150) { Serial.println(" - Medium squeeze"); } else { Serial.println(" - Big squeeze"); } delay(1000); } Precautions: 1. Double check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check whether proper board is selected from Arduino IDE. 4. Ensure proper placement of Force Pressure Sensor for correct working. 5. Don’t lose hope if Force Pressure Sensor does not run properly for the first time, try again. Conclusion: Once your sketch is running, you have to open your serial monitor. There you can see the Pressure applied on the sensor as Light , Big or No squeeze. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing 2 Channel Relay Module with Arduino and control High Voltage AC (current).

    Back Interfacing 2 Channel Relay Module with Arduino and control High Voltage AC (current). What is a Relay Module? A Relay is a device that helps microcontrollers (or microcontroller-based boards) like Arduino to switch on or off different household appliances like motors, lights, water heaters, television, fans, etc. The relay module for Arduino is one of the most powerful applications for Arduino as it can be used to control both A.C and D.C devices by simply controlling the relay by giving 5V. A relay is a switch that is operated electrically by an electromagnet. A relay can be used to control high voltage electronic devices such as motors as well as low voltage electronic devices such as a light bulb or a fan. Relays work on the principle of electromagnetism. When the electricity is provided to the relay coil then it acts like a magnet and changes the state of the switch. The part which powers the relay module is completely isolated from the part which turns ON or OFF. This is why we can control a 220V appliance by simply controlling it using the 5V Arduino. you should also read getting started projects of Arduino. Material Required: Material Quantity Arduino Uno 1 Relay module (2 Channel) 1 Jumper cables 6 Switching Source 1 Cable, Plug, Socket 1 Pinout Diagram: HL-52S Relay Module As an example, for this Arduino Relay Tutorial, we will use the HL-52S 2 channel relay module, which has 2 relays with a rating of 10A @ 250 and 125 V AC and 10A @ 30 and 28 V DC. The high voltage output connector has 3 pins, the middle one is the common pin, and as we can see from the markings one of the two other pins is for a normally open connection and the other one for a normally closed connection. On the other side of the module, we have these 2 sets of pins. The first one has 4 pins, a Ground and a VCC pin for powering the module, and 2 input pins In1 and In2. The second set of pins has 3 pins with a jumper between the JDVcc and the Vcc pin. With a configuration like this, the electromagnet of the relay is directly powered by the Arduino Board and if something goes wrong with the relay the microcontroller could get damaged. Circuit Diagram: For better understanding let’s see the circuit schematics of the relay module in this configuration. So we can see that the 5 volts from our microcontroller connected to the Vcc pin for activating the relay through the Optocoupler IC are also connected to the JDVcc pin which powers the electromagnet of the relay. So in this case we got no isolation between the relay and the microcontroller. To isolate the microcontroller from the relay, we need to remove the jumper and connect a separate power supply for the electromagnet to the JDVcc and the Ground pin. Now with this configuration, the microcontroller doesn’t have any physical connection with the relay, it just uses the LED light of the Optocoupler IC to activate the relay. There is one more thing to be noticed from this circuit schematics. The input pins of the module work inversely. As we can see the relay will be activated when the input pin will be LOW because in that way the current will be able to flow from the VCC to the input pin which is low or ground, and the LED will light up and activate the relay. When the input pin will be HIGH there will be no current flow, so the LED will not light up and the relay will not be activated. High Voltage Warning Before we continue with this tutorial, I will warn you here that we will use High Voltage which if incorrectly or improperly used could result in serious injuries or death. So be very cautious of what you are doing because I take no responsibility for any of your actions. How to use the relay module with the High Voltage devices First, let’s take a look at the circuit diagram. As previously described we will use a 5V Adapter as a separate power supply for the electromagnet connected to the JDVcc and the Ground pin. The Arduino’s 5V pin will be connected to the Vcc pin of the module and PIN 7 to the In1 input pin for controlling the relay. Now for the HIGH Voltage part, we need a power plug, a socket, and a cable with two wires. One of the two wires will be cut and connected to the common and the normally open pin of the module output connector. So with this configuration when we will activate the relay we will get the high voltage circuit closed and working. Here’s how made the cable. So I bought a plug, a socket, and a cable. Then I carefully cut the cable and cut one of the wires as shown in the picture below and connect them to the normally open connection pins of the relay module. Also connected the ends of the cable to the plug and the socket. Tested Programming Code: Now what’s left for this tutorial is to make a simple code and test the relay module and how it will work. Here’s the simple code, we will just use the PIN 7 for controlling the relay, so we will define it as output and make a program that will just activate and deactivate the relay every 3 seconds. I will mention once again here that the input of the module works inversely so a logic low at the input will activate the relay and vice versa. int in1 = 7; void setup() { pinMode(in1, OUTPUT); digitalWrite(in1, HIGH); } void loop() { digitalWrite(in1, LOW);delay(3000); digitalWrite(in1, HIGH); delay(3000); } There is a demonstration of this example at the end of the video of this tutorial. I tested 3 devices on it. First a 100W light bulb, then a desk lamp, and a fan heater. All of these devices work on 220V. Precautions: 1. Double-check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check whether the proper board is selected from Arduino IDE. 4. Ensure proper placement of Relay Module for correct working. 5. Use proper measures before using AC electricity. Conclusion: So that’s how we can control any High Voltage Device using Arduino or any other microcontroller. And of course, the possibilities are now endless, for example, we can control the devices using a TV Remote, Bluetooth, SMS, Internet, and so on. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing of 28BYJ Stepper Driver with Arduino.

    Back Interfacing of 28BYJ Stepper Driver with Arduino. What is so special about steppers? A stepper motor can move in accurate, fixed angle increments known as steps. For practical purposes, a stepper motor is a bit like a servo: you can tell it to move to a pre-defined position and can count on getting fairly consistent results with multiple repetitions. Servos though, are usually limited to a 0-180 degree range, while a stepper motor can rotate continuously, similar to a regular DC motor. The advantage of steppers over DC motors is that you can achieve much higher precision and control over the movement. The downside of using steppers is that they are a bit more complex to control than servos and DC motors . The 28BYJ-48 Stepper Motor Datasheet The 28BYJ-48 is a small, cheap, 5 volt geared stepping motors. These stepping motors are apparently widely used to control things like automated blinds, A/C units and are mass produced. Due to the gear reduction ratio of *approximately* 64:1 it offers decent torque for its size at speeds of about 15 rotations per minute (RPM). With some software “trickery” to accelerate gradually and a higher voltage power source (I tested them with 12 volts DC) I was able to get about 25+ RPM. These little steppers can be purchased together with a small breakout board for the Arduino compatible ULN2003 stepper motor driver for less than $5. Quite a bargain, compared to the price of a geared DC motor, a DC motor controller and a wheel encoder! The low cost and small size makes the 28BYJ-48 an ideal option for small robotic applications, and an excellent introduction to stepper motor control with Arduino. Here are the detailed specs of the 28BYJ-48 stepper motor. Motor Type Unipolar stepper motor Connection Type 5 Wire Connection (to the motor controller) Voltage 5-12 Volts DC Frequency 100 Hz Step mode Half-step mode recommended(8 step control signal sequence) Half-step mode: 8 step control signal sequence (recommended) 5.625 degrees per step / 64 steps per one revolution of the internal motor shaft Full Step mode: 4 step control signal Step angle sequence 11.25 degrees per step / 32 steps per one revolution of the internal motor shaft Manufacturer specifies 64:1 . Some patient and diligent people on the Arduino forums have disassembled the gear train of these little motors and determined that the exact gear ratio is in fact 63.68395:1 . My observations confirm their findings. These means that in the recommended half-step mode we will have:64 steps per motor rotation x 63.684 gear ratio = Gear ratio 4076 steps per full revolution (approximately). Wiring to the ULN2003 controller A (Blue), B (Pink), C (Yellow), D (Orange), E (Red, Mid- Point) Weight 30g Material Required: Material Quantity Arduino Uno 1 Stepper Driver 1 Jumper cables 6 Stepper Motor 1 Pinout Diagram: The motor has 4 coils of wire that are powered in a sequence to make the magnetic motor shaft spin. When using the full-step method, 2 of the 4 coils are powered at each step. The default stepper library that comes pre-installed with the Arduino IDE uses this method. The 28BYH-48 datasheet specifies that the preferred method for driving this stepper is using the half-step method, where we first power coil 1 only, then coil 1 and 2 together, then coil 2 only and so on…With 4 coils, this means 8 different signals, like in the table below. Circuit Diagram: Wiring the ULN2003 stepper motor driver to Arduino Uno : The ULN2003 stepper motor driver board allows you to easily control the 28BYJ-48 stepper motor from a microcontroller, like the Arduino Uno. One side of the board side has a 5 wire socket where the cable from the stepper motor hooks up and 4 LEDs to indicate which coil is currently powered. The motor cable only goes in one way, which always helps. On the side you have a motor on / off jumper (keep it on to enable power to the stepper). The two pins below the 4 resistors, is where you provide power to the stepper. Note that powering the stepper from the 5 V rail of the Arduino is not recommended. A separate 5-12 V 1 Amp power supply or battery pack should be used, as the motor may drain more current than the microcontroller can handle and could potentially damage it. In the middle of the board we have the ULN2003 chip. At the bottom are the 4 control inputs that should be connected to four Arduino digital pins . Hooking it up to the Arduino Connect the ULN2003 driver IN1, IN2, IN3 and IN4 to digital pin 3, 4, 5 and 6 respectively on the Arduino Uno. Connect the positive lead from a decent 5-12V battery pack to the “+” pin of the ULN2003 driver and the ground to the “-” pin. Make sure that the “on/off” jumper next to the “-” pin is on. If you power the Arduino from a different battery pack, connect the grounds together. Arduino stepper code and the AccelStepper library The default stepper library that comes pre-installed with the Arduino IDE supports the full-step method only and has limited features. It does not run the 28BYJ-48 motors very efficiently and getting two of them running at the same time for a differential drive robot is a bit more difficult. I came across example sketch by 4tronix that used the half-step method with no additional libraries. Their code worked well and I was able to modify it, so that I can run two steppers at the same time. Still, I was only able to get my stepper motor spinning fairly slow and it was getting quite warm, for some reason. Additionally, that sample code uses delays for the steps and that will cause some issues when we start adding more complex functions in the loop and hook up various sensors. Then I came across the AccelStepper library. It runs the 28BYJ-48 steppers very efficiently (they never go as hot as with the other options I tried) and also supports acceleration (which allows the stepper to get to a higher speed). The library uses non blocking code for the steps and has quite a few other nice features. After some messing around with the documentation and the examples I got everything up and running. Below is the code that will slowly accelerate the 28BYJ-48 in one direction, then decelerate to a stop and accelerate in the opposite direction. Naturally, make sure you download and install the AccelStepper library first! #include #define HALFSTEP 8 // Motor pin definitions #define motorPin1 3 // IN1 on the ULN2003 driver 1 #define motorPin2 4 // IN2 on the ULN2003 driver 1 #define motorPin3 5 // IN3 on the ULN2003 driver 1 #define motorPin4 6 // IN4 on the ULN2003 driver 1 // Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper with 28BYJ-48 AccelStepper stepper1 ( HALFSTEP , motorPin1 , motorPin3 , motorPin2 , motorPin4 ); void setup () { stepper1 . setMaxSpeed ( 1000.0 ); stepper1 . setAcceleration ( 100.0 ); stepper1 . setSpeed ( 200 ); stepper1 . moveTo ( 20000 ); } //--(end setup )--- void loop () { //Change direction when the stepper reaches the target position if ( stepper1 . distanceToGo () == 0 ) { stepper1 . moveTo (- stepper1 . currentPosition ()); } stepper1 . run (); } The code above will not push this motor to its limit. You can experiment with the acceleration and speed settings to see what is the best you can squeeze out. Note that for nigher speeds, you will likely need a higher voltage DC source. If you got your stepper running, here is the code that the StepperBot from the video above is running. You will need to adjust the speed, as well variables based on your base and wheel sizes, if you want to have your bot moving in a square path. #include #define HALFSTEP 8 // motor pins #define motorPin1 3 // IN1 on the ULN2003 driver 1 #define motorPin2 4 // IN2 on the ULN2003 driver 1 #define motorPin3 5 // IN3 on the ULN2003 driver 1 #define motorPin4 6 // IN4 on the ULN2003 driver 1 #define motorPin5 8 // IN1 on the ULN2003 driver 2 #define motorPin6 9 // IN2 on the ULN2003 driver 2 #define motorPin7 10 // IN3 on the ULN2003 driver 2 #define motorPin8 11 // IN4 on the ULN2003 driver 2 // Initialize with pin sequence IN1-IN3-IN2-IN4 for using the AccelStepper with 28BYJ-48 AccelStepper stepper1 ( HALFSTEP , motorPin1 , motorPin3 , motorPin2 , motorPin4 ); AccelStepper stepper2 ( HALFSTEP , motorPin5 , motorPin7 , motorPin6 , motorPin8 ); // variables int turnSteps = 2100 ; // number of steps for a 90 degree turn int lineSteps = - 6600 ; //number of steps to drive straight int stepperSpeed = 1000 ; //speed of the stepper (steps per second) int steps1 = 0 ; // keep track of the step count for motor 1 int steps2 = 0 ; // keep track of the step count for motor 2 boolean turn1 = false ; //keep track if we are turning or going straight next boolean turn2 = false ; //keep track if we are turning or going straight next void setup () { delay ( 3000 ); //sime time to put the robot down after swithing it on stepper1 . setMaxSpeed ( 2000.0 ); stepper1 . move ( 1 ); // I found this necessary stepper1 . setSpeed ( stepperSpeed ); stepper2 . setMaxSpeed ( 2000.0 ); stepper2 . move (- 1 ); // I found this necessary stepper2 . setSpeed ( stepperSpeed ); } void loop () { if ( steps1 == 0 ) { int target = 0 ; if ( turn1 == true ) { target = turnSteps ; } else { target = lineSteps ; } stepper1 . move ( target ); stepper1 . setSpeed ( stepperSpeed ); turn1 = ! turn1 ; } if ( steps2 == 0 ) { int target = 0 ; if ( turn2 == true ) { target = turnSteps ; } else { target = - lineSteps ; } stepper2 . move ( target ); stepper2 . setSpeed ( stepperSpeed ); turn2 = ! turn2 ; } steps1 = stepper1 . distanceToGo (); steps2 = stepper2 . distanceToGo (); stepper1 . runSpeedToPosition (); stepper2 . runSpeedToPosition (); } Tested Programming Code: #define IN1 3 #define IN2 4 #define IN3 5 #define IN4 6 int Steps = 4096; //4096 or 768 int cstep = 0; void setup() { Serial.begin(9600); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); } void loop() { for(int x=0;x

  • Measuring Humidity and temperature using DHT11 sensor with Arduino.

    Back Measuring Humidity and temperature using DHT11 sensor with Arduino. What is a Digital Humidity Temperature Sensor? DHT11 is a Humidity and Temperature Sensor, which generates calibrated digital output. DHT11 can be interface with any microcontroller like Arduino, Raspberry Pi, etc. and get instantaneous results. DHT11 is a low-cost humidity and temperature sensor which provides high reliability and long-term stability. Material Required: Material Quantity Arduino Uno 1 DHT11 Sensor 1 Jumper cables 3 Pinout Diagram: Working: Ok now let’s see how these sensors work. They consist of a humidity sensing component, an NTC temperature sensor (or thermistor) and an IC on the back side of the sensor. For measuring humidity they use the humidity sensing component which has two electrodes with moisture holding substrate between them. So as the humidity changes, the conductivity of the substrate changes or the resistance between these electrodes changes. This change in resistance is measured and processed by the IC which makes it ready to be read by a microcontroller. On the other hand, for measuring temperature these sensors use an NTC temperature sensor or a thermistor. A thermistor is a variable resistor that changes its resistance with the temperature change. These sensors are made by sintering semiconductive materials such as ceramics or polymers to provide larger changes in the resistance with just small temperature changes. The term “NTC” means “Negative Temperature Coefficient”, which means that the resistance decreases with an increase in the temperature. Circuit Diagram: The DHTxx sensors have four pins, VCC, GND, data pin and a not connected pin which has no usage. A pull-up resistor from 5K to 10K Ohms is required to keep the data line high and to enable the communication between the sensor and the Arduino Board. There are some versions of these sensors that come with a breakout board with a built-in pull-up resistor and they have just 3 pins. The DHTXX sensors have their single wire protocol used for transferring the data. This protocol requires precise timing and the timing diagrams for getting the data from the sensors can be found in the datasheets of the sensors. However, we don’t have to worry much about these timing diagrams because we will use the DHT library which takes care of everything. Tested Programming Code: First, we need to include the DHT library which can be found from the Arduino official website or can be downloaded from the following link https://github.com/adidax/dht11 then define the PIN to which our sensor is connected and create a DHT object. In the setup section, we need to initiate the serial communication because we will use the serial monitor to print the results. Using the read22() function we will read the data from the sensor and put the values of the temperature and the humidity into the t and h variables. If you use the DHT11 sensor you will need to you the read11() function. In the end, we will print the temperature and the humidity values on the serial monitor. #include "DHT.h" #define DHTPIN 2 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); Serial.println("DHTxx test!"); dht.begin(); } void loop() { measurements. delay(2000); float h = dht.readHumidity(); float t = dht.readTemperature(); float f =dht.readTemperature(true); if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Failed to read from DHT sensor!"); return; } float hi = dht.computeHeatIndex(f, h); Serial.print("Humidity: "); Serial.print(h); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(t); Serial.print(" *C "); Serial.print(f); Serial.print(" *F\t"); Serial.print("Heat index: "); Serial.print(hi); Serial.println(" *F"); } After we will upload this code to the Arduino board, the temperature and humidity results from the sensor can be seen on the Serial monitor. Precautions: Double-check the connections before powering on the circuit. Don’t use loose jumper cables. Check whether the proper board is selected from Arduino IDE. Ensure proper placement of sensor for correct working. Don’t put the sensor in any fluid or water, this is meant for taking ambient readings only. Conclusion: You can successfully measure temperature and humidity using the DHT11 sensor. Many more other applications can be made and triggered using the DHT11 sensor. Output: Situation Screenshot: Serial Monitor (Ctrl+Shift+M) Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing of Metal Touch Sensor with Arduino.

    Back Interfacing of Metal Touch Sensor with Arduino. What is a Metal Touch Sensor? A metal touch sensor is a type of switch that only operates when it's touched by a charged body. It has a high-frequency transistor which can conduct electricity when receiving electromagnetic signals. The sensor has 3 main components on its circuit board. First, the sensor unit at the front of the module which measures the area physically and sends an analog signal to the second unit, the amplifier. The amplifier amplifies the signal, according to the resistant value of the potentiometer, and sends the signal to the analog output of the module. The third component is a comparator which switches the digital out and the LED if the signal falls under a specific value. In this experiment, touch the base electrode of a transistor with fingers to make it conduct electricity, for human body itself is a kind of conductor and an antenna that can receive electromagnetic waves in the air. These electromagnetic wave signals collected by human body are amplified by the transistor and processed by the comparator on the module to output steady signals. You can control the sensitivity by adjusting the potentiometer. Please notice: The signal will be inverted; that means that if you measure a high value, it is shown as a low voltage value at the analog output. Technical data / Short description Outputs a signal if the metal pike of the Sensor was touched. You can adjust the sensitivity of the sensor with the controller. Digital Out: At the moment of contact detection, a signal will be outputted. Analog Out: Direct measuring value of the sensor unit. LED1: Shows that the sensor is supplied with voltage LED2: Shows that the sensor detects a magnetic field Material Required: Material Quantity Arduino Uno 1 Metal Touch Sensor 1 Jumper cables 4 Pinout Diagram: This sensor doesn't show absolute values (like exact temperature in °C or magnetic field strength in mT). It is a relative measurement: you define an extreme value to a given normal environment situation and a signal will be send if the measurement exceeds the extreme value. Tested Programming Code: // Declaration and initialization of the input pin int Analog_Eingang = A0; int Digital_Eingang = 3; void setup () { pinMode (Analog_Eingang, INPUT); pinMode (Digital_Eingang, INPUT); Serial.begin (9600); } // The program reads the current value of the input pins // and outputs it via serial out void loop () { float Analog; int Digital; // Current value will be read and converted to the voltage Analog = analogRead (Analog_Eingang) * (5.0 / 1023.0); Digital = digitalRead (Digital_Eingang); // and outputted here Serial.print ("Analog voltage value:"); Serial.print (Analog, 4); Serial.print ("V, "); Serial.print ("Extreme value:"); if(Digital==1) { Serial.println (" reached"); } Else { Serial.println (" not reached yet"); } Serial.println ("----------------------------------------------------------------"); delay (200); } Precautions: 1. Double check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check whether proper board is selected from Arduino IDE. 4. Ensure proper placement of sensor for correct working. 5. Don’t lose hope if Sensor does not run properly for the first time, try again. Conclusion: You can successfully interface metal touch sensor and check for different conductivity values and can use it to detect different bodies when they come in contact. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • Interfacing of Temperature Sensor (LM35) with Arduino Uno.

    Back Interfacing of Temperature Sensor (LM35) with Arduino Uno. What is a Temperature Sensor? LM35 is a precision temperature sensor with its output proportional to the temperature (in C). With LM35, temperature can be measured more accurately than with a thermistor. It also possess low self heating and does not cause more than 0.1 C temperature rise in still air. The operating temperature range is from -55°C to 150°C. The output voltage varies by 10mV in response to ambient temperature; its scale factor is 0.01V/ C. Material Required: Material Quantity Arduino Uno 1 Temperature Sensor(LM35) 1 Jumper cables 4 Pinout Diagram: Circuit Diagram: Parameter Value VCC 5 V DC from your Arduino Ground GND from your Arduino Out Connect to Analog Pin A0 Tested Programming Code: float tempC; int reading; int tempPin = 0; void setup() { analogReference(INTERNAL); Serial.begin(9600); } void loop() { reading = analogRead(tempPin); tempC = reading / 9.31; Serial.print("Temprature= "); Serial.print(tempC); Serial.print("*C"); Serial.println(); delay(1000); } Precautions: 1. Double check the connections before powering on the circuit. 2. Don’t use loose jumper cables. 3. Check whether proper board is selected from Arduino IDE. 4. Ensure proper placement of Temperature Sensor for correct working. 5. Don’t lose hope if Temperature Sensor does not run properly for the first time, try again. Conclusion: Once your sketch is running, you have to open your serial monitor. There you can see the Temperature of the surroundings. Reference URL GET IN TOUCH We'd love to hear from you Contact Us

bottom of page