Industrial Fidget Controller: Difference between revisions

Jump to navigation Jump to search
m
(5 intermediate revisions by the same user not shown)
Line 17: Line 17:
==TODO List==
==TODO List==


* TODO: Install second keystation in workshop.
* <s>TODO: Install second keystation in workshop.</s>
* TODO: Build PCB backlights for keystations and install.  
* <s>TODO: Build PCB backlights for keystations and install.</s>
* TODO: Update Home Assistant configuration.yaml so that the combination of both key-switches can trigger a behaviour (eg: the Snake Pit).
* TODO: Spin up ESP+IR Blaster device to control shop air cleaner.
* TODO: Spin up ESP+IR Blaster device to control shop air cleaner.
* TODO: Potentially install coin-acceptor box into future Snake Pit installation.
* TODO: Potentially install coin-acceptor box into future Snake Pit installation.
Line 27: Line 28:


* The IFC is installed in the members bin storage area directly under the [[HackTouch_3.0|HackTouch 3.0]] screen.
* The IFC is installed in the members bin storage area directly under the [[HackTouch_3.0|HackTouch 3.0]] screen.
* The IFC is an portable display demo built around an industrial control panel enclosure, and a frame built out of 2020 metric extrusion.
* The IFC can also be converted to a portable display/demo, as the electrical enclosure is mounted supported by a frame made of 2020 metric aluminum extrusion.
* The IFC uses an Automation Direct C0-11DD1E-D Click PLC, with expansion modules C0-16CDD1, and 2x C0-16NE3.
* The IFC uses an Automation Direct C0-11DD1E-D Click PLC, with expansion modules C0-16CDD1, and 2x C0-16NE3.
* Internally there is a terminal strip to organize front-panel wiring from the switches to PLC contacts.
* Internally there is a terminal strip to organize front-panel wiring from the switches to PLC contacts.
Line 38: Line 39:
* Certain button or switch combinations can create light animations as a reward for fidgeting. More Easter eggs may be added as time progresses.
* Certain button or switch combinations can create light animations as a reward for fidgeting. More Easter eggs may be added as time progresses.
* Inside the enclosure an electro-mechanical counter keeps track of the total number of button pushes this installation serves to satisfied customers. If you are quiet, the electro-mechanical counter can be audibly heard.
* Inside the enclosure an electro-mechanical counter keeps track of the total number of button pushes this installation serves to satisfied customers. If you are quiet, the electro-mechanical counter can be audibly heard.
* There are 2x remote keystations, each featuring a key-switch, a toggle switch, and a future LED back-light for the switch.
* There are 2x remote keystations, each featuring a key-switch, and a toggle switch.
** The toggle switch will activate a backlit Hacklab.to logo (automatically set on a 1:5 cooldown to avoid overheating).
** If both key-stations are actuated within 0.5s of each other, a future (unimplemented) behaviour can be triggered.
* There is also a separate coin-acceptor box intended for wall-mounting. This box permits donation-triggered events using Home Assistant. The global donation total, and the 'transaction' total (value after no further coins deposited for 30 seconds) are exposed in Home Assistant as float entities.  
* There is also a separate coin-acceptor box intended for wall-mounting. This box permits donation-triggered events using Home Assistant. The global donation total, and the 'transaction' total (value after no further coins deposited for 30 seconds) are exposed in Home Assistant as float entities.  
** Note: the global donation total only appears to update ever $0.50 even though the coin acceptor and PLC logic correctly tracks values to $0.05. This is a Home Assistant problem.
** Note: the global donation total only appears to update ever $0.50 even though the coin acceptor and PLC logic correctly tracks values to $0.05. This is a Home Assistant problem.
Line 210: Line 213:
|  
|  
|}
|}
==Home Assistant Integration==
* The PLC has been assigned the hostname '''IFC.in.hacklab.to'''
* The configuration.yaml has been patched with the MODBUS integration, with each relevant address being mapped to an entity in Home Assistant.
* All IFC entities are prefaced with '''IFC_*'''. Most are buttons as covered under [[Industrial_Fidget_Controller#Button_Mapping|Button Mapping]], and others are associated with the J1/J2/J3 expansion connectors, or the coin acceptor.
22

edits

Navigation menu