Pages

Tuesday, 25 November 2014

Li Fi (Visible Light Communication)


Overview : 

At the heart of this technology, a new generation of high-brightness light-emitting diodes. Very simply, if the LED is ON, user can transmit a digital string of 1, if it’s OFF then user can transmit a string of 0. It canbe switched ON and OFF very quickly, which gives instant opportunity for transmitting data. It is possible to encode data in the light by varying the rate at which the LEDs flicker ON and OFF to pass differentstrings of 1s and 0s. The modulation is so fast that the human eye doesn’t notice. There are over 14 billion light bulbs used across the world, which needs to be replaced with LEDs ones that transmit data.







Li Fi (Visible Light Communication) Features:


  • It can transmit data 57600 baud rate serialy.
  • Distance can be acheived 1 Feet to 10 Feet for wireless open optical communication*.
  •  High intensity LED matrix.
  • High quality PCB FR4 Grade with FPT Certified.

Li Fi (Visible Light Communication) Applications:

  • Indoor wireless open optical communication.
  • Indoor navigation.
  • Under water visible light communication.
  • Smart indoor blind assistive application.
  • Vehicle to vehicle communication.

Li Fi (Visible Light Communication) I/O connections:








Li Fi (Visible Light Communication) Documents and codes:


/*
* Project name:
Li Fi
* Copyright
(c) Researchdesignlab.com
* Test configuration:
MCU: PIC16F877A
Dev.Board: PIC
Oscillator: 20.0 MHz
Software: mikroC PRO for PIC v 4.6
*/
void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(38400);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

}

void loop() // run over and over
{
 
  if (Serial.available())
    Serial.write(Serial.read());
}


For More Products : CLICK HERE

Monday, 24 November 2014

What's GSM/GPRS Shield , How It's Used ?




GSM/GPRS Shield with GPS Receiver PA6E-CAM
USER MANUAL



Overview

GSM/GPRS Shield with GPS Receiver PA6E-CAM

This is a very low cost and simple Arduino GSM and GPRS shield. We use the module SIMCom SIM900A.

The Shield connects your Arduino to the internet using the GPRS wireless network. Just plug this module onto your Arduino board, plug in a SIM card from an operator offering GPRS coverage and follow a few simple instructions to start controlling your world through the internet. You can also make/receive voice calls (you will need an external speaker and microphone circuit) and send/receive SMS messages.

GPS module from GlobalTop: PA6E-CAM, based on MediaTek MT3333 chipset. Possibility of using both systems improves position accuracy and shortens cold start time, especially in difficult satellite signal conditions.

 Module is pin-to-pin and functionally compatible to older PA6E module based on MT3329 chipset. Thus it is possible simple migration to this module without changing of printed boards.



Features

GSM/GPRS Shield Features


·         Dual-Band GSM/GPRS 900/ 1800 MHz
·         TTL data(RX,TX,GND).
·         ESD Compliance.
·         Power controlled using 29302WU IC.
·         Enable with MIC and SPeaker socket.
·         SMA connector with GSM Antenna
·         SIM Card holder.
·         Configurable baud rate
·         Inbuilt Powerful TCP/IP protocol stack for internet data transfer over GPRS.
·         High quality PCB FR4 Grade with FPT Certified.

GPS Receiver PA6E-CAM Features

·         33 tracking/ 99 acquisition-channel GPS receiver.
·         Supports QZSS, SBAS(WAAS, EGNOS, MSAS, GAGAN*) ranging.
·         Ultra-High Sensitivity: -165dBm.
·         High Update Rate: up to 10Hz(: SBAS can only be enabled when update rate is equal or less than to 5Hz.).
·         12 multi-tone active interference canceller(Some features need special firmware or command programmed by customer please refer to “PMTK Command List”)
·         High accuracy 1-PPS timing support for Timing Applications (±10ns RMS jitter).
·         AGPS Support for Fast TTFF.




Datasheets


·         AT Commands datasheet
·         FTP Commands datasheet
·         TCP/IP Commands datasheet




GSM Utility Software



  •          Bulk Message sending
  •          AT command testing terminal
  •          Provides step by step GPRS setup

To download GSM/GPRS Utility software ,click on the link below



Basic AT Commands for Testing


GSM AT Commands:

·         TO CHECK THE MODEM:
                        AT
                        OK
·         TO CHANGE SMS SENDING MODE:
                        AT+CMGF=1
                        OK
·         TO SEND NEW SMS:
                        AT+CMGS=”MOBILE NO.”
                        <MESSAGE
                        {CTRL+Z}
·         TO RECEIVE SMS
AT+CMGD=1         {to delete the message in buffer}
AT+CMGR=1        {to receive first message AT+CMGR=1}
                                    {to receive second message AT+CMGR=2 and so on}
+CMGL: 1,"REC READ","+85291234567",,"07/05/01,08:00:15+32",145,37
<MESSAGE
·         PREFERRED SMS MESSAGE STORAGE:
                        AT+CPMS=?
                        +CPMS: (“SM”),(“SM”),(“SM”)
                        OK
                        AT+CPMS?
                        +CPMS: “SM”,19,30,”SM”,19,30,”SM”,19,30
·         TO MAKE A VOICE CALL:
                        ATD9876543210;
·         TO REDIAL LAST NO:
                        ATDL
·         TO RECEIVE INCOMING CALL:
                        ATA
·         TO HANGUP OR DISCONNECT A CALL:
                        ATH
·         TO SET A PARTICULAR BAUDRATE:
                        AT+IPR=?         {To view the baud rate values}
                        AT+IPR=0        {To set the modem to autobauding mode}
·         OPERATOR  SELECTION:
                        AT+COPS=?
                        OK
                        AT+COPS?
                        +COPS: 0,0,”AirTel”
                        OK


·         AT+CRC SET CELLULAR RESULT CODES FOR INCOMING CALL INDICATION:
                        AT+CRC=?
                        +CRC: (0-1)
                        OK
                        AT+CRC?
                        +CRC: 0
                        OK
                        AT+CRC=1
                        OK
                        +CRING: VOICE
·         READ OPERATOR NAMES.
            AT+COPN=?
                        OK
                        AT+COPN
                        +COPN: “472001″,”DHIMOBILE”
                        +COPN: “60500
                        +COPN: “502012″,”maxis mobile”
                        +COPN:
                        +COPN: “502013″,”TMTOUCH”
                        +COPN
                        +COPN: “502016″,”DiGi”
                        +COPN: “502017″,”TIMECel”"
                        +COPN: “502019″,”CELCOM GSM”

GPRS Commands:

Command                       Description

AT+CGATT               ATTACH/DETACH FROM GPRS SERVICE
AT+CGDCONT          DEFINE PDP CONTEXT
AT+CGQMIN            QUALITY OF SERVICE PROFILE (MINIMUM ACCEPTABLE)
AT+CGQREQ            QUALITY OF SERVICE PROFILE (REQUESTED)
AT+CGACT               PDP CONTEXT ACTIVATE OR DEACTIVATE
AT+CGDATA            ENTER DATA STATE
AT+CGPADDR         SHOW PDP ADDRESS
AT+CGCLASS           GPRS MOBILE STATION CLASS
AT+CGEREP              CONTROL UNSOLICITED GPRS EVENT REPORTING
AT+CGREG               NETWORK REGISTRATION STATUS
AT+CGSMS               SELECT SERVICE FOR MO SMS MESSAGES
AT+CGCOUNT         GPRS PACKET COUNTERS




MODULE SETUP

For TESTING GSM/GPRS


Step 1 : Insert SIMcard into the SIM slot.


Step 2 : Plug in 12V -2A DC power  adapter, power led is lit  (place jumper in JP3,to turn ON automatically ). 

Step 3 : Press and hold power button (To turn on manually without jumper)

Step 4 : Connect to PC through TTL TO USB converter (connect RX(D0) and TX(D1))
Step 5 : open GSM/GPRS utility software ,choose appropriate COM port and use AT commands              listed in this manual for basic testing GPRS GSM/messaging and voice calling.





FOR TESTING GPS


Step 1 : For GPS to work, Module should be placed in an open space until GPS locks on to minimum of 4 satellite.

Step 2 : Connect 5V and GND to the module.

Step 3 : Connect D2(Soft RX) and D3(soft TX) of the GSM/GPS shield to PC through TTL to USB converter 


Step 3 : Open serial window(Ex : hyper terminal) ,select the appropriate COM port ,baud rate 9600,then all the serial data from GPS will be displayed in the serial window.





INDIVIDUAL ARDUINO TESTING CODES

GPRS CODE

GPS CODE

SCREEN SHOTS







GPS_GPRS_PHP_GOOGLE MAPS CODE

UNO CODE

PHP CODE


SCREEN SHOTS





POWER MODES

Power down mode

SIM900A is set power down mode by “AT+CPOWD=0”
There are two methods for the module to enter into low current consumption status

Minimum Functionality Mode

  • Minimum functionality mode reduces the functionality of the module to a minimum and thus minimizes the current consumption to the lowest level.
  • If SIM900A has been set to minimum functionality by “AT+CFUN=0”
  • If SIM900A has been set to full functionality by “AT+CFUN=1”
  • If SIM900A is set  “AT+CFUN=4” to disable both the above functionality.

Sleep mode

            We can control SIM900A module to enter or exit the SLEEP mode in customer applications through DTR signal. When DTR is in high level and there is no on air and hardware interrupt (such as GPIO interrupt or data on serial  port), SIM900A will enter SLEEP mode automatically. In this mode, SIM900A can still receive paging or SMS from network but the serial port is not accessible.

Wake up SIM900A from sleep mode 

  •          Enable DTR pin to wake up SIM900A. If DTR pin is pulled down to a low level
  •          This signal will wake up SIM900A from power saving mode. The serial port will be active after DTR changed to low level for about 50ms.
  •          Receiving a voice or data call from network to wake up SIM900A.
  •          Receiving a SMS from network to wake up SIM900A.



GSM/GPRS Shield with GPS Receiver PA6E-CAM



BLOCK DIAGRAMS 

INTERFACING UNO AND GSM SHIELD





CODES


ARM CODE

ATMEL CODE

PIC CODE

ARDUNIO CODE

RASPBERRY PI CODE

SENDING CODE
RECEIVING CODE

BEAGLEBONE CODE

SENDING CODE
RECEIVING CODE

MSP430 CODE

GSM POWER SAVING ATMEL CODE

GSM POWER SAVING PIC CODE



Sunday, 23 November 2014

Data Logger Sheild Compatible for Arduino



Quick Overview:
The data logger is a reliable, well-rounded and versatile design. It is easily expandable with wireless interface like Xbee and Bluetooth. Can be used for saving data to files on any FAT16 or FAT32 formatted SD card, to be read by any plotting, spreadsheet or analysis program. The included Real Time Clock timestamps all your data with the current time, so that you know precisely what happened when.



Data Logger Sheild Compatible for Arduino I/O Connections:








Data Logger Sheild Compatible for Arduino Features:


  • SD card interface works with FAT16 or FAT32 formatted cards. 3.3v level shifter circuitry prevents damage to your SD card.
  • Real time clock (RTC) keeps the time going even when the Arduino is unplugged. The battery backup lasts for years.
  • 3.3V voltage level converter for memory card,  reliably runs SD cards that require a lot of power to run.
  • Optional Bluetooth and Xbee interface.
  • High quality PCB FR4 Grade with FPT Certified.


Data Logger Sheild Compatible for Arduino Documents and Codes:


/*
* Project name:
Data Logger Sheild Compatible for Arduino
* Copyright
(c) Researchdesignlab.com
* Description:
* Test configuration:
MCU: ATMEGA328
Dev.Board: Arduino uno
Oscillator: 16 MHz
Software: Arduino
*/
/*
WHEN THE XBEE RECIVE THE DATA 
'S' = DATA LOGGER START STORING DATA TO SD CARD 
'P' = PAUSE THE STORING DATA TO SD CARD
'R' = READ THE DATA FROM THE SD CARD AND TRANSIMIT THROUGH XBEE
*/
#include <Wire.h> 
#include "RTClib.h" 
#include <SD.h>

RTC_DS1307 RTC;
File myFile;

int Serial_value = 0; // value read from the xbee
const int analogInPin = A0; // Analog input pin that the potentiometer is attached to
int sensorValue = 0;
int START_STORE = 0;
void setup() 
{
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
Serial.println(" Wireless Xbee Data Logger Sheild ");
Wire.begin(); 
RTC.begin(); 
RTC.adjust(DateTime("Jun 20 2014","17:11:45")); //INIT of Time and Date


pinMode(10, OUTPUT);

if (!SD.begin(10)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done."); 
myFile = SD.open("RDL.txt", FILE_WRITE); //creating open RDL.text file
}
void loop() 
{
if (Serial.available()) //check If data is received form xbee 
{
Serial_value=Serial.read(); // read the received data form xbee 
if(Serial_value=='S'){ //Xbee value is equal to 'S' 
myFile = SD.open("RDL.txt", FILE_WRITE);
if (myFile) { //Enable data logger to store data in SD card
START_STORE=1;
Serial.println("Enable data logger to store data ");
}
else
Serial.println("Error opening RDL.txt");


else if(Serial_value=='P'){ //Xbee value is equal to 'P' 
START_STORE=0; //Disable data logger to store data in SD card
myFile.close();
Serial.println("Disable data logger to store data ");
}
else if(Serial_value=='R'){ //Xbee value is equal to 'F' 

Serial.println("Read store data of data logger");
delay(1000);
myFile = SD.open("RDL.txt");
if (myFile) {
Serial.println("RDL.txt : ");

// read from the file until there's nothing else in it:
while (myFile.available()) {
Serial.write(myFile.read());
}

myFile.close();

else {
// if the file didn't open, print an error:
Serial.println("Error opening RDL.txt");


}

}




if(START_STORE==1)
{
DateTime now = RTC.now();


myFile.print("DATE : "); 
myFile.print(now.year(), DEC); 
myFile.print('/'); 
myFile.print(now.month(), DEC); 
myFile.print('/'); 
myFile.print(now.day(), DEC); 
myFile.print(' '); 
myFile.print(" TIME : ");
myFile.print(now.hour(), DEC); 
myFile.print(':'); 
myFile.print(now.minute(), DEC); 
myFile.print(':'); 
myFile.print(now.second(), DEC); 
sensorValue = analogRead(analogInPin); 
myFile.print(" AN0 = " ); 
myFile.print(sensorValue); 
myFile.println(); 
delay(1000);

}

}

For Tutorials & Schematics : CLICK HERE

Friday, 21 November 2014

Triple Axis Magnetometer - HMC5883L



Quick Overview:
The HMC5883L utilizes Honeywell’s Anisotropic Magnetoresistive (AMR) technology that 
provides advantages over other magnetic sensor technologies. These anisotropic, directional sensors feature precision in-axis sensitivity and linearity.  These sensors’ solid-state construction with very low cross-axis sensitivity is designed to measure both the direction and  the magnitude of Earth’s magnetic fields, from milli-gauss to 8 gauss. Honeywell’s Magnetic Sensors are among the most  sensitive and reliable low-field sensors in the industry.


Triple Axis Magnetometer - HMC5883L Features:


  • 3-Axis Magnetoresistive sensors and ASIC in a 3.0x3.0x0.9mm LCC surface mount package
  • 12-Bit ADC coupled with low noise AMR sensors achieves 2 milli-gauss field resolution in ±8 Gauss fields
  • Low Voltage Operations (2.16 to 3.6V) and low power consumption (100 μa)
  • I2C Digital Interface
  • Popular two-wire serial data interface for consumer electronics
  • Rohs compliance
  • Wide magnetic field range (+/-8 Oe)
  • Sensors can be used in strong magnetic field environments with a 1° to 2° degree compass heading accuracy
  • Fast 160 Hz maximum output rate
  • High quality PCB FR4 Grade with FPT Certified.

For Sample Codes , Schematics : CLICK HERE