Skip to content

ninjablocks/arduino

Repository files navigation

Ninja Blocks Arduino Source Code.
Developed by www.ninjablocks.com based on Arduino and other Open Source libraries.

Version 0.45: 21st December 2012 by JZ
	- added DID defines
	- added new DID 2007 for Version 1.2 board LED's

Version 0.44: 8th October 2012 by JP Liew
	- changed RCSwitch code to ignore any data with less than 24 bits to reduce noise
	- removed RCSwitch::receiveProtocol2() to reduce code size
	- removed many functions from libraries to reduce code size
	- added receiveWT450() to decode WT450 raw stream
	- added doWT450()to decode house, station, humidity & temp from WT450 Sensor
	- added WT450 Humidity Device ID=30, and Temperature Device ID=31
	- changed Power on status LED to BLUE

Version 0.43: 2nd October 2012 by JP Liew
	- added TESTER code for Ninja Cape to test another fresh cape out from production
	- added DID 8888,8889,8890 to support special command for TESTER to send/receive signal
	- changed VNO to be "0.xx" for easy server parsing
	- added "\n" when Arduino start for a clean new line output

Version 0.42: 24th August 2012 by JP Liew
	- added RGB Status light support
	- added DID 999 for V12 status RGB
	- added PLUGIN and UNPLUG events
	- changed doJSONData() to support, DEVICE, PLUGIN and UNPLUG event in one function
	- changed PIR and Push Button high from 1023 to 1
	- changed sensor to only send on changed event, except Distance, Light and Sound
	- changed Light sensor to report value from 0% to 100%, in a 10 average reading

Version 0.41: 20th August 2012 by JP Liew
	- cleaned commented codes
	- enabled accelerometer for V11 after testing
	- split do433() into GUID=0 and GUID=1 for V12 and V11 respectively

Version 0.40: 20th August 2012 by JP Liew
	- changed doOnBoardRGB(), doOnBoardTemperature(), doDHT22() to slow down to 30 seconds per update
	- changed doDHT22() to continue poll data when first plugin until valid before obeying the heartbeat delay
	- tidied doPort1(), doPort2() and doPort3() when dealing with DHT22
	- disabled DHT22 from sending -99 or 0
	- disabled 433 functions from sending 0 data
	- changed getBoardTemperature() resolution to 1 decimal point
	
Version 0.39: 17th August 2012 by JP Liew
	- added receiveLaCrosse() in RCSwitch lib to decode LaCrosse 433 Transmitter
	- changed RCSwitch ISR routine to be able to accept LaCrosse protocol
	- changed decoding to use unsigned long long for protocol longer than 32bits
	- added support for LaCrosse WS2355 protocol for temp, humidity, rain, wind, win direction
	- added support for LaCrosse TX3 protocol for temp
	- changed do433() in ordered to use the same routine for V11 and V12
	- disabled do433() from sending -1 result

Version 0.38: MAJOR code changes to accomodate V11 and V12 board, 14th August 2012 by JP Liew
	- added doJSONData(...) to allow easier calling of the library
	- clean up many precompile warnings
	- added V11 V12 preprocessor directives for version selection
	- disabled getBoardTemperature() for V12 board
	- disabled doOnBoardAccelerometer() for V12 board
	- changed doOnBoardRGB() to cater PWM for V12 board
	- added doOnBoard433() for V12 board

Version 0.37: 30th July 2012 by JP Liew
	- fixed RCSwitch to add leading zeros when sending JSON data in binary
	- fixed GREEN LED blink on GREEN when receiving 433 data
	
Version 0.36: 5th July 2012 by JP Liew
	- fixed Relay digitalWrite() not in OUTPUT mode
	- added Device ID 1003, DATA="VNO" for cape to report software version
	- disabled responding to DID 1001 with the new all in one TX & RX board
	- changed 433 transmit from 5 times to 8 times	

Version 0.35: 2nd July 2012 by JP Liew
	- added handling for Relay Breakout board. 2nd July 2012
	- added reading ID for Relay Breakout board. 2nd July 2012

Version 0.34.1: 22th June 2012 by JP Liew
	- added blinkLED() for push button triggered.  22nd June 2012
	
Version 0.34: 15th June 2012 by JP Liew
	- added doOnBoardRGB() to report status of RGB Led.  15th June 2012
	- added doJSONResponse() to ack server messages. 15th June 2012
	- added doJSONError(int) to report error. 15th June 2012

Version 0.33: 
	- added sound sensor support and blink RED LED if sound level exceeds 0. 1st June 2012
	- fixed 433Mhz Tx & Rx interfering. 1st June 2012
	- fixed readSerialString() stucked in while loop. 1st June 2012
	- changed blinkGreenLED() to blinkLED() so that any LED could be blinked. 1st June 2012

Version 0.32: 31st May 2012 by JP Liew
	- changed TMP102 to read in 30 sec interval, reading too quickly will cause chip to heat up, thus giving slightly higher temperature reading. 30th May 2012
	- added code to prevent multiple creation of ISR in enableReceive() for RCSwitch library. 31st May 2012
	- added 433Mhz Rx module code. 31st May 2012
	- added blinkGreenLED() when valid 433Mhz code received. 31st May 2012

Version 0.31: 29th May 2012 by JP Liew
	- changed JSON protocol, shorten to G,V,D,DA
	- fixed RGB ID bug, should be 1000
	- added UNKNOWN sensor to return ADC value
	- added 433Mhz Tx module code
	- changed DHT22 humidity & temp to return float value
	
Version 0.2: 25th May 2012 by JP Liew
	- restructured JSON protocol to encapsulate devices with GUID, VID, DID and DATA
	
Version 0.1: by Marcus Schappi www.ninjablocks.com

Libraries Required
==================

1. Ninja (Ninja.h header file)
2. Sensors (Ninja Blocks library)
3. NinjaObjects (Ninja Blocks library)
4. aJson
5. DHT22
6. Wire
7. I2C
8. MMA8453Q
9. RCSwitch

NOTE: Please read 3rd party library's README for respective author's name and usage guide.


Installation instructions
=========================

1. Extract / Check out to Arduino's libraries folder.
2. Ninja Arduino's sketch is located inside 
		
		libraries
				--->Ninja
						--->NinjaArduino