top of page

Search Results

81 items found for ""

  • Interfacing of Rain Drop Sensor with Arduino Uno. | TechKnowSkola

    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

  • Refer Friends | TechKnowSkola

    Get a ₹100 discount on your order Apply reward when placing your first order. Get Reward Get a ₹100 discount for each friend you refer Get special perks for you and your friends 1. Give your friends a ₹100 discount. 2. Get a ₹100 discount for each friend who places an order. Applies to the lowest priced item in the cart. Log in to refer

  • Interfacing of GSM 800 L Modules with Arduino. | TechKnowSkola

    Back Interfacing of GSM 800 L Modules with Arduino. What is a GSM Module ? The SIM800L is a cheap and portable GSM breakout board with all the capabilities of the larger SIM900 shields. In this Arduino SIM800L tutorial, I will help you get started with this nifty device. Sending and receiving texts with your Arduino have never been easier! SIM800L Introduction Here are the features of the SIM800L breakout board: 2G quad-band @ 850/900/1800/1900 MHz Receive and make calls using the speaker and microphone outputs Receive and send SMS Connect to the Internet via GPRS Listen to FM radio broadcasts Accepts AT Commands From the specification of SIM800L we would able to find out that its: Operating Voltage: 3.3 - 5 Volts Recommended voltage: 3.4 - 4.4 Volts Recommended Current: 1 – 2 Amp Therefore, if we use voltages below 3.4, either the SIM800L will not work or it will work but not all its features are responding (e.g unable to read SIM card). But if use voltage equal to its MAXIMUM operating voltage, the module might heat up and then got destroyed, or if we use ABOVE operating voltage, well, it will absolutely destroy the module. Most important, we should not supply a current above 2 Amp (e.g 5 Amp) to the module, it will destroy the module even if your voltage is in 3.4 - 4.4 volts range. But here in our tutorial, you will observe that the module get 5V supply from arduino. That’s sound risky, but as my measurement, computation and observation, 5V pin in Arduino generate current from 500mA -1 Amp which gives a maximum power of 5 Watts. 5 watts qualifies from recommended power which would not cause the module to heat up or destroyed. That’s why 5V pin in Arduino qualifies as a supply voltage. If the power to the SIM800L is enough, the on-board LED starts blinking. The frequency of the blinking means something: Every second: searching for a network. Every three seconds: connected to a network. Twice per second: connected through GPRS. Antennas are essential for this kind of module especially if your project is indoors. Without an antenna, there would not be enough transmitting power for the SIM800L to perform GSM services such as calls and SMS. Material Required: Material Quantity Arduino Uno 1 SIM 800L 1 Jumper cables 6 Breadboard 1 Pinout Diagram: Circuit Diagram: Note: Make sure you already inserted your SIM card before powering the module. If not, you will not see any changes in the module LED indicator. SIM800 VCC ↔ Arduino 5v SIM800 GND ↔ Arduino GND SIM800 SIM_TXD ↔ Arduino pin 3 SIM800 SIM_RXD ↔ Arduino pin 2 Step 2: Code Download and Add Adafriut Fona library to your Arduino library. Then open and upload the Fonatest sample code from Adafruit Fona. Open Serial monitor then change baudrate to 115200 and choose NL & CR. Then you'll see Menu of test setup, choose anything you want to test (e.g send and receive message). Tested Programming Code: #include "Adafruit_FONA.h" #define FONA_RX 2 #define FONA_TX 3 #define FONA_RST 4 // this is a large buffer for replies char replybuffer[255]; // We default to using software serial. If you want to use hardware serial // (because softserial isnt supported) comment out the following three lines // and uncomment the HardwareSerial line #include SoftwareSerial fonaSS = SoftwareSerial(FONA_TX, FONA_RX); SoftwareSerial *fonaSerial = &fonaSS; // Hardware serial is also possible! // HardwareSerial *fonaSerial = &Serial1; // Use this for FONA 800 and 808s Adafruit_FONA fona = Adafruit_FONA(FONA_RST); // Use this one for FONA 3G //Adafruit_FONA_3G fona = Adafruit_FONA_3G(FONA_RST); uint8_t readline(char *buff, uint8_t maxbuff, uint16_t timeout = 0); uint8_t type; void setup() { while (!Serial); Serial.begin(115200); Serial.println(F("FONA basic test")); Serial.println(F("Initializing.. (May take 3 seconds)")); fonaSerial->begin(4800); if (! fona.begin(*fonaSerial)) { Serial.println(F("Couldn't find FONA")); while (1); } type = fona.type(); Serial.println(F("FONA is OK")); Serial.print(F("Found ")); switch (type) { case FONA800L: Serial.println(F("FONA 800L")); break; case FONA800H: Serial.println(F("FONA 800H")); break; case FONA808_V1: Serial.println(F("FONA 808 (v1)")); break; case FONA808_V2: Serial.println(F("FONA 808 (v2)")); break; case FONA3G_A: Serial.println(F("FONA 3G (American)")); break; case FONA3G_E: Serial.println(F("FONA 3G (European)")); break; default: Serial.println(F("???")); break; } // Print module IMEI number. char imei[16] = {0}; // MUST use a 16 character buffer for IMEI! uint8_t imeiLen = fona.getIMEI(imei); if (imeiLen > 0) { Serial.print("Module IMEI: "); Serial.println(imei); } // Optionally configure a GPRS APN, username, and password. // You might need to do this to access your network's GPRS/data // network. Contact your provider for the exact APN, username, // and password values. Username and password are optional and // can be removed, but APN is required. //fona.setGPRSNetworkSettings(F("your APN"), F("your username"), F("your password")); // Optionally configure HTTP gets to follow redirects over SSL. // Default is not to follow SSL redirects, however if you uncomment // the following line then redirects over SSL will be followed. //fona.setHTTPSRedirect(true); printMenu(); } void printMenu(void) { Serial.println(F(" ")); Serial.println(F("[?] Print this menu")); Serial.println(F("[a] read the ADC 2.8V max (FONA800 & 808)")); Serial.println(F("[b] read the Battery V and % charged")); Serial.println(F("[C] read the SIM CCID")); Serial.println(F("[U] Unlock SIM with PIN code")); Serial.println(F("[i] read RSSI")); Serial.println(F("[n] get Network status")); Serial.println(F("[v] set audio Volume")); Serial.println(F("[V] get Volume")); Serial.println(F("[H] set Headphone audio (FONA800 & 808)")); Serial.println(F("[e] set External audio (FONA800 & 808)")); Serial.println(F("[T] play audio Tone")); Serial.println(F("[P] PWM/Buzzer out (FONA800 & 808)")); // FM (SIM800 only!) Serial.println(F("[f] tune FM radio (FONA800)")); Serial.println(F("[F] turn off FM (FONA800)")); Serial.println(F("[m] set FM volume (FONA800)")); Serial.println(F("[M] get FM volume (FONA800)")); Serial.println(F("[q] get FM station signal level (FONA800)")); // Phone Serial.println(F("[c] make phone Call")); Serial.println(F("[A] get call status")); Serial.println(F("[h] Hang up phone")); Serial.println(F("[p] Pick up phone")); // SMS Serial.println(F("[N] Number of SMSs")); Serial.println(F("[r] Read SMS #")); Serial.println(F("[R] Read All SMS")); Serial.println(F("[d] Delete SMS #")); Serial.println(F("[s] Send SMS")); Serial.println(F("[u] Send USSD")); // Time Serial.println(F("[y] Enable network time sync (FONA 800 & 808)")); Serial.println(F("[Y] Enable NTP time sync (GPRS FONA 800 & 808)")); Serial.println(F("[t] Get network time")); // GPRS Serial.println(F("[G] Enable GPRS")); Serial.println(F("[g] Disable GPRS")); Serial.println(F("[l] Query GSMLOC (GPRS)")); Serial.println(F("[w] Read webpage (GPRS)")); Serial.println(F("[W] Post to website (GPRS)")); // GPS if ((type == FONA3G_A) || (type == FONA3G_E) || (type == FONA808_V1) || (type == FONA808_V2)) { Serial.println(F("[O] Turn GPS on (FONA 808 & 3G)")); Serial.println(F("[o] Turn GPS off (FONA 808 & 3G)")); Serial.println(F("[L] Query GPS location (FONA 808 & 3G)")); if (type == FONA808_V1) { Serial.println(F("[x] GPS fix status (FONA808 v1 only)")); } Serial.println(F("[E] Raw NMEA out (FONA808)")); } Serial.println(F("[S] create Serial passthru tunnel")); Serial.println(F(" ")); Serial.println(F("")); } void loop() { Serial.print(F("FONA> ")); while (! Serial.available() ) { if (fona.available()) { Serial.write(fona.read()); } } char command = Serial.read(); Serial.println(command); switch (command) { case '?': { printMenu(); break; } case 'a': { // read the ADC uint16_t adc; if (! fona.getADCVoltage(&adc)) { Serial.println(F("Failed to read ADC")); } else { Serial.print(F("ADC = ")); Serial.print(adc); Serial.println(F(" mV")); } break; } case 'b': { // read the battery voltage and percentage uint16_t vbat; if (! fona.getBattVoltage(&vbat)) { Serial.println(F("Failed to read Batt")); } else { Serial.print(F("VBat = ")); Serial.print(vbat); Serial.println(F(" mV")); } if (! fona.getBattPercent(&vbat)) { Serial.println(F("Failed to read Batt")); } else { Serial.print(F("VPct = ")); Serial.print(vbat);Serial.println(F("%")); } break; } case 'U': { // Unlock the SIM with a PIN code char PIN[5]; flushSerial(); Serial.println(F("Enter 4-digit PIN")); readline(PIN, 3); Serial.println(PIN); Serial.print(F("Unlocking SIM card: ")); if (! fona.unlockSIM(PIN)) { Serial.println(F("Failed")); } else { Serial.println(F("OK!")); } break; } case 'C': { // read the CCID fona.getSIMCCID(replybuffer); // make sure replybuffer is at least 21 bytes! Serial.print(F("SIM CCID = ")); Serial.println(replybuffer); break; } case 'i': { // read the RSSI uint8_t n = fona.getRSSI(); int8_t r; Serial.print(F("RSSI = ")); Serial.print(n); Serial.print(": "); if (n == 0) r = -115; if (n == 1) r = -111; if (n == 31) r = -52; if ((n >= 2) && (n <= 30)) { r = map(n, 2, 30, -110, -54); } Serial.print(r); Serial.println(F(" dBm")); break; } case 'n': { // read the network/cellular status uint8_t n = fona.getNetworkStatus(); Serial.print(F("Network status ")); Serial.print(n); Serial.print(F(": ")); if (n == 0) Serial.println(F("Not registered")); if (n == 1) Serial.println(F("Registered (home)")); if (n == 2) Serial.println(F("Not registered (searching)")); if (n == 3) Serial.println(F("Denied")); if (n == 4) Serial.println(F("Unknown")); if (n == 5) Serial.println(F("Registered roaming")); break; } /*** Audio ***/ case 'v': { // set volume flushSerial(); if ( (type == FONA3G_A) || (type == FONA3G_E) ) { Serial.print(F("Set Vol [0-8] ")); } else { Serial.print(F("Set Vol % [0-100] ")); } uint8_t vol = readnumber(); Serial.println(); if (! fona.setVolume(vol)) { Serial.println(F("Failed")); } else { Serial.println(F("OK!")); } break; } case 'V': { uint8_t v = fona.getVolume(); Serial.print(v); if ( (type == FONA3G_A) || (type == FONA3G_E) ) { Serial.println(" / 8"); } else { Serial.println("%"); } break; } case 'H': { // Set Headphone output if (! fona.setAudio(FONA_HEADSETAUDIO)) { Serial.println(F("Failed")); } else { Serial.println(F("OK!")); } fona.setMicVolume(FONA_HEADSETAUDIO, 15); break; } case 'e': { // Set External output if (! fona.setAudio(FONA_EXTAUDIO)) { Serial.println(F("Failed")); } else { Serial.println(F("OK!")); } fona.setMicVolume(FONA_EXTAUDIO, 10); break; } case 'T': { // play tone flushSerial(); Serial.print(F("Play tone #")); uint8_t kittone = readnumber(); Serial.println(); // play for 1 second (1000 ms) if (! fona.playToolkitTone(kittone, 1000)) { Serial.println(F("Failed")); } else { Serial.println(F("OK!")); } break; } case 'f': { // get freq flushSerial(); Serial.print(F("FM Freq (eg 1011 == 101.1 MHz): ")); uint16_t station = readnumber(); Serial.println(); // FM radio ON using headset if (fona.FMradio(true, FONA_HEADSETAUDIO)) { Serial.println(F("Opened")); } if (! fona.tuneFMradio(station)) { Serial.println(F("Failed")); } else { Serial.println(F("Tuned")); } break; } case 'F': { // FM radio off if (! fona.FMradio(false)) { Serial.println(F("Failed")); } else { Serial.println(F("OK!")); } break; } case 'm': { // Set FM volume. flushSerial(); Serial.print(F("Set FM Vol [0-6]:")); uint8_t vol = readnumber(); Serial.println(); if (!fona.setFMVolume(vol)) { Serial.println(F("Failed")); } else { Serial.println(F("OK!")); } break; case 'M': { // Get FM volume. uint8_t fmvol = fona.getFMVolume(); if (fmvol < 0) { Serial.println(F("Failed")); } else { Serial.print(F("FM volume: ")); Serial.println(fmvol, DEC); } break; } case 'q': { // Get FM station signal level (in decibels). flushSerial(); Serial.print(F("FM Freq (eg 1011 == 101.1 MHz): ")); uint16_t station = readnumber(); Serial.println(); int8_t level = fona.getFMSignalLevel(station); if (level < 0) { Serial.println(F("Failed! Make sure FM radio is on (tuned to station).")); } else { Serial.print(F("Signal level (dB): ")); Serial.println(level, DEC); } break; } /*** PWM ***/ case 'P': { // PWM Buzzer output @ 2KHz max flushSerial(); Serial.print(F("PWM Freq, 0 = Off, (1-2000): ")); uint16_t freq = readnumber(); Serial.println(); if (! fona.setPWM(freq)) { break; } /*** Call ***/ case 'c': { // call a phone! char number[30]; flushSerial(); Serial.print(F("Call #")); readline(number, 30); Serial.println(); Serial.print(F("Calling ")); Serial.println(number); if (!fona.callPhone(number)) { Serial.println(F("Failed")); } else { Serial.println(F("Sent!")); } break; } case 'A': { // get call status int8_t callstat = fona.getCallStatus(); switch (callstat) { case 0: Serial.println(F("Ready")); break; case 1: Serial.println(F("Could not get status")); break; case 3: Serial.println(F("Ringing (incoming)")); break; case 4: Serial.println(F("Ringing/in progress (outgoing)")); break; default: Serial.println(F("Unknown")); break; } break; } case 'h': { // hang up! if (! fona.hangUp()) { break; } case 'p': { // pick up! if (! fona.pickUp()) { Serial.println(F("Failed")); } else { Serial.println(F("OK!")); } break; } /*** SMS ***/ case 'N': { // read the number of SMS's! int8_t smsnum = fona.getNumSMS(); if (smsnum < 0) { Serial.println(F("Could not read # SMS")); } else { Serial.print(smsnum); Serial.println(F(" SMS's on SIM card!")); } break; } case 'r': { // read an SMS flushSerial(); Serial.print(F("Read #")); uint8_t smsn = readnumber(); Serial.print(F("\n\rReading SMS #")); Serial.println(smsn); // Retrieve SMS sender address/phone number. if (! fona.getSMSSender(smsn, replybuffer, 250)) { Serial.println("Failed!"); break; } Serial.print(F("FROM: ")); Serial.println(replybuffer); // Retrieve SMS value. uint16_t smslen; if (! fona.readSMS(smsn, replybuffer, 250, &smslen)) { // pass in buffer and max len! Serial.println("Failed!"); break; } Serial.print(F("***** SMS #")); Serial.print(smsn); Serial.print(" ("); Serial.print(smslen); Serial.println(F(") bytes *****")); Serial.println(replybuffer); Serial.println(F("*****")); break; } case 'R': { // read all SMS int8_t smsnum = fona.getNumSMS(); uint16_t smslen; int8_t smsn; if ( (type == FONA3G_A) || (type == FONA3G_E) ) { smsn = 0; // zero indexed smsnum--; } else { smsn = 1; // 1 indexed } for ( ; smsn <= smsnum; smsn++) { Serial.print(F("\n\rReading SMS #")); Serial.println(smsn); if (!fona.readSMS(smsn, replybuffer, 250, &smslen)) { // pass in buffer and max len! Serial.println(F("Failed!")); break; } // if the length is zero, its a special case where the index number is higher // so increase the max we'll look at! if (smslen == 0) { Serial.println(F("[empty slot]")); smsnum++; continue; } Serial.print(F("***** SMS #")); Serial.print(smsn); Serial.print(" ("); Serial.print(smslen); Serial.println(F(") bytes *****")); Serial.println(replybuffer); Serial.println(F("*****")); } break; } case 'd': { // delete an SMS flushSerial(); Serial.print(F("Delete #")); uint8_t smsn = readnumber(); Serial.print(F("\n\rDeleting SMS #")); Serial.println(smsn); if (fona.deleteSMS(smsn)) { Serial.println(F("OK!")); } else { Serial.println(F("Couldn't delete")); } break; } case 's': { // send an SMS! char sendto[21], message[141]; flushSerial(); Serial.print(F("Send to #")); readline(sendto, 20); Serial.println(sendto); Serial.print(F("Type out one-line message (140 char): ")); readline(message, 140); Serial.println(message); if (!fona.sendSMS(sendto, message)) { Serial.println(F("Failed")); } else { Serial.println(F("Sent!")); } break; } case 'u': { // send a USSD! char message[141]; flushSerial(); Serial.print(F("Type out one-line message (140 char): ")); readline(message, 140); Serial.println(message); uint16_t ussdlen; if (!fona.sendUSSD(message, replybuffer, 250, &ussdlen)) { // pass in buffer and max len! Serial.println(F("Failed")); } else { Serial.println(F("Sent!")); Serial.print(F("***** USSD Reply")); Serial.print(" ("); Serial.print(ussdlen); Serial.println(F(") bytes *****")); Serial.println(replybuffer); Serial.println(F("*****")); } } /*** Time ***/ case 'y': { // enable network time sync if (!fona.enableNetworkTimeSync(true)) Serial.println(F("Failed to enable")); break; } case 'Y': { // enable NTP time sync if (!fona.enableNTPTimeSync(true, F("pool.ntp.org"))) Serial.println(F("Failed to enable")); break; } case 't': { // read the time char buffer[23]; fona.getTime(buffer, 23); // make sure replybuffer is at least 23 bytes! Serial.print(F("Time = ")); Serial.println(buffer); break; } /*********************************** GPS (SIM808 only) */ case 'o': { // turn GPS off if (!fona.enableGPS(false)) Serial.println(F("Failed to turn off")); break; } case 'O': { // turn GPS on if (!fona.enableGPS(true)) Serial.println(F("Failed to turn on")); break; } case 'x': { int8_t stat; // check GPS fix stat = fona.GPSstatus(); if (stat < 0) Serial.println(F("Failed to query")); if (stat == 0) Serial.println(F("GPS off")); if (stat == 1) Serial.println(F("No fix")); if (stat == 2) Serial.println(F("2D fix")); if (stat == 3) Serial.println(F("3D fix")); break; } case 'L': { // check for GPS location char gpsdata[120]; fona.getGPS(0, gpsdata, 120); if (type == FONA808_V1) Serial.println(F("Reply in format: mode,longitude,latitude,altitude,utctime(yyyymmddHHMMSS),ttff,satellites,speed,course")); else Serial.println(F("Reply in format: mode,fixstatus,utctime(yyyymmddHHMMSS),latitude,longitude,altitude,speed,course,fixmode,reserved1,HDOP, PDOP,VDOP,reserved2,view_satellites,used_satellites,reserved3,C/N0max,HPA,VPA")); Serial.println(gpsdata); break; } case 'E': { flushSerial(); if (type == FONA808_V1) { Serial.print(F("GPS NMEA output sentences (0 = off, 34 = RMC+GGA, 255 = all)")); } else { Serial.print(F("On (1) or Off (0)? ")); } uint8_t nmeaout = readnumber(); // turn on NMEA output fona.enableGPSNMEA(nmeaout); break; } /*********************************** GPRS */ case 'g': { // turn GPRS off if (!fona.enableGPRS(false)) Serial.println(F("Failed to turn off")); break; } case 'G': { // turn GPRS on if (!fona.enableGPRS(true)) Serial.println(F("Failed to turn on")); break; } case 'l': { // check for GSMLOC (requires GPRS) uint16_t returncode; if (!fona.getGSMLoc(&returncode, replybuffer, 250)) Serial.println(F("Failed!")); if (returncode == 0) { Serial.println(replybuffer); } else { Serial.print(F("Fail code #")); Serial.println(returncode); } break; } case 'w': { // read website URL uint16_t statuscode; int16_t length; char url[80]; flushSerial(); Serial.println(F("NOTE: in beta! Use small webpages to read!")); Serial.println(F("URL to read (e.g. www.adafruit.com/testwifi/index.html):") ); Serial.print(F("http://")); readline(url, 79); Serial.println(url); Serial.println(F("****")); if (!fona.HTTP_GET_start(url, &statuscode, (uint16_t *)&length)){ Serial.println("Failed!"); break; } while (length > 0) { while (fona.available()) { char c = fona.read(); // Serial.write is too slow, we'll write directly to Serial register! #if defined(AVR_ATmega328P ) || defined( AVR_ATmega168) loop_until_bit_is_set(UCSR0A, UDRE0); /* Wait until data register empty. */ UDR0 = c; #else #endif } Serial.write(c); length--; if (! length) break; } Serial.println(F("\n****")); fona.HTTP_GET_end(); break; } case 'W': { // Post data to website uint16_t statuscode; int16_t length; char url[80]; char data[80]; flushSerial(); Serial.println(F("NOTE: in beta! Use simple websites to post!")); Serial.println(F("URL to post (e.g. httpbin.org/post):")); Serial.print(F("http://")); readline(url, 79); Serial.println(url); Serial.println(F("Data to post (e.g. \"foo\" or \"{\"simple\":\"json\"}\"):")); readline(data, 79); Serial.println(data); Serial.println(F("****")); if (!fona.HTTP_POST_start(url, F("text/plain"), (uint8_t *) data, strlen(data), &statuscode, (uint16_t *)&length)) { Serial.println("Failed!"); break; } while (length > 0) { while (fona.available()) { char c = fona.read(); #if defined( AVR_ATmega328P ) || defined( AVR_ATmega168 ) loop_until_bit_is_set(UCSR0A, UDRE0); /* Wait until data register empty. */ UDR0 = c; #else #endif Serial.write(c); length--; if (! length) break; } } Serial.println(F("\n****")); fona.HTTP_POST_end(); break; } /*****************************************/ case 'S': { Serial.println(F("Creating SERIAL TUBE")); while (1) { while (Serial.available()) { delay(1); fona.write(Serial.read()); } if (fona.available()) { Serial.write(fona.read()); } } break; } default: { Serial.println(F("Unknown command")); printMenu(); break; } } // flush input flushSerial(); while (fona.available()) { Serial.write(fona.read()); } } void flushSerial() { while (Serial.available()) Serial.read(); } char readBlocking() { while (!Serial.available()); return Serial.read(); } uint16_t readnumber() { uint16_t x = 0; char c; while (! isdigit(c = readBlocking())) { //Serial.print(c); } Serial.print(c); x = c - '0'; while (isdigit(c = readBlocking())) { Serial.print(c); x *= 10; x += c - '0'; } return x; } uint8_t readline(char *buff, uint8_t maxbuff, uint16_t timeout) { uint16_t buffidx = 0; boolean timeoutvalid = true; if (timeout == 0) timeoutvalid = false; while (true) { if (buffidx > maxbuff) { //Serial.println(F("SPACE")); break; } while (Serial.available()) { char c = Serial.read(); //Serial.print(c, HEX); Serial.print("#"); Serial.println(c); if (c == '\r') continue; if (c == 0xA) { if (buffidx == 0) // the first 0x0A is ignored continue; timeout = 0; // the second 0x0A is the end of the line timeoutvalid = true; break; } buff[buffidx] = c; buffidx++; } if (timeoutvalid && timeout == 0) { //Serial.println(F("TIMEOUT")); break; } delay(1); } buff[buffidx] = 0; // null term return buffidx; } Precautions: 1. Double check the connections before powering on thecircuit. 2. Don’t use loose jumper cables. 3. Check whether proper board is selected from ArduinoIDE. 4. Ensure proper placement of sensor for correct working. 5. Don’t lose hope if Flex Sensor or LED does not runs properly for the first time, try again. Conclusion: You can successfully interface different devices using the Resistance principle of Flex Sensor.s Reference URL GET IN TOUCH We'd love to hear from you Contact Us

  • TechKnowSkola | The Technology School by Engineers & Innovators

    Join the TechKnowSkola Team Unlock Your Potential in STEAM Education! Are you passionate about shaping the future of education and inspiring the next generation of innovators? At TechKnowSkola, we are on a mission to revolutionize STEAM education and empower students with cutting-edge knowledge and skills. Join our dynamic team of educators, creators, and visionaries to make a meaningful impact in the world of education. Why Choose a Career at TechKnowSkola? 🚀 Transformative Education: Be part of a forward-thinking organization that believes in the power of STEAM education to drive positive change and innovation. 💡 Innovative Environment: Embrace a culture of innovation and continuous learning. Contribute to the development of progressive teaching methodologies and technologies. 🏆 Recognition and Growth: Be recognized for your contributions and dedication. Avail opportunities for professional growth and career advancement. 🌟 Inspire Future Innovators: Fuel young minds with creativity, curiosity, and problem-solving abilities. Shape the next generation of thinkers and doers. 📚 Holistic Development: Support the holistic development of students by fostering their social, emotional, and intellectual growth. 🌍 Global Impact: Collaborate with educators, schools, and organizations worldwide to expand access to quality education and drive positive change on a global scale. 🔍 Explore Exciting Opportunities! 🔎 Current Openings 🔬 STEAM Educator: Inspire students through engaging STEAM lessons and hands-on activities. Cultivate a love for learning and curiosity in young minds. 🎨 Robotics and AI Specialist: Lead our robotics and AI programs, guiding students in exploring the exciting world of automation and intelligent systems. 💻 Technology Integration Specialist: Harness the power of technology to enhance classroom learning and create innovative educational experiences. 🎓 Curriculum Developer: Craft dynamic and progressive curricula that align with educational standards and inspire creativity and critical thinking. 🌐 Marketing and Outreach: Drive the growth and visibility of TechKnowSkola through strategic marketing and outreach initiatives. ✨ Additional Openings: We are also hiring for Product Developers, PCB Designers, and Embedded Electronics Engineers. To join TechKnowSkola's inspiring team, kindly send your resume to Contact@techknowskola.com . Together, let's embark on a journey of innovation and transformation in STEAM education! 🚀🔬🎉 Connect with us on Linkedin

  • Meet Our Expert Team | TechKnowSkola - Leaders in STEAM Education

    Meet Our #Guru's Let no man in the world live in delusion. Without a Guru none can cross over to the other shore. ~Shree Guru Nanak Dev दुनिया में किसी भी व्यक्ति को भ्रम में नहीं रहना चाहिए. बिना गुरु के कोई भी दुसरे किनारे तक नहीं जा सकता है. ~ श्री गुरु नानक देव Ajay Raja (Mentor) He is a Data & Analytics manager with the BCG New Delhi office. He has rich experience in applying AI/ML transformations, supply chain optimization, digital marketing optimization to drive operational excellence for Fortune 500 companies. ​ He has a Masters degree in Mathematics from BITS Pilani. Jaishiv Natarajan (Mentor) Philanthropy | Diversity & Entrepreneurship ​ Entrepreneur & Guest Speaker. He runs a UK based virus research and drug discovery(pharmaceutical) company. Some of the sectors he is associated with are Healthcare, IoT, Life Sciences, Medical Devices and Drug Discovery. ​ He has done Master's degree, Bioinformatics, from The University of Edinburgh, Scotland. Brijesh Kumar Sharma (Advisor) He is retired government lecturer (Government of Rajasthan) well known educationist & social worker (Department of Education, Rajasthan) & owner of St. Augustya Education Trust. ​ He is having rich experience of 40 years in education. Through these years he remain part of well known Dalmia Education Trust etc as Sr. Teacher. Advocate Raman Mudgil (Legal Advisor) He is senior advocate in Delhi Bar Chamber Association & Dwarka District Court Delhi. Dr. Sumit Sharma (Advisor) He is Senior Dental Surgeon member of Dental Association. He is social worker and advisor. MEET OUR TEAM “Great things in business are never done by one person; they’re done by a team of people.” – Steve Jobs Nitesh Yadav Managing Director (MD) Nitesh Yadav (She/her/hers) is an Edupreneur who has built many successful ventures in the Learning & Development space. Started her first TECHKNOWSKOLA Pvt. Ltd. while she was a sophomore at IIT Delhi. She built an assessment and training platform from scratch, which handles more than 400K candidates every year. Built state-of-the-art application that helps predict workforce proficiency and improve the learning quotient. We are improving learning efficiency, with help of AI predictive algorithms, CNNs, reinforcement learnings, real-time video processing, etc. Creating enterprise-level products in no time is her USP. Her technological expertise includes mobile/web product architecture, UI/UX, machine learning, big data optimization, and analytics. Mr. Govind Chief Technical Officer (CTO) Director of "PE PRE CA PVT. LTD. ​ He has completed his Post Graduation from Punjab Technical University. He has a vast experience of 12+ years working as a consultant on hardware development projects such as - Worked on MQTT smart server Designed PLC Circuit Designed IoT Powered Automation System Developed Jumbo Device to reduce inductive load. Designed PCB Board Designed Automatic Security System Developed Android Smart Application & Touchless Automatic Vending Machine Developed Home Automation (IoT BASED) Built the world's first golgappa and Vada pav smart vending machine. Mukesh Bala Chief Strategy Officer (CSO) Mukesh Bala(She/her/hers) prefers to call herself a parenting mentor. She has authored multiple parenting books on the importance of brain-based learning in children. For TechKnowSkola, She has contributed to developing the extensive activity kits and has ensured that each kit is progressive, age-appropriate, and skill-oriented. Parvesh Parashar Chief Learning Officer (CLO) Gaurav R & D Team Ashish Marketing Team Naresh Yadav Programming Editor Satish Kumar Designer Shrikant Operations Manager

  • Events & Competitions | TechKnowSkola - Igniting Innovation and Creativity

    Events & Competitions Stay at the forefront of STEAM, Robotics, IoT, Electronics, and much more with our exciting lineup of upcoming events, competitions, webinars, and conferences. We are dedicated to fostering a vibrant community of innovators, educators, and learners, providing a platform for knowledge exchange and creative exploration. What to Expect: 🌟 Upcoming Events 🎤 Insightful Webinars 🏆 Thrilling Competitions 📢 Stay Updated Upcoming Events No events at the moment

  • Free Resources | TechKnowSkola - Empowering Learning with Complimentary Educational Materials

    < Back Free Resources Disclaimer: Techknowskola respects intellectual property rights and does not intend to infringe on any copyrights. The resources shared here are either created by Techknowskola or sourced from reputable providers. Any views or opinions expressed in these resources are solely for educational and informational purposes and do not reflect the official stance of Techknowskola." ATL Guidelines and Important Information ATL Guidelines by AIM GeM PFMS Tranche-II & UC Document Curriculum & Resources TechMonday | Activity Informative Videos Revised Grant-in-Aid Fund Utilization Guideline for ATL schools (w.e.f. FY 22-23) Document ATL Handbook 1.0 Document ATL equipment list - Batch of 90 Document Grant-in-Aid Fund Utilization Guidelines Document ATL Banner and Posters (Print Media) Document ATL Orientation Brochure Document ATL equipment list - Batch of 60 Document ATL Operational Manual Document ATL Handbook 2.0 Document ATL Branding Guidelines Document Procurement Guidelines Document ATL Application Guidelines Document

  • Plans & Pricing | TechKnowSkola

    No plans available Once there are plans available for purchase, you’ll see them here. Back to Home Page

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

    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

  • TechKnowSkola | The Technology School by Engineers & Innovators

    TechKnowSkola The Technology School By Engineers & Innovators We’re a team of professional engineers working hard to improve the way our communities run. At TechKnowSkola the technology school by engineers & innovators, We believe our decisions today shape future leaders, and that's why we always uphold high standards in our work. Incubated & Supported by DPIIT Recognised Available on GeM MSME Registered Recognized with a 4.5-star rating for outstanding services encompassing Atal Tinkering Lab, PM Shri Schools, and AI-Robotics Lab solutions Welcome to Techknowskola! We are dedicated to embracing technology and unlocking its full potential. Going beyond STEAM principles, we focus on 21st-century skills. Our integrated approach encourages a DIY mindset while mastering the 4Cs: Critical Thinking , Creativity , Collaboration , and Communication . Get ready to ignite curiosity, experiment, and create wonders! At Techknowskola , we create exciting, holistic, and student-centered learning environments. We believe this is crucial for your development and future success. Our goal is to equip you with relevant, in-demand skills for today's dynamic workforce, making you future innovators and potential job creators! Come and be a part of this incredible journey of exploration and growth! Together, let's dive into the world of technology and unlock your full potential! Our Story It all began with a group of people who dreamt of starting something completely new. We had a great vision, a passion for change, and all the right skills. Together, we established TechKnowSkola the technology school by engineers & innovators, a company dedicated to finding cutting-edge solutions and providing great services. Our Mission Empower every student for a brighter future through technology Hands-on Learning Active, practical experiences for meaningful understanding. DIY Approach Empowering students to explore, create, and excel for a fulfilling future. Innovative Problem-Solving Encouraging creative solutions through PBL & Design Thinking. Thinking-Based Learning Fostering critical thinking & curiosity for complex problems. Competency-Based Learning Personalized progress for comprehensive skills. Our Methods Our methodology involves engaging students in Science, Technology, Engineering, Arts, and Mathematics (STEAM) to foster well-rounded, critical thinkers and problem solvers OUR SERVICES Atal Tinkering Lab AI & Robotics Lab STEAM Lab LEGO Lab 3D Printing Lab Support on PM Shree Training & Support Know More LAB RESOURCES Know More Know More We offers diverse lab resources aligned with your educational institution's Lab setup, including curriculums, teaching materials, activity sheets, and more. ​ Know More GLOBAL REACH We support schools worldwide with affordable STEAM Labs. Our goal: Empower schools beyond India with modern, practical, and innovative education Know More TKS ACADEMY Where kids learn to build drones, robots, code, and more! Igniting creativity and innovation for the future. Join us today! Know More COURSES Empower yourself with affordable self-learning courses. Get ahead of the competition and achieve success on your own terms. Enroll now! Know More OUR TEAM Passionate tech enthusiasts and educators inspiring young minds in robotics, coding, and technology. Empowering the next generation of innovators for a bright future. Know More OUR WORK Our work in empowering young minds with STEM education and related initiatives. Know More EVENTS & COMPETITIONS Exciting events showcasing innovative robots in challenging tasks, inspiring STEAM enthusiasts worldwide. Know More Our Track Record Speaks for Itself 7500+ Schools 17500+ Teachers Trained 5 Lakh+ Students Impacted Our Guiding Philosophy At TechKnowSkola, we believe in the power of knowledge to transform lives. Our guiding philosophy revolves around three core principles: Accessibility | Innovation | Empowerment Aligned with

  • Our Work | TechKnowSkola - Transforming Education Through STEAM & Robotics

    About TechKnowSkola Techknowskola – an integrated platform dedicated solely to technology and knowing how to use the technology to its full potential. Our framework is not only based on the principles of STEAM but the 21st-century skills set therefore providing an Inter-disciplinary educational approach that aims to inculcate a DIY mindset, concurrently learning the 4Cs of the 21st-century skillsets. Critical Thinking, Creativity, Collaboration and Communication. Thus igniting an everlasting interest /impact on how to learn, how to ask questions, how to experiment and how to create we aspire to facilitate learning environments that are relevant, holistic, dynamic, student-centred and fluid as these are vital for a student’s development Such an environment not only contributes towards the success of a student but prepares them for life. Teaching relevant, in-demand skills is the need of the hour in this rapidly evolving workforce & society to prepare students to become future innovators which empowers them further to become job creators. LAB SETUP 7 (6) 7 (4) 7 (2) 7 (1) 6 (11) 5 (21) 5 (20) 5 (17) 5 (18) 5 (16) 5 (15) 5 (14) 5 (12) 5 (13) 5 (11) 5 (10) 5 (9) 5 (7) 5 (4) 5 (6) 5 (5) 5 (3) 5 (2) 5 (1) 4 (7) 4 (6) 4 (5) 4 (3) 4 (2) 4 (1) 3 (3) 3 (2) 3 (1) 2 (11) 2 (9) 2 (10) 1 (7) 2 (6) 2 (4) 2 (3) 2 (2) 2 (1) 1 (6) 1 (5) 1 (3) 1 (1) 1 (2) IMG-20191130-WA0014 IMG-20191217-WA0044 IMG-20191217-WA0041 IMG-20191217-WA0042 IMG-20191130-WA0031 IMG-20191130-WA0029 IMG-20191130-WA0027 IMG-20191130-WA0024 IMG-20191130-WA0022 IMG-20191130-WA0018 IMG-20191130-WA0019 IMG-20191130-WA0017 IMG-20191130-WA0015 Teacher's Training IMG-20200130-WA0069 IMG-20200128-WA0068 IMG-20200128-WA0061 IMG-20200128-WA0042 IMG-20200128-WA0045 IMG-20200128-WA0041 IMG-20200110-WA0042 IMG-20200110-WA0041 IMG-20200109-WA0067 IMG-20200109-WA0068 IMG-20200109-WA0059 IMG-20200109-WA0056 IMG-20200109-WA0053 IMG-20200109-WA0052 IMG-20200109-WA0051 IMG-20200109-WA0043 IMG-20200109-WA0029 IMG-20200108-WA0015 IMG-20200108-WA0012 IMG-20200108-WA0010 IMG-20200107-WA0069 IMG-20200107-WA0065 IMG-20200107-WA0060 IMG-20200107-WA0058 IMG-20200107-WA0046 IMG-20200107-WA0024 IMG-20200107-WA0020 IMG-20200107-WA0017 IMG-20191219-WA0107 IMG-20200107-WA0014 IMG-20191219-WA0106 IMG-20191219-WA0084 IMG-20191219-WA0042 IMG-20191219-WA0043 IMG-20191212-WA0138 IMG-20191212-WA0139 IMG-20191212-WA0131 IMG-20191212-WA0089 IMG-20210728-WA0030 IMG-20191211-WA0013 IMG-20191211-WA0008 IMG-20191211-WA0007 IMG-20191203-WA0074 IMG-20191203-WA0083 IMG-20191203-WA0068

  • Referral Landing Page | TechKnowSkola

    Get a ₹100 discount on your order Applies to the lowest priced item in the cart. Apply reward when placing your first order. Get Reward

  • Contact | TechKnowSkola

    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 support@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

  • Bluetooth Controlled Car Using Arduino Uno. | TechKnowSkola

    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

  • Global Reach Program | TechKnowSkola - Unleashing STEAM & Robotics Labs Worldwide

    Global Reach Programs At TechKnowSkola, we are on a mission to transform education and foster creativity, innovation, and problem-solving skills worldwide. Our Global Reach Program aims to spread the power of STEAM (Science, Technology, Engineering, Arts, and Mathematics) and AI & Robotics Labs to different geographic locations across the globe. Why Choose Our Global Reach Program Empowering Education Everywhere: We believe that quality education should be accessible to all. Through our program, we extend cutting-edge STEAM and AI & Robotics Labs to diverse communities worldwide. Cultivating Future Innovators: By setting up labs in various locations, we provide students with the opportunity to embrace emerging technologies, inspiring them to become the next generation of innovators and changemakers. Bridging the Skills Gap: Our labs equip students with essential 21st-century skills, including critical thinking, collaboration, and creativity, preparing them for success in the digital era. Cross-Cultural Collaboration: Our global presence encourages cross-cultural collaboration and learning, fostering a global perspective and understanding among students. Program Highlights: Customized Lab Setup: We tailor each lab to suit the unique needs and requirements of the location, ensuring an enriching and inclusive learning environment. Expert Training and Support: Our team of experienced educators and mentors provide comprehensive training and ongoing support to educators in the setup locations, ensuring smooth lab operations. Innovative Curricula: Our engaging and progressive curricula integrate real-world applications, making learning relevant and exciting for students of all ages. Technological Advancements: Our AI & Robotics Labs embrace cutting-edge technology, providing students with hands-on experience in AI, machine learning, and robotics. Global Network: Joining our Global Reach Program connects educational institutions with a worldwide network of like-minded educators and learners, fostering knowledge exchange and collaboration. Become a Partner in our Global Reach Program TechKnowSkola is actively seeking partners to expand our transformative program across the globe. Whether you represent an international region or a foreign educational institution, we welcome collaborations that share our passion for transforming education. Let's join forces to unleash the potential of STEAM and AI & Robotics Labs worldwide, empowering the next generation of innovators to shape a better world. Together, we can ignite greatness in every corner of the globe! Email Us: contact@techknowskola.c om

  • Interfacing of Force Pressure Sensor with Arduino Uno. | TechKnowSkola

    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

  • Lab Resources | TechKnowSkola - Empowering Educators with Comprehensive Teaching Materials

    LAB Resources At TechKnowSkola, we are your reliable partner in education. As an abbreviation for our commitment, "We" stands for TechKnowSkola. We offer diverse lab resources aligned with your educational institution's lab setup, providing comprehensive support. From curriculums and teaching materials to activity sheets and beyond, we ensure all lab-related resources are included in our service support model. With us, you can rest assured that you'll have everything you need to create a dynamic and engaging learning environment for your students. Together, let's unlock the potential of tomorrow's innovators! Curriculums Activity Sheets Training Materials Guidelines by AIM Teaching Materials Project Guides Safety Guidelines ​ Reference Books FREE Resources Techknowskola's Free resources have got you covered! Enjoy AIM's guidelines and curriculum, plus access to Activities and TKS developed projects. A treasure trove of innovation awaits you! Click Here Guidelines by AIM Activity & Project Sheet PFMS & GeM Curriculum Informative Videos Paid Resources Techknowskola's Paid resources, a treasure trove of materials designed for your Labs. Project Guides, Ebooks, Activity Sheets, Curriculum alinged with Textbook & NEP 2020 and a lot more to unlock endless learning possibilities! Click Here E-Book Teachers Resources Project Guide Video Library Curriculum

  • Our Services | TechKnowSkola - Empowering Education with STEAM & Robotics

    Our Services At TechKnowSkola, we distinguish ourselves by understanding the individual needs of our customers and tailoring our services accordingly. Our dedicated team of specialists is always ready to take on unique challenges and find the perfect solutions. With a focus on quality, competitive pricing, and unparalleled service, we are here to help you empower the next generation of learners and innovators. Choosing TechKnowSkola as a solution partner ensures that educational institutions receive a comprehensive and innovative approach to STEAM education. From customized solutions and continuous support to fostering inclusivity and a lifelong learning mindset, we are dedicated to empowering the next generation of leaders, thinkers, and creators in the world of Science, Technology, Engineering, Arts, and Mathematics. Comprehensive STEAM Solutions Aligned with NEP 2020 Experiential Learning & Project-Based Approach Expert Team of Educators and Mentors Customized Solutions for Diverse Institutions Proven Track Record of Success Curriculum & Project Guide Fostering the Innovators of Tomorrow Ultimately, TechKnowSkola stands as a trusted solution partner for educational institutions looking to create a cutting-edge STEAM ecosystem. Our commitment to excellence, alignment with NEP 2020, and focus on fostering future-ready students make us the ideal choice for institutions seeking to elevate their STEAM education offerings and prepare students for success in an increasingly technology-driven world. We TEACH How to ASK How t o LEARN How to EXPERIMENT Our Array of Services Includes: Atal Tinkering Lab AI & Robotics Lab Other Labs PM Shree Training & Support Smart Boards Planetarium Show Atal Tinkering Lab Atal Tinkering Lab: The Key to India’s Brighter Future With a vision to ‘Cultivate one Million children in India as Neoteric Innovators ’, Atal Innovation Mission is establishing Atal Tinkering Laboratories (ATLs) in schools across India. The objective of this scheme is to foster curiosity, creativity, and imagination in young minds; and inculcate skills such as design mindset, computational thinking, adaptive learning, physical computing, etc. TechKnowSkola is your go-to partner for creating a fully equipped, state-of-the-art Atal Tinkering Lab (ATL) at your educational institution 1 2 3 4 5 Training Support Documentation Support 6 Access to Digital Classroom 7 Discount of Consumables Items Warranty & AMC 8 Competition Support 24*7 Online Support 9 Curriculum & Project Guide Free Installation 10 Regular Visits T&C's Apply "Got queries or need assistance with your Atal Tinkering Lab? Fill out the form, we'll be delighted to help!"

  • Company Details | Privacy Policy | Terms & Conditions | Refunds & Cancellation

    Company Legal Details Registered Address First floor, KH No 60/22, Plot No 33, New Gopal Nagar, Najafgarh, New Delhi - 110043 Mailing Address First Floor, Shop No 10, Dhansa Marg, Opp Nanda Enclave, Najafgarh, New Delhi 110043 GSTIN: 07AAJCT1713B1ZS CIN: U80902DL2022PTC393489 Bank Details: Account Holder: TECHKNOWSKOLA PRIVATE LIMITED Account Number: 2647918298 IFSC: KKBK0000298 Bank & Branch: KOTAK MAHINDRA BANK, BADSHAPUR Account Type: CURRENT UPI VPA - techknowskola@upi Contact Information: Email: Contact@techknowskola.com Phone: +91-9891232129 [We're solely reachable through WhatsApp. Please send a text there for our assistance.] Reach out to us via email or WhatsApp for inquiries, collaborations, or any other assistance. We are eager to connect with you and explore how Techknowskola can inspire greatness in the field of STEAM education. Let's embark on a journey of learning, innovation, and excellence together! Terms and Conditions Welcome to TechKnowSkola, a registered trademark of TechKnowSkola Private Limited. By accessing and using our website, you agree to abide by the following Terms and Conditions. Please read them carefully before proceeding. Definitions: "We" / "Us" / "Our" / "Company" refers to TechKnowSkola Private Limited. "Visitor" and "User" refer to individuals accessing our website. Usage of Content: All logos, brands, marks, labels, names, signatures, numerals, shapes, or any combinations thereof displayed on this site are properties owned or used under license by TechKnowSkola Private Limited and its associate entities. Any unauthorized use of these properties or content is strictly prohibited. Acceptable Website Use: (A) Security Rules: Visitors are not permitted to violate or attempt to violate the security of the website, including unauthorized access to data, probing system vulnerabilities, or sending unsolicited electronic mail. Violations may result in legal consequences. (B) General Rules: Visitors may not use the website to transmit, distribute, or store material that could constitute a criminal offense, violate any applicable laws or regulations, infringe intellectual property rights, or be considered libelous, defamatory, obscene, or hateful. Indemnity: Users agree to indemnify and hold TechKnowSkola Private Limited, its officers, directors, employees, and agents harmless from any claims, actions, liabilities, losses, or damages arising from their use of the website or breach of the terms. Liability: TechKnowSkola Private Limited and its group companies, directors, officers, or employees shall not be liable for any direct or indirect damages resulting from the use of the website or interruption of services. Users acknowledge that TechKnowSkola Private Limited is not responsible for the statements or conduct of third parties on the website. Disclaimer of Consequential Damages: In no event shall TechKnowSkola Private Limited or any associated parties be liable for any damages whatsoever, including incidental and consequential damages, resulting from the use or inability to use the website and its content. Please review these Terms and Conditions regularly, as they are binding on all users of our website. By continuing to use our website, you agree to these terms and any revisions made in the future. For any inquiries or clarifications, please contact us at contact@techknowskola.com . TechKnowSkola Private Limited is a registered startup working in the field of ed-tech, dedicated to transforming education through innovation. Privacy Policy TechKnowSkola Private Limited (referred to as "We" / "Us" / "Our"/” Company”) is committed to protecting your privacy and ensuring the security of your personal information. This Privacy Policy governs the collection, use, storage, and sharing of data provided by you ("You" /"Your" / "Yourself") while using our website (“Website”). User Information: To access certain services on our website, you may be required to provide personal information such as name, email address, age, etc. This information enables us to enhance your user experience and offer personalized services. We value the privacy of our users and assure you that your data is handled with utmost care and confidentiality. Cookies: We may use "cookies" to improve the responsiveness of our website and understand user interests. Cookies are small data files stored on your device that do not identify you personally but help us customize your experience. These cookies may be used to remember your preferences, login information, and enhance site navigation. Information Sharing: We do not share sensitive personal information without your prior consent, except as required by law or with our trusted service providers. Your data is treated with utmost confidentiality, and we take appropriate measures to ensure its protection. However, please note that while we prioritize data security, no online platform is completely immune to cyber threats. Information Security: We take data security seriously and have implemented technical and organizational measures to protect your data from unauthorized access, alteration, or disclosure. Our servers are secured behind firewalls, and access is restricted to authorized personnel only. Additionally, we regularly update our security protocols to stay ahead of potential threats. Links to Other Sites: Our Privacy Policy applies only to our website. If you visit linked sites, we are not responsible for their privacy practices or content. We recommend reviewing the privacy policies of those websites before sharing any personal information. Policy Updates: We may revise this Privacy Policy periodically to reflect changes in technology, legal requirements, or business practices. The latest version will be available on our website, and your continued use of our services implies acceptance of any updates. We encourage you to check this page regularly for the most recent policy. Grievance Redressal: For any complaints or concerns regarding our Privacy Policy, please contact our designated Grievance Officer, Mrs. Nihara Yadav. She is responsible for addressing any issues related to privacy and data protection. You can reach her via email at nihara@techknowskola.in or by phone at +91-9891232139. You may also send written communications to our address at Plot no. 33, KH No 60/22, First Floor, New Gopal Nagar, Najafgarh, New Delhi - 110043. Your trust is vital to us, and we assure you that we abide by the principles of privacy and data protection. If you have any questions or require further clarification, please feel free to contact us. We value your privacy and are committed to safeguarding your personal information. Refund and Cancellation Policy At TechKnowSkola, we strive for complete customer satisfaction. If, for any reason, you find our services unsatisfactory, we are committed to addressing your concerns and providing a resolution. Please take a moment to review our refund and cancellation policy for a clear understanding of the terms and procedures. Cancellation Policy: Clients who wish to cancel their projects can do so by contacting us through the "Contact Us" link on our website. Please note the following guidelines: Cancellation requests received earlier than 4 business days prior to the end of the current service period will be processed as cancellation of services for the next service period. Refund Policy: We always endeavor to create design concepts that meet our clients' expectations. However, if a client remains dissatisfied with our products, we offer a refund as part of our commitment to customer satisfaction. Please consider the following: To request a refund, please contact our customer support team through the designated channels. Refunds will be issued in the original payment method. If the payment was made via credit card, the refund will be credited to the original credit card used for the purchase. In the case of payments made through a payment gateway, the refund will be processed to the same account. Important Considerations: The refund and cancellation policy applies to specific services and products offered by TechKnowSkola. Kindly review the terms and conditions associated with each service or product before making a purchas e. Refund requests will be thoroughly investigated to ensure their validity. Genuine and verifiable reasons will be considered for processing the refund.or choosing TechKnowSkola. Clients are requested to share honest feedback and concerns about our services, as it helps us continually improve and deliver better experiences. In the event of any disputes or disagreements, TechKnowSkola reserves the right to take the final decision regarding refund requests. We value your trust in our services, and your satisfaction is our utmost priority. If you have any questions or require further assistance, please do not hesitate to reach out to our customer support team. Your feedback is valuable to us, and we are committed to providing a seamless and satisfactory experience for all our clients. Thank you f Copyright 2020 – TechKnowSkola Pvt. Ltd. All rights reserved. Trademark Notice: "Techknowskola" is a registered trademark of Techknowskola Private Limited. ​ Important Information: This material and its associated content are protected under copyright laws. TechKnowSkola Pvt. Ltd. holds all rights, including but not limited to text, images, graphics, audio, and video, as well as any other intellectual property present in this program. ​ Usage and Modification: Unauthorized reproduction, distribution, or modification of any content from TechKnowSkola without explicit approval is strictly prohibited and could result in legal action being taken against the infringing parties. This includes but is not limited to using our content for commercial purposes or personal gain. ​ Registration Requirement: While we offer this program free of charge, we require all users to complete a registration process. Registration ensures that you are provided with the most up-to-date information and helps us protect our content from misuse or unauthorized distribution. ​ Respect the Trademark: "Techknowskola" is a trademark that uniquely identifies our brand and services. Any unauthorized use of this trademark without proper approval is prohibited and may result in legal consequences. ​ Report Unauthorized Use: We encourage all individuals to report any instances of unauthorized use, modification, or distribution of our content. If you come across such violations, please notify us immediately so we can take appropriate action to protect our intellectual property. ​ Compliance with Copyright Laws: We kindly ask all users to respect copyright laws and adhere to the terms and conditions set forth by TechKnowSkola Pvt. Ltd. Misuse of our content can have severe consequences, and we are committed to protecting our intellectual property rights. ​ Thank you for your understanding and cooperation. Together, we can ensure that our valuable resources are used responsibly and contribute to a positive knowledge-sharing community.

  • Motion Detection using PIR Sensor with Arduino | TechKnowSkola

    Back Motion Detection using PIR Sensor with Arduino What is a PIR sensor? PIR sensors allow you to sense motion. They are used to detect whether a human has moved in or out of the sensor’s range. They are commonly found in appliances and gadgets used at home or for businesses. They are often referred to as PIR, "Passive Infrared", "Pyroelectric", or "IR motion" sensors. Following are the advantages of PIR Sensors − · Small in size · Wide lens range · Easy to interface· · Inexpensive · Low-power · Easy to use · Do not wear out Material Required: Material Quantity Arduino Uno 1 PIR Motion Sensor 1 Jumper cables 3 Pinout Diagram: Circuit Diagram: Working: The module actually consists of a Pyroelectric sensor which generates energy when exposed to heat. That means when a human or animal body will get in the range of the sensor it will detect a movement because the human or animal body emits heat energy in a form of infrared radiation. That’s where the name of the sensor comes from, a Passive Infra-Red sensor. And the term “passive” means that sensor is not using any energy for detecting purposes, it just works by detecting the energy given off by the other objects. The module also consists a specially designed cover named Fresnel lens, which focuses the infrared signals onto the pyroelectric sensor. You can adjust the sensor sensitivity and delay time via two variable resistors located at the bottom of the sensor board. Tested Programming Code: /* * PIR sensor tester */ int ledPin = 13; // choose the pin for the LED int inputPin = 2; // choose the input pin (for PIR sensor) int pirState = LOW; // we start, assuming no motion detected int val= 0; // variable for reading the pin status void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inputPin, INPUT); // declare sensor as input Serial.begin(9600); } void loop(){ val = digitalRead(inputPin); // read input value if (val == HIGH) { // check if the input is HIGH digitalWrite(ledPin, HIGH); // turn LED ON if (pirState == LOW) { // we have just turned on Serial.println("Motion detected!"); // We only want to print on the output change, not state pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // turn LED OFF if (pirState == HIGH) { // we have just turned of Serial.println("Motion ended!"); // We only want to print on the output change, not state pirState = LOW; } } } 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 come in range of the sensor, else it will be always triggering ON. Conclusion: You can successfully check for Motion Detection using an IR sensor. Many more other applications can be made using PIR Motion sensor as it has many possibilities to work with. Output: Once the sensor detects any motion, Arduino will send a message via the serial port to say that a motion is detected. The PIR sense motion will delay for certain time to check if there is a new motion. If there is no motion detected, Arduino will send a new message saying that the motion has ended. Situation Screenshot: Serial Monitor (Ctrl+Shift+M) Reference URL GET IN TOUCH We'd love to hear from you Contact Us

bottom of page