Navigation

    • Register
    • Login
    • Search
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. RJ_Make
    3. Best
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    Best posts made by RJ_Make

    • 'MySensoring' a GE Washer

      This is another very simple "Wash Cycle Completed" sensor. It's design uses the same Optocoupler sensing design I used in the Kiddie Smoke Detector project. The only difference is that I'm using 1 AC to DC transformer, and a boost module to boost the washer speaker power to fire the Optocoupler.

      Parts:

      1. 1 Cheap AC/DC converter
      2. 1 Optocoupler
      3. 1 Step up Regulator
      4. 1 Small Proto Board.
      5. Some wire

      Highlights:
      Use the Washers .5vdc Signal Piezo to interface with the Pro-Mini. The voltage to the Piezo is to low to drive the Optocoupler so I had to use a boost module to boost the voltage to the Optocoupler. I'm not sure what the long term effect will be on washers control board Piezo drive circuit, so I will follow up if I encounter a problem.

      Again Uses the same sketch as the Kiddie Smoke Project, with the only change being to CYCLE_INTERVAL (For my dryer 3 works well)

      Sketch:

      // Based on Author: Patrick 'Anticimex' Fallberg Interrupt driven binary switch example with dual interrupts
      
      #include <MySensor.h>
      #include <SPI.h>
      
      #define SKETCH_NAME "Washer End Cycle"
      #define SKETCH_MAJOR_VER "1"
      #define SKETCH_MINOR_VER "1"
      
      #define CHILD_ID 3
      
      #define SIREN_SENSE_PIN 3   // Arduino Digital I/O pin for optocoupler for siren
      
      unsigned int SLEEP_TIME			= 32400; // Sleep time between reads (in seconds) 32400 = 9hrs?
      long CYCLE_COUNTER					= 3;  // This is the number of times we want the Audio Counter to reach before triggering a signal to controller.
      unsigned long CYCLE_INTERVAL		= 3; // How long do we want to watch once first detected (in seconds) 
      											//Adjust for your smoke detector, you want to pick up the siren signal at least 3 time to help stop false alarms. 
      unsigned long CYCLE_RATE			= 90; // How fast do we want to move checking the Pin state in the Status Check (in Millis) Adjust for your smoke detector
      											//Adjust for your smoke detector, you want to pick up the siren signal at least 3 time to help stop false alarms.
      unsigned long CYCLE_TIME_OKSTATUS	= 8; // How long do we want to watch for "all clear" once we have confirmed an Alarm (in seconds)
      unsigned long CYCLE_RATE_OKSTATUS	= 500; // How fast do we want to move checking the Pin state when checking for an OK status (in Millis)
      
      int oldValue=1;
      int value=0;
      
      
      MySensor sensor_node;
      MyMessage msg(CHILD_ID, V_TRIPPED);
      
      void setup()  
      {  
      	sensor_node.begin();
      	// Setup the Siren Pin HIGH
      	pinMode(SIREN_SENSE_PIN, INPUT_PULLUP);
      	// Send the sketch version information to the gateway and Controller
      	sensor_node.sendSketchInfo(SKETCH_NAME, SKETCH_MAJOR_VER"."SKETCH_MINOR_VER);
      	sensor_node.present(CHILD_ID, S_SMOKE); 
      	//Send the state -- Always send Alarm state on power up.
      	sensor_node.send(msg.setSensor(CHILD_ID).set("1"), true);
      	
      }
      
      // Loop will iterate on changes on the BUTTON_PINs
      void loop() 
      {
      	// Check to see if we have a alarm. I always want to check even if we are coming out of sleep for heartbeat.
      	AlarmStatus();
      	// Sleep until we get a audio power hit on the optocoupler or 9hrs
      	sensor_node.sleep(SIREN_SENSE_PIN-2,FALLING, SLEEP_TIME * 1000UL);
      	
      } 
      
      void AlarmStatus()
      {
      	
      // We will check the status now, this could be called by an interrupt or heartbeat
      int siren_audio_count	=0;
      long cycle_time			=0; 	
      unsigned long startedAt = millis();
      
      	Serial.println("Status Check");
      	//Read the Pin
      	value = digitalRead(SIREN_SENSE_PIN);
          // If Pin return a 0 (LOW), then we have a Alarm Condition
      	if (value != 1) {
      		 //We are only going to check for status for CYCLE_INTERVAL time I think this should help stabilize Siren Sensing
      		  while(millis() - startedAt < CYCLE_INTERVAL * 1000)
      		  {
      			  //We are going to check CYCLE_RATE fast
      			  if(millis() - cycle_time > CYCLE_RATE ) {
      				  // save the last time you Checked
      				  cycle_time = millis();
      				    //We will count each time SIREN_SENSE_PIN is 0 (Alarm - LOW) for the above time and at the above rate.
      					value = digitalRead(SIREN_SENSE_PIN);  
      						if (value != 1)
      						{
      							siren_audio_count++;
      							Serial.print("Audio Count: ");
      							Serial.println(siren_audio_count);
      						} 
      			  }
      		  }
      				// Eval siren audio hit count against our limit. If we are => then CYCLE_COUNTER then lets start a loop for "All Clear" reset
      				// If we continue to return an audio power hit, then we will continue to send to the controller. 
      				if (siren_audio_count>=CYCLE_COUNTER)
      				{
      					Serial.println("Alarm Detected");
      					
      					do 
      					{
      					  //update gateway with bad news.
      					  //sensor_node.send(msg.set("1"));
      					  sensor_node.send(msg.setSensor(CHILD_ID).set("1"), true);
      					  Serial.println("Alarm Detected Sent to gateway");
      					} while (IsAlarmAllClear()!=1);
      				
      				}
      	}
      	//Pin returned a 1 (High) so there is no alarm. 
      	else
      	{
      	  IsAlarmAllClear();
      	}
      }
      
      int IsAlarmAllClear()
      // We are looking for an gap in time that we no longer see an audio power hit to the optocoupler. 
      
      {
       int alarmOn				=0;
       long cycle_time			=0;
       unsigned long startedAt	= millis();
      
      	//We are only going to check for status for CYCLE_TIME_OKSTATUS time	
      	while(millis() - startedAt < CYCLE_TIME_OKSTATUS * 1000)
      	{
      		//We are going to check CYCLE_RATE_OKSTATUS fast
      		if(millis() - cycle_time > CYCLE_RATE_OKSTATUS) {
      			// save the last time you Checked
      			cycle_time = millis();
      			int value = digitalRead(SIREN_SENSE_PIN);
      			if (value != 1) //We are still in an alarm state
      			{
      				alarmOn++;
      			}
      		}
      	}
      			if (alarmOn < 1)
      			{
      				// We don't have any sign that we are still in an alarm status
      				//Send all clear msg to controller
      				//sensor_node.send(msg.set("0"));
      				sensor_node.send(msg.setSensor(CHILD_ID).set("0"), true);
      				// Used to update the node - NOT used for battery check.
      				sensor_node.sendBatteryLevel(random(1, 100) );
      				Serial.println("All Clear");
      				return 1;
      			} 
      			else
      			{
      				// We are still in an alarm status
      				//The calling function will handle sending NOT CLEAR to controller				
      				Serial.println("NOT CLEAR");
      				return 0;
      			} 	 
      

      }

      Here a some Pictures:

      20150613_091041.jpg

      20150613_091049.jpg

      20150613_091057.jpg

      20150613_091106.jpg

      2015-06-13_11-12-02.png

      AC to DC Power Module Supply Isolation module Input AC85-265V Output DC 5V 600mA

      $2.70
      Sold out

      65 pcs CNY17-1 Optocoupler with base, 70V, 50mA, 150mW, DIP 6 pin Opto Isolator

      $3.99
      Sold out

      DC/DC ( Input 0.8-3V) ( Output 3.3V ) Step-UP Power Converter Voltage Module RF

      $3.99
      Sold out
      posted in My Project
      RJ_Make
      RJ_Make
    • RE: Windows GUI/Controller for MySensors

      Will this program act like a controller (take the place of Vera?) and handle automation logic?

      posted in Controllers
      RJ_Make
      RJ_Make
    • RE: 'MySensoring' a Kidde Smoke Detector. (Completed)

      I think it's complete.

      Hardware wise this project is VERY easy to complete. The hardest part was arranging the hardware to fit in the case. The sketch on the other hand was a pain in my butt and I'm sure it's VERY inefficient, but does seem to work without ANY false alarms.

      Thanks to @BulldogLowell for the help!

      Mod Goals:

      1. Detect when the siren is powered up and transmit that "trip" to Vera (for various processes)
      2. Use interrupt to start Arduino with a 9 hour "heart beat".
      3. Utilize the detectors battery power.

      Because this detector has on-board battery level checks and warnings, I don't have to mess around with building a battery circuit.

      BOM:

      1. Pro Mini
      2. I'm using Optocoupler for the speaker power isolation (you could probably just sense the 3.3v speaker voltage directly).
      3. Kidde Detector Used (any can be used providing you have the space inside)

      Here is the sketch:

      	// Based on Author: Patrick 'Anticimex' Fallberg Interrupt driven binary switch example with dual interrupts
      
      	#include <MySensor.h>
      	#include <SPI.h>
      
      	#define SKETCH_NAME "Smoke Alarm Sensor"
      	#define SKETCH_MAJOR_VER "1"
      	#define SKETCH_MINOR_VER "0"
      
      	#define CHILD_ID 3
      
      	#define SIREN_SENSE_PIN 3   // Arduino Digital I/O pin for optocoupler for siren
      
      	unsigned int SLEEP_TIME			= 32400; // Sleep time between reads (in seconds) 32400 = 9hrs?
      	long CYCLE_COUNTER					= 3;  // This is the number of times we want the Audio Counter to reach before triggering a signal to controller.
      	unsigned long CYCLE_INTERVAL		= 9; // How long do we want to watch once first detected (in seconds) 
      												//Adjust for your smoke detector, you want to pick up the siren signal at least 3 time to help stop false alarms. 
      	unsigned long CYCLE_RATE			= 90; // How fast do we want to move checking the Pin state in the Status Check (in Millis) Adjust for your smoke detector
      												//Adjust for your smoke detector, you want to pick up the siren signal at least 3 time to help stop false alarms.
      	unsigned long CYCLE_TIME_OKSTATUS	= 8; // How long do we want to watch for "all clear" once we have confirmed an Alarm (in seconds)
      	unsigned long CYCLE_RATE_OKSTATUS	= 500; // How fast do we want to move checking the Pin state when checking for an OK status (in Millis)
      
      	int oldValue=1;
      	int value=0;
      
      
      	MySensor sensor_node;
      	MyMessage msg(CHILD_ID, V_TRIPPED);
      
      	void setup()  
      	{  
      		sensor_node.begin();
      		// Setup the Siren Pin HIGH
      		pinMode(SIREN_SENSE_PIN, INPUT_PULLUP);
      		// Send the sketch version information to the gateway and Controller
      		sensor_node.sendSketchInfo(SKETCH_NAME, SKETCH_MAJOR_VER"."SKETCH_MINOR_VER);
      		sensor_node.present(CHILD_ID, S_SMOKE); 
      	}
      
      	// Loop will iterate on changes on the BUTTON_PINs
      	void loop() 
      	{
      		// Check to see if we have a alarm. I always want to check even if we are coming out of sleep for heartbeat.
      		AlarmStatus();
      		// Sleep until we get a audio power hit on the optocoupler or 9hrs
      		sensor_node.sleep(SIREN_SENSE_PIN-2,FALLING, SLEEP_TIME * 1000UL);
      	} 
      
      	void AlarmStatus()
      	{
      	
      	// We will check the status now, this could be called by an interrupt or heartbeat
      	int siren_audio_count	=0;
      	long cycle_time			=0; 	
      	unsigned long startedAt = millis();
      
      		Serial.println("Status Check");
      		//Read the Pin
      		value = digitalRead(SIREN_SENSE_PIN);
      		// If Pin return a 0 (LOW), then we have a Alarm Condition
      		if (value != 1) {
      			 //We are only going to check for status for CYCLE_INTERVAL time I think this should help stabilize Siren Sensing
      			  while(millis() - startedAt < CYCLE_INTERVAL * 1000)
      			  {
      				  //We are going to check CYCLE_RATE fast
      				  if(millis() - cycle_time > CYCLE_RATE ) {
      					  // save the last time you Checked
      					  cycle_time = millis();
      						//We will count each time SIREN_SENSE_PIN is 0 (Alarm - LOW) for the above time and at the above rate.
      						value = digitalRead(SIREN_SENSE_PIN);  
      							if (value != 1)
      							{
      								siren_audio_count++;
      								Serial.print("Audio Count: ");
      								Serial.println(siren_audio_count);
      							} 
      				  }
      			  }
      					// Eval siren audio hit count against our limit. If we are => then CYCLE_COUNTER then lets start a loop for "All Clear" reset
      					// If we continue to return an audio power hit, then we will continue to send to the controller. 
      					if (siren_audio_count>=CYCLE_COUNTER)
      					{
      						Serial.println("Alarm Detected");
      					
      						do 
      						{
      						  //update gateway with bad news.
      						  sensor_node.send(msg.set("1"));
      						  Serial.println("Alarm Detected Sent to gateway");
      						} while (IsAlarmAllClear()!=1);
      				
      					}
      		}
      		//Pin returned a 1 (High) so there is no alarm. 
      		else
      		{
      		  IsAlarmAllClear();
      		}
      	}
      
      	int IsAlarmAllClear()
      	// We are looking for an gap in time that we no longer see an audio power hit to the optocoupler. 
      
      	{
      	 int alarmOn				=0;
      	 long cycle_time			=0;
      	 unsigned long startedAt	= millis();
      
      		//We are only going to check for status for CYCLE_TIME_OKSTATUS time	
      		while(millis() - startedAt < CYCLE_TIME_OKSTATUS * 1000)
      		{
      			//We are going to check CYCLE_RATE_OKSTATUS fast
      			if(millis() - cycle_time > CYCLE_RATE_OKSTATUS) {
      				// save the last time you Checked
      				cycle_time = millis();
      				int value = digitalRead(SIREN_SENSE_PIN);
      				if (value != 1) //We are still in an alarm state
      				{
      					alarmOn++;
      				}
      			}
      		}
      				if (alarmOn < 1)
      				{
      					// We don't have any sign that we are still in an alarm status
      					//Send all clear msg to controller
      					sensor_node.send(msg.set("0"));
      					Serial.println("All Clear");
      					return 1;
      				} 
      				else
      				{
      					// We are still in an alarm status
      					//The calling function will handle sending NOT CLEAR to controller				
      					Serial.println("NOT CLEAR");
      					return 0;
      				} 	 
      
       }
      

      Here is the wiring:
      MySensorsKiddeSmokeDetector_bb.png

      Here are some finished hardware pics:

      20150207_104613.jpg

      20150207_104619.jpg

      20150207_104640.jpg

      20150207_104707.jpg

      20150207_183259.jpg

      65 pcs CNY17-1 Optocoupler with base, 70V, 50mA, 150mW, DIP 6 pin Opto Isolator

      $3.99
      Sold out
      posted in My Project
      RJ_Make
      RJ_Make
    • 'MySensoring' a FlashForge Creator Pro 3D Printer.

      Most here have seen me whine about wanting a 3D printer, well those days are gone. I got a FlashForge Creator Pro, which after making some repairs due to shipping damage, works quite well, at least with my test prints...

      That said, one very annoying issue with the printer is that the on/off switch is located in the back, which makes it a bit of a pain to get to. So I thought, I should "MySensor" this puppy.... 🙂

      So before I really get into printing off really "useful stuff", I wanted to place a small HD camera inside the printer, and allow for remote and local power on/off and viewing.

      I did all this kinda fast so the workmanship isn't up to my desire level, but......

      Parts:

      1. Wire
      2. Push Button
      3. Mini Rboard and Radio
      4. HD Camera and 2.5mm Lens

      Highlights:

      1. Main power switch is still the Master On/Off. (I can leave it on now)
      2. The Printers power supply is fairly robust, so I didn't want to switch the 24vdc output to all the electronics (not too mention that leaves the PSU powered up all the time, and I didn't want that either). So I decided it would be best to switch the mains power to the PSU.
      3. I Branched off the mains with a small 120vac to 5vdc transformer to power the Mini Rboard.
      4. I mounted the camera's 12v 2a transformer inside the printers electronic compartment also. (the camera will only run if the unit is powered up)

      I mounted the camera in on the back wall ( I will probably change this as I'm not satisfied with the viewing angle) and ran the line down through the left rear wire chase. Once inside the electrical compartment, I fed the Ethernet line out the back with the extruder cables and left the power line for the camera inside the electrical compartment.

      I drilled a small hole underneath the control display in the middle, mounted the Rboard off a platform screw that was already present.

      I mounted the power transformer for the Rboard with supper sticky double sided tape and also zip tied the wiring to a post. (I really should print an encloser for it but.....)

      I also mounted the cameras power supply in the same manor.

      From there it's just a matter of breaking down the wiring to the printers PSU and switching that and power to the camera....

      The push button is connected to the A0 jumper set on the Rboard, and the only change in the standard relay with push button sketch was to change pin 3 to 14 (is the digital mapping to A0)

      Sorry about the quality of the pictures...

      20150504_134903.jpg

      20150504_134911.jpg

      20150504_134922.jpg

      20150504_165542.jpg

      posted in Enclosures / 3D Printing
      RJ_Make
      RJ_Make
    • 'MySensoring' a GE Electric Clothes Dryer

      GE Electric Dryer M# GTX18ESSJ0WW

      This is a very simple "Dry Cycle Completed" sensor. It's designed uses the same Optocoupler sensing design I used in the Kiddie Smoke Detector project. The only difference is that I'm using 2 AC to DC transformers. One to power the the Pro Mini, and the other to sense cycle completion.

      Parts:

      1. Some wire
      2. 2 Cheap AC/DC converters
      3. 1 Optocoupler
      4. 1 Resistor 4.7K
      5. 1 Step Down Regulator (for the radio)
      6. 1 Small Proto Board.

      Highlights:

      1. Use the Dryer 120v Signal buzzer to interface with the Pro-Mini. Simply power the 2nd (sense) AC to DC transformer with the signal buzzer, and use the 5vdc output to activate the optocoupler. (I'm sure you can probably just read the raw 5vdc, but I have 60 of these opto's so I wanted to use one.. 🙂 )
      2. Uses the same sketch as the Kiddie Smoke Project, with the only change being to CYCLE_INTERVAL (For my dryer 3 works well)

      Sketch:

      // Based on Author: Patrick 'Anticimex' Fallberg Interrupt driven binary switch example with dual interrupts
      
      #include <MySensor.h>
      #include <SPI.h>
      
      #define SKETCH_NAME "Dryer End Cycle"
      #define SKETCH_MAJOR_VER "1"
      #define SKETCH_MINOR_VER "1"
      
      #define CHILD_ID 3
      
      #define SIREN_SENSE_PIN 3   // Arduino Digital I/O pin for optocoupler for siren
      
      unsigned int SLEEP_TIME			= 32400; // Sleep time between reads (in seconds) 32400 = 9hrs?
      long CYCLE_COUNTER					= 3;  // This is the number of times we want the Audio Counter to reach before triggering a signal to controller.
      unsigned long CYCLE_INTERVAL		= 3; // How long do we want to watch once first detected (in seconds) 
      											//Adjust for your smoke detector, you want to pick up the siren signal at least 3 time to help stop false alarms. 
      unsigned long CYCLE_RATE			= 90; // How fast do we want to move checking the Pin state in the Status Check (in Millis) Adjust for your smoke detector
      											//Adjust for your smoke detector, you want to pick up the siren signal at least 3 time to help stop false alarms.
      unsigned long CYCLE_TIME_OKSTATUS	= 8; // How long do we want to watch for "all clear" once we have confirmed an Alarm (in seconds)
      unsigned long CYCLE_RATE_OKSTATUS	= 500; // How fast do we want to move checking the Pin state when checking for an OK status (in Millis)
      
      int oldValue=1;
      int value=0;
      
      
      MySensor sensor_node;
      MyMessage msg(CHILD_ID, V_TRIPPED);
      
      void setup()  
      {  
      	sensor_node.begin();
      	// Setup the Siren Pin HIGH
      	pinMode(SIREN_SENSE_PIN, INPUT_PULLUP);
      	// Send the sketch version information to the gateway and Controller
      	sensor_node.sendSketchInfo(SKETCH_NAME, SKETCH_MAJOR_VER"."SKETCH_MINOR_VER);
      	sensor_node.present(CHILD_ID, S_SMOKE); 
      	//Send the state -- Always send Alarm state on power up.
      	sensor_node.send(msg.setSensor(CHILD_ID).set("1"), true);
      	
      }
      
      // Loop will iterate on changes on the BUTTON_PINs
      void loop() 
      {
      	// Check to see if we have a alarm. I always want to check even if we are coming out of sleep for heartbeat.
      	AlarmStatus();
      	// Sleep until we get a audio power hit on the optocoupler or 9hrs
      	sensor_node.sleep(SIREN_SENSE_PIN-2,FALLING, SLEEP_TIME * 1000UL);
      	
      } 
      
      void AlarmStatus()
      {
      	
      // We will check the status now, this could be called by an interrupt or heartbeat
      int siren_audio_count	=0;
      long cycle_time			=0; 	
      unsigned long startedAt = millis();
      
      	Serial.println("Status Check");
      	//Read the Pin
      	value = digitalRead(SIREN_SENSE_PIN);
          // If Pin return a 0 (LOW), then we have a Alarm Condition
      	if (value != 1) {
      		 //We are only going to check for status for CYCLE_INTERVAL time I think this should help stabilize Siren Sensing
      		  while(millis() - startedAt < CYCLE_INTERVAL * 1000)
      		  {
      			  //We are going to check CYCLE_RATE fast
      			  if(millis() - cycle_time > CYCLE_RATE ) {
      				  // save the last time you Checked
      				  cycle_time = millis();
      				    //We will count each time SIREN_SENSE_PIN is 0 (Alarm - LOW) for the above time and at the above rate.
      					value = digitalRead(SIREN_SENSE_PIN);  
      						if (value != 1)
      						{
      							siren_audio_count++;
      							Serial.print("Audio Count: ");
      							Serial.println(siren_audio_count);
      						} 
      			  }
      		  }
      				// Eval siren audio hit count against our limit. If we are => then CYCLE_COUNTER then lets start a loop for "All Clear" reset
      				// If we continue to return an audio power hit, then we will continue to send to the controller. 
      				if (siren_audio_count>=CYCLE_COUNTER)
      				{
      					Serial.println("Alarm Detected");
      					
      					do 
      					{
      					  //update gateway with bad news.
      					  //sensor_node.send(msg.set("1"));
      					  sensor_node.send(msg.setSensor(CHILD_ID).set("1"), true);
      					  Serial.println("Alarm Detected Sent to gateway");
      					} while (IsAlarmAllClear()!=1);
      				
      				}
      	}
      	//Pin returned a 1 (High) so there is no alarm. 
      	else
      	{
      	  IsAlarmAllClear();
      	}
      }
      
      int IsAlarmAllClear()
      // We are looking for an gap in time that we no longer see an audio power hit to the optocoupler. 
      
      {
       int alarmOn				=0;
       long cycle_time			=0;
       unsigned long startedAt	= millis();
      
      	//We are only going to check for status for CYCLE_TIME_OKSTATUS time	
      	while(millis() - startedAt < CYCLE_TIME_OKSTATUS * 1000)
      	{
      		//We are going to check CYCLE_RATE_OKSTATUS fast
      		if(millis() - cycle_time > CYCLE_RATE_OKSTATUS) {
      			// save the last time you Checked
      			cycle_time = millis();
      			int value = digitalRead(SIREN_SENSE_PIN);
      			if (value != 1) //We are still in an alarm state
      			{
      				alarmOn++;
      			}
      		}
      	}
      			if (alarmOn < 1)
      			{
      				// We don't have any sign that we are still in an alarm status
      				//Send all clear msg to controller
      				//sensor_node.send(msg.set("0"));
      				sensor_node.send(msg.setSensor(CHILD_ID).set("0"), true);
      				// Used to update the node - NOT used for battery check.
      				sensor_node.sendBatteryLevel(random(1, 100) );
      				Serial.println("All Clear");
      				return 1;
      			} 
      			else
      			{
      				// We are still in an alarm status
      				//The calling function will handle sending NOT CLEAR to controller				
      				Serial.println("NOT CLEAR");
      				return 0;
      			} 	 
      

      }

      Here are a few, pretty bad pictures:

      20150613_090149.jpg

      20150613_090245.jpg

      20150613_090424.jpg

      20150613_090429.jpg

      20150613_090436.jpg

      20150613_090418.jpg

      2015-06-13_11-12-02.png

      AC to DC Power Module Supply Isolation module Input AC85-265V Output DC 5V 600mA

      $2.70
      Sold out

      65 pcs CNY17-1 Optocoupler with base, 70V, 50mA, 150mW, DIP 6 pin Opto Isolator

      $3.99
      Sold out

      5PCS DC 5V to 3.3V Step-Down Power Supply AMS1117 RF Wireless module MCU Board

      $3.44
      1836 available
      posted in My Project
      RJ_Make
      RJ_Make
    • RE: Reflow Oven

      Ok;.... so I received my oven kit from Peter Monday, and built it up yesterday.. I still have to work out the coding for the auto door opening and 2nd lower thermocouple (I think that one will be much later), but here is the hardware setup..

      There were only 2 items on this build that were somewhat difficult.. The most difficult by leaps and bounds is installing the gold reflective tape. It's was a nightmare, and if I every build a 2nd one I will completely dismantle the toaster and apply the tape with the elements and element guards out of the way next time... The 2nd item was the ControLeo's mounting box, I think reversing the mounting (mount board to front panel) of the PCB would make it much easier. I do however understand that having custom enclosures would probably add too much to the cost..

      I wind up over building everything, so some of the stuff I did is probably not necessary... For instance, I forgot to get some pictures, but I insulated the entire outer jacket with this stuff.. It added expense, but wow, the differences in temps from where that stuff is, and where it's not is amazing..

      Ok.... enough of that.. On to the pictures...

      BOM: (Much of this stuff you probably have laying around)

      1. ControLeo2 Oven Kit Or ControLeo2 Plain.
      2. This Oven
      3. Jacket Insulation
      4. Control Wall Insulation
      5. 12vdc 1.5a power supply.
      6. Music Wire
      7. Servo (Door Opener Rod)
      8. Stainless Steel 300x3mm Round Rod (D00r Opener Rod)
      9. 3mm collar (Door Opener Rod)
      10. Perforated Aluminum Sheet
      11. 12vdc 60mm Cooling Fan
      12. DC-DC Converter (set at 5vdc)
      13. 2a SSR (For Cooling Fan)
      14. High Temp Wire12-10 Gauge
      15. High Temp Loom
      16. Heat Shrink
      17. Thermocouple Breakout Board (for 2nd lower thermocouple)
      18. Lower Thermocouple
      19. 2 Sided Foam Tape

      Removed oven jacket and feet and swap the upper and lower elements. (Take your time, the elements and spot welds are very fragile) While the jacket is off, I Insulated it. (Optional)

      20141114_171647.jpg

      20141114_171700.jpg

      Removed all unnecessary wiring (I choose to keep the thermostat and switches in the circuit for some over temp protection)

      Drilled a 3mm hole in front and rear of oven for door opener.
      20141121_165356.jpg

      Built mount and install the door servo.
      20141121_173127.jpg

      Installed Insulation on component wall. I was able to get this in there pretty tight, so I only had to use two rivets at the very top (not seen in this pic)
      20141215_163939.jpg

      Fitted the aluminum that comes in ControLeo's 2 oven kit to "hang" off the top of the cavity seam. I also installed the SSR's, DC to DC converter. I Also cut out and installed power supply and cooling fan (air entering control space)
      20141216_104609.jpg

      Very Important!

      20141216_101715.jpg

      I drilled 5 more holes. (3) 3/8" (two for ControLeo2 Case and one underneath oven rear wall spacer) and the other 2 were for the sensors, upper and lower rear of oven cavity.

      Fished all wire through lower grommet and loom. (it was VERY tight, but it all fit)

      Here is a picture with everything installed. (The bracket is mounted underneath the oven cavity seem (in the pic it looks like it's on top, but it's not))
      20141216_135105.jpg

      20141216_135129.jpg

      The ControLeo2 all wired up with 2nd thermocouple breakout board and servo connection. (2 sided foam tape worked well for mounting the breakout board onto the ControLeo2 board.

      20141216_154632.jpg

      Installed interior Gold tape and Insulation. (Man this was the hardest part of this entire build..... )

      20141216_164158.jpg

      20141216_164206.jpg

      20141217_150727.jpg

      20141217_150742.jpg

      And the completed oven....

      20141217_150654.jpg

      20141217_150616.jpg

      20141217_150600.jpg

      20141216_194420.jpg

      20141216_194335.jpg

      20141216_194340.jpg

      I'm sure I missed something but I hope you found this interesting...

      Until next time......

      Updated: Forgot to show the use of the left-over high temp. connection covers on elements behind SSR bracket.

      Controleo3 Reflow Oven Controller build kit (open-source)

      $289.00
      9919 available

      Controleo3 Reflow Oven Controller (open-source)

      $139.00
      748 available

      LM317 DC-DC Converter Buck Circuit Board Adjustable Linear Regulator (Pack of 5)

      $2.53
      Sold out

      One Channel SSR (Solid State Relay) Module Board, AC100~240V/2A.

      $5.99
      Sold out

      MAX31855 thermocouple breakout board for 5V systems (type K, K-type)

      $14.95
      Sold out
      posted in Hardware
      RJ_Make
      RJ_Make
    • Donations (Lets help keep the lights on)

      In another thread I asked about financially supporting the efforts for the board_development_site that Hek is working on, and it made me think why have I not done so for the MySensors project. I started looking around and what do I find, a Donation Link on the main page..

      Not sure if others have noticed (I'm mainly in the forums) this but I thought I would bring it to everyone attention. 🙂

      2014-12-18_18-00-52.png

      If we forget about all the hard work that goes into maintaining the site (which we should never ever do), the actual costs of just keeping the lights on has to be a fair chunk of money every day, month and year.

      **So if you are like me and have benefited from this site why not make a small donation to help keep the lights on. I guarantee it will make you feel good 🙂 **

      posted in General Discussion
      RJ_Make
      RJ_Make
    • Refrigeration Datta Logger (A Non MySensors Project)

      So I've been wanting to build a Refrigeration Temp / Current logger for some time now, and I finally got around to it (spured by a post on another board). So while this is not a MySensors project, I thought it may help those who are thinking about doing something similar.

      Just about all the information to build a temp / current logger is out there on the Internets so there's nothing terribly innovative about it.

      Features:

      • Logs the following to an Adafruit SD Card Shield
        3 DHT's (Temperature and Humidity)
        1 Equipment Current
        2 Light levels
      • Uses a settings.ini file to choose logging options.
      • Uses a fairly robust error function.
      • 6.5 Second log rate (this is the fastest due to the DHT's)
      • Can log data indefinitely (Limited only by the size SD Card).
      • Core design can be used on both 125vac and 220vac equipment. (Internal Power Supply Allows for this)

      BOM:

      Core Items:

      1. UNO R3 ATmega328P
      2. Adafruit Assembled Data Logging shield for Arduino
      3. DHT22 AM2302 Digital Temperature and Humidity Sensor Module
      4. Non-invasive AC Sensor Split Core Current Transformer SCT-013-000 0-100A
      5. 1/4W Metal Film Resistors Assorted kit 75 Values
      6. Kit 10value 100pcs 4X7mm Electrolytic Capacitor Assortment
      7. 10PCS Double Side Prototype PCB Tinned Universal Breadboard
      8. 20pcs, PushButton SPST Momentary Normal OFF N/O Push Switch Red Cap Push to Make
      9. 20PCS Photo Light Sensitive Resistor Photoresistor Optoresistor 5mm GL5539
      10. Some type of case. I used a old Grasslin DTMV40-M Multi Voltage Defrost Timer case since we use them at work, but you can use any appropriately sized case.
      11. Plastic Project Box Electronic Junction Case
      12. Extension Cord
      13. Romex Connectors
      14. CONTROL WIRE 26AWG. 4 CONDUCTORS. This is VERY important and I wound up going through several different wire types and sizes. You must not use anything larger then 26AWG, and It must be stranded. 26AWG stranded telephone cable should work very well, because it's somewhat flat and will help when passing it through the refrigerator door seals.
      15. If not building your own.This Power Supply @ 9v should work

      Optionals:
      3) 10pcs PCB Panel Mount 4 Pins 3.5mm Female Socket Stereo Headphone Jack
      3) 10 PCS 4-pole 3.5mm Stereo MIC Audio Male Female Plug Jack Soldering

      If you build you own power supply:

      1. 20 Pieces ELECTROLYTIC CAPACITORS 4.7uf 400v
      2. Transformer
      3. Fuse (1A)
      4. MOV (471KD05)
      5. Tvs

      BUILDING IT UP:

      Contributing Web Sites

      https://learn.adafruit.com/adafruit-data-logger-shield

      http://www.homautomation.org/2013/09/17/current-monitoring-with-non-invasive-sensor-and-arduino/

      You can build it up on a bread board if you like, but I'm just going to start off with my actual build.

      Here's my breadboard mess.

      20141019_153251_Android.jpg

      PSU:

      I choose to build my own power supply, but you can simply use a 'wall wart'

      Here is the base PSU, without the caps, MOV and Tvs (I forgot to take pics of the final)

      Base PSU.jpg

      Distribution Board:

      The distribution board handles the current sensing, LED and Power circuits.

      20141024_190038_Android.jpg

      20141024_190100_Android.jpg

      Here is the diagram for the Current Sensing circuit section:

      CT Diagram.jpg

      Here is a diagram for the LED's circuit section:

      LED Diagram.png

      Sensor Connect Board:

      This is an option section, (You can hard wire the sensors but you will need to create a connection break of some type so you can pass the wire through the refrigerator door gasket)

      Here is a picture of the board.

      20141023_183338_Android.jpg

      Assembly:

      Case with PSU Install

      20141023_183329_Android.jpg

      Case with Sensor Connect Board Installed

      20141023_185442_Android.jpg

      First attempt with drilling the holes.

      20141023_185517_Android.jpg

      Second attempt, unfortunately after the board was glued in place. But with a conical grinder and a Dremel it worked perfectly

      20141102_205009.jpg

      Case with Distribution Board

      20141024_191009_Android.jpg

      Case with Arduino and Logging Shield Installed

      20141024_193107_Android.jpg

      20141024_193208_Android.jpg

      Case with CT, ON/OFF switch, Start Switch and LED's

      20141102_204943.jpg

      20141102_204951.jpg

      Sensors:

      20141030_180246.jpg

      20141102_204858.jpg

      Testing:

      20141102_211537.jpg

      20141102_211523.jpg

      20141102_211516.jpg

      Case with some outfitted with some 'Bling'

      20141108_115231.jpg

      20141108_115146.jpg

      Hopefully I didn't miss anything...

      Next Up.... High Temp (Oven) logger..... Well maybe next up, maybe not... 😉

      1/4W Metal Film Resistors Assorted kit 75 Values (1 ohm~ 10M ohm) 1% 1500pcs

      $8.50
      Sold out

      Kit 10value 100pcs 4X7mm Electrolytic Capacitor Assortment

      $4.50
      Sold out

      10PCS Double Side Prototype PCB Tinned Universal Breadboard 5x7 cm 50mmx70mm FR4

      $4.32
      5393 available

      20pcs, PushButton SPST Momentary Normal OFF N/O Push Switch Red Cap Push to Make

      $7.50
      822 available

      20PCS Photo Light Sensitive Resistor Photoresistor Optoresistor 5mm GL5539

      $0.99
      Sold out

      2x NEW Plastic Project Box Electronic Junction Case DIY -27x54x75mm construction

      $4.65
      940 available

      10 PCS 4-pole 3.5mm Stereo MIC Audio Male Female Plug Jack Soldering for Headset

      $4.99
      Sold out

      20 Pieces ELECTROLYTIC CAPACITORS 4.7uf 400v

      $3.99
      Sold out
      posted in My Project
      RJ_Make
      RJ_Make
    • MySensors Sensebender Micro 3DP Case

      It's by far complete, but here is the first revision. There are few design errors, but the overall main case works.

      Sorry about the terrible pictures..

      20150621_103315.jpg

      20150621_103328.jpg

      20150621_103337.jpg

      20150621_103401.jpg

      20150621_103423.jpg

      20150621_103441.jpg

      20150621_103456.jpg

      posted in Enclosures / 3D Printing
      RJ_Make
      RJ_Make
    • 'MySensoring' an HVAC Fresh Air Intake System.

      Here is another completed project using MySensors. My current HVAC system is controlled by a Honeywell YTHX9421R5085WW/U Prestige IAQ control system which works great and has a boat load of options, but has one problem for me. The web access system does not allow control of the fresh air system remotely. It can only be control by the thermostat directly. So I decided that with MySensors I should be able to change that.

      With this "mod" I'm able to remotely:

      1. Activate the fresh air intake system (open a motorized damper, turn on the fresh air blower and the HVAC blower)
      2. Detect when the thermostat is sending a fresh air signal. (This allows me to turn on exhaust blowers on the upper floor)
      3. Lock out the thermostat from turning on the fresh air system. (used when humidity is too high)
      4. Physically active the fresh air system.
      5. Monitor the fresh air intake air temp (mixed air temp)

      The project is very similar to my EH40 project, with a few exceptions.

      1. Utilized the HVAC's 27vac to power the project.
      2. Used mb6s surface mount rectifiers. (had them laying around)
      3. Used a Optocoupler. (I had a lot of fun messing around with that)(Used it for the detection circuit)
      4. Used a DC to DC converter to lower the 27vdc down to 5vdc

      Here are some pictures of the work..

      Thermostat fresh air signal detection board:
      20141130_133841.jpg

      20141130_133908.jpg

      Case with relays and slot cut out:
      20141130_134014.jpg

      Others:

      20141204_175407.jpg

      20141204_175421.jpg

      20141204_175439.jpg

      20141204_175454.jpg

      20141204_184052.jpg

      20141204_184118.jpg

      20141204_184146.jpg

      20141204_184153.jpg

      20141204_184229.jpg

      20141207_202319.jpg

      20141207_202422.jpg

      20141207_202459.jpg

      20141207_202526.jpg

      Well until next time... 😉

      65 pcs CNY17-1 Optocoupler with base, 70V, 50mA, 150mW, DIP 6 pin Opto Isolator

      $3.99
      Sold out
      posted in My Project
      RJ_Make
      RJ_Make
    • RE: MySensors Sensebender Micro 3DP Case

      V2. Case is smaller, and lighter (much thinner walls) and includes mounting tabs (instead of the rear mounting holes). I also added some side ventilation holes.

      20150709_192244.jpg

      20150709_192302.jpg

      posted in Enclosures / 3D Printing
      RJ_Make
      RJ_Make
    • Reflow Oven

      With all these SMT boards being offered, I decided to build a Reflow Oven, and in my research I ran across the ControLeo on Ebay, Contacted the designer and discovered that he has a ControLeo2 coming out on Kicker-starter..

      Check It out..

      photo-main.jpg

      posted in Hardware
      RJ_Make
      RJ_Make
    • RE: 'MySensoring' an Intermatic EH40 (Project Completed!)

      Project Complete! My EH40 has now been 'MySensored'

      This was a fun project, and I learned quite a bit during the process and I was able to accomplish all my goals.

      Goal Recap

      1. Remotely lockout the EH40's schedule.
      2. Remotely Activate the EH40 Relay.
      3. Locally override_to_On, Both Vera and the EH40 schedule (Button)
      4. Remotely acquire water heater's tank temperature.

      Final Components Used:

      1. Arduino mini 5V
      2. Dual Relay 5V
      3. Couple of pcb's
      4. Screw Connectors
      5. Push Button
      6. Temperature Sensor
      7. Radio
        8.) Step Down Module
      8. Fused Rocker Switch
      9. Transformer I wound up going with one of these over the Ebay China option. Just felt more comfortable with this.
      10. Project Box

      Misa: Resisters, 47uF cap for the radio, wires and lots of solder and hot glue.

      **Final EH40 Wire Configuration **

      20140906_144322_Android.jpg

      1. Red - 1.5vdc directly from EH40 Batt.
      2. Black (Yellow) GND
      3. Blue (Blue) Input
      4. Yellow (Blue) Output

      Transformer Assm: Board

      20140905_182226_Android.jpg

      The output seem stable enough (using a volt meter) I didn't use any post filtering.
      All connection under pcb is covered in a thick layer of hot glue to help prevent any shorts.

      EH40 Connection Board

      20140904_201220_Android.jpg

      20140904_201211_Android.jpg

      Main Control Board

      I forgot to get pictures of the top, but here is the messy bottom..

      20140906_161935_Android.jpg

      EH40 Connection Board Mounted In Box

      20140905_182341_Android.jpg

      Using a Dremel; cut a slot out, then hot gluing to bottom of box.

      Dual Relay Mounted

      20140905_183803_Android.jpg

      20140906_072851_Android.jpg

      It was a perfect fit.

      Push Button and LED (Wired Relay Contacts)

      20140906_125308_Android.jpg

      Top relay is #1 (Lockout); 2nd is #2 (Override)

      1)Relay #1 -- Blue Wire -- Output to NC
      2)Relay #1 -- Yellow Wire -- input to COM

      3)Relay #1 -- Blue Wire -- Output NC JUMPED to COM of Relay #2

      4)Relay #2 -- 2 Red Wires (One from EH40 and the other for battery monitoring on Main Control Board) -- Output to NO
      5)Relay #2 -- COM JUMPED to Relay #1 NC

      Fused Power Switch and Socket

      20140906_172832_Android.jpg

      500ma Fuse with all exposed connection covered in hot glue.

      Transformer; Relay; EH40 Connection and Main Board

      20140906_161901_Android.jpg

      20140906_181917_Android.jpg

      I tried to keep the High Voltage section isolated from any of the low voltage section as best as possible.

      Completed Project Connected to EH40

      20140907_172541_Android.jpg

      EH40 Connection

      20140907_172530_Android.jpg

      115vac Connection

      20140907_171919_Android.jpg

      EH40 Has Control and running it's schedule

      20140907_172450_Android.jpg

      Vera (Remote) has EH40 Schedule Locked Out (Water Heater Off)

      20140907_172510_Android.jpg

      Vera (Remote) has EH40 Schedule Locked Out but Override button is active (Water Heater On)

      New Pro Mini atmega328 Board 5V 16M Arduino Compatible

      $2.35
      Sold out

      100PCS 2 Pin Way Vertical Screw Header 3.5mm 137mil pitch For Arduino Shield

      $13.98
      Sold out

      20pcs, PushButton SPST Momentary Normal OFF N/O Push Switch Red Cap Push to Make

      $7.50
      822 available

      1pcs DS18b20 Waterproof Temperature Sensors Thermistor Temperature Control

      $6.06
      2038 available

      10PCS Arduino NRF24L01+ 2.4GHz Wireless RF Transceiver Module New

      $8.12
      Sold out

      5PCS DC 5V to 3.3V Step-Down Power Supply AMS1117 RF Wireless module MCU Board

      $3.44
      1836 available
      posted in My Project
      RJ_Make
      RJ_Make
    • RE: MySensors Sensebender Micro 3DP Case

      Added a Motion Sensor Top

      20150711_081014.jpg
      20150711_081047.jpg
      20150711_081030.jpg
      20150711_081211.jpg

      posted in Enclosures / 3D Printing
      RJ_Make
      RJ_Make
    • RE: A kickstarter project maybe helpfull to make nodes...

      I don't know, 25 bucks for just the board seems a bit much to me..

      posted in Hardware
      RJ_Make
      RJ_Make
    • RE: [contest] Yet another servo blind control project

      @slarti LOVE IT!! Very nice job!

      posted in My Project
      RJ_Make
      RJ_Make
    • RE: Australia might criminalise teaching of encryption

      Australia is a trial stomping ground for stuff like this, The results (determined by the Aussie's tolerance for such things) seem to find it's way to other parts of the world...

      posted in General Discussion
      RJ_Make
      RJ_Make
    • RE: Minimal design thoughts

      @tbowmo said:

      I am almost ready for a second prototype spin of the PCB, but before doing that I could use some input from the community,

      If this board was going into "mass production", is there any features that I should consider adding? Any missing parts? Anything that you think that I have forgotten?

      The schematics for revision 2 is a couple of posts back in the thread.

      I have considered adding a ATSHA204 for future security purposes, but can't seem to find a suitable spot for it (maybe I'm just too tired to see things clearly at the moment :)).

      I would work on trying to get the ATSHA204 included, even if it means the dims get a little larger. The one thing that I really don't like about MySensors is the lack of any wireless security.. Would love to see this implemented.

      posted in Hardware
      RJ_Make
      RJ_Make
    • RE: 'MySensoring' a Kidde Smoke Detector. (Completed)

      @DrJeff Sorry about the delay.. Looks like you figured it out... 🙂

      You really don't need to build anymore if you are using those detectors through out the house (and they are setup interlocked), as once one goes off, they all go off and will signal to your controller that there is trouble.

      posted in My Project
      RJ_Make
      RJ_Make
    • RE: Get a MySensors T-Shirt!

      Got Mine...

      20150119_204835.jpg

      posted in Announcements
      RJ_Make
      RJ_Make
    • RE: Request: New Sensor Type ? Thermostatically controlled switch

      Nice Indeed!, too bad I left Vera.. 😢 .. Well Not really.. 🙂

      posted in Feature Requests
      RJ_Make
      RJ_Make
    • RE: Gateway device

      @tbowmo Now that's what I'm talking about.. Those holes look so sexy.... wait, that doesn't sound right.... :bowtie:

      posted in Hardware
      RJ_Make
      RJ_Make
    • RE: MySensors Contest 2015

      Looks like I'm not going to make it. China shipping is killing me.

      posted in Announcements
      RJ_Make
      RJ_Make
    • RE: Sensebender Micro

      @Sparkman
      I wounder if that is being caused by the loading of the battery and the moment the battery info is being calculated......

      posted in Announcements
      RJ_Make
      RJ_Make