Mario Soranno
Published

Everyday Work Safety

I have designed a safety system for remote controls that immediately turns off the vehicle when the operator puts down the remote control

530

Things used in this project

Hardware components

Infineon CY8CKIT-005
×1
10UF 0805
×2
1UF 0603
×2
100NF 0603
×3
2,2NF 0603
×4
LL4148-GS08
×1
HSMH-C120
×1
PJA3440_R1_00001
×2
RC0603FR-07560RL
×4
ERJ-3EKF4701V
×2
RC0603FR-10330RL
×2
AC0603FR-101KL
×3
CR0603-FX-4702ELF
×2
9007-05-00
×1
BD50FC0FP-E2
×1
CY8C4149AZI-S593
×1

Software apps and online services

ModusToolbox™ Software
Infineon ModusToolbox™ Software

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Solder Wire, Lead Free
Solder Wire, Lead Free
PCB Holder, Soldering Iron
PCB Holder, Soldering Iron
3D Printer (generic)
3D Printer (generic)
Hot glue gun (generic)
Hot glue gun (generic)

Story

Read more

Custom parts and enclosures

Handle Of The Radio Control

Handle Of The Radio Control

handle-of-the-radio-control & PCB

handle-of-the-radio-control & PCB

handle-of-the-radio-control 1

handle-of-the-radio-control 1

handle of the radio control 2

handle of the radio control 2

handle of the radio control

handle of the radio control

3D PCB - Everyday Work Safety

3D PCB - Everyday Work Safety

Schematics

Electrical schematic

Electrical schematic

PCB Gerber - Everyday Work Safety

PCB Gerber - Everyday Work Safety

BOM - Everyday Work Safety

BOM - Everyday Work Safety

Code

main.c - Everyday Work Safety

C/C++
main.c
...


#define ON          (0U)
#define OFF         (1U)

static void relay_control(void);


...

 for (;;)
    {
        if(CY_CAPSENSE_NOT_BUSY == Cy_CapSense_IsBusy(&cy_capsense_context))
        {
            /* Process all widgets */
            Cy_CapSense_ProcessAllWidgets(&cy_capsense_context);

            /* Turns Relay ON/OFF based on button status */
            relay_control();

            /* Establishes synchronized communication with the CapSense Tuner tool */
            Cy_CapSense_RunTuner(&cy_capsense_context);

            /* Start the next scan */
            Cy_CapSense_ScanAllSlots(&cy_capsense_context);
        }
    }



...


/*******************************************************************************
* Function Name: relay_control
********************************************************************************
* Summary:
* Turning Relay ON/OFF based on button status
*
*******************************************************************************/
static void relay_control(void)
{

	if((MSC_CAPSENSE_WIDGET_INACTIVE == Cy_CapSense_IsWidgetActive(CY_CAPSENSE_BUTTON0_WDGT_ID, &cy_capsense_context)) &&
			(MSC_CAPSENSE_WIDGET_INACTIVE == Cy_CapSense_IsWidgetActive(CY_CAPSENSE_BUTTON1_WDGT_ID, &cy_capsense_context)) &&
			(MSC_CAPSENSE_WIDGET_INACTIVE == Cy_CapSense_IsWidgetActive(CY_CAPSENSE_BUTTON2_WDGT_ID, &cy_capsense_context)) &&
			(MSC_CAPSENSE_WIDGET_INACTIVE == Cy_CapSense_IsWidgetActive(CY_CAPSENSE_BUTTON3_WDGT_ID, &cy_capsense_context)))
	    {
	       Cy_GPIO_Write(REL_PORT, REL_NUM, OFF);
	    }
	else
	    {
	       Cy_GPIO_Write(REL_PORT, REL_NUM, ON);
	    }
}

...

Everyday Work Safety

Everyday Work Safety - GitHub

Credits

Mario Soranno

Mario Soranno

9 projects • 24 followers
I have a Bachelor's Degree in Industrial Engineering - Electronics. I am an expert in hardware design, I can program in C/C++,Python and ROS

Comments