Call for Sales and Service: 1-800-889-3751

Design Library

The design library contains sample system designs and program files used in previous projects. 

Classroom A/V Control Solution Example

 

RDL 2 Button Keypad

 

This is a summary of the node flow used for controlling both a projector and projection screen from an RDL 2 button keypad. The logic is implemented using a Raspberry Pi flashed with the Parallax Control Engine. The Parallax Control Engine contains instructions to prepare the device for use as an a/v control system, avoiding the need for custom setup of the device each time.

 

Here is the Node-RED code:

The flow consists of various nodes that interact with different components and perform specific actions. Here is an overview of the main nodes and their functionalities:

1. TCP Request Node (Projector):
- This node is responsible for sending commands to the projector.
- It connects to the projector's IP address and port.
- It sends commands to control the projector's power status.

2. Debug Node (Projector Debug):
- This node displays debug information related to the projector.

3. Function Node (Power On):
- This node generates the command to power on the projector.

4. Function Node (Rx):
- This node converts the received payload to a string.

5. Debug Node (btn_state_bottom):
- This node displays the status of the bottom button (startup) connected to GPIO pin 27.

6. Debug Node (btn_state_top):
- This node displays the status of the top button (shutdown) connected to GPIO pin 4.

7. Inject Node (Test ON):
- This node injects a test payload to simulate the ON state of the button.

8. Inject Node (Test OFF):
- This node injects a test payload to simulate the OFF state of the button.

9. Trigger Node (Screen Down):
- This node triggers an action when the screen-down button is pressed.
- It sets GPIO pin 19 to a low level (0) to control the screen.

10. Trigger Node (Screen Up):
- This node triggers an action when the screen-up button is pressed.
- It sets GPIO pin 20 to a low level (0) to control the screen.

11. Function Node (show gpio state):
- This node generates a command to retrieve the state of a specific GPIO pin.

12. Inject Node (GPIO 20 - screen down output):
- This node injects a test payload to retrieve the state of GPIO pin 20 (screen-down output).

13. Exec Node:
- This node executes the command to retrieve the state of the GPIO pin.

14. Debug Node (Console Debug):
- This node displays the debug information from the executed command.

15. Inject Node (GPIO 19 - screen up output):
- This node injects a test payload to retrieve the state of GPIO pin 19 (screen-up output).

16. Inject Node (GPIO 27 - Button Input - Startup):
- This node injects a test payload to retrieve the state of GPIO pin 27 (button input - startup).

17. Inject Node (GPIO 4 - Button Input - Shutdown):
- This node injects a test payload to retrieve the state of GPIO pin 4 (button input - shutdown).

18. Switch Node:
- This node checks the state of GPIO pin 4 (shutdown button) and triggers an action when it detects a specific value.

19. Switch Node:
- This node checks the state of GPIO pin 27 (startup button) and triggers an action when it detects a specific value.

20. Trigger Node (Power Off):
- This node triggers an action to power off the projector.

21. Debug Node (debug 2):
- This node displays the debug information related to the projector.

22. Debug Node (debug 3):
- This node displays the debug information related to the projector.

 

The provided Node-RED code showcases a basic implementation for controlling a projector and projection screen using a Raspberry Pi and the Parallax Control Engine. It can be further customized and expanded to suit specific requirements.

 

Download PDF: Analog Control of Classroom Projector

Node Red Program Flow: Classroom Projector Flow - 3.10.23.json

 

Note, you may want to first run the following command to install the node red gpio package on the unit, this will ensure the required packages are included prior to importing the flow:

npm install rpi-gpio

 

Note that you can also install node red locally on your machine for programming:

sudo npm install -g --unsafe-perm node-red

Start the server on the default 1880 port:

node-red

Or start the server on a custom port:

For example, will start the server on port 1234 instead of the default 1880.

node-red -p 1234

Open a web browser and navigate to http://localhost:1880. This is the default address where Node-RED's graphical editor is accessible.

Classroom A/V Control Solution Example with added volume control knob

Inputs to the system:

RDL D-RLC10K Volume Level Controller

 

RDL D-RC2ST 2 Button Selector

 

The previous system "Analog Control of Classroom Projector System" can be implemented with an audio control knob without any changes to the programming. Simply attach the necessary components for the audio system as shown on the schematics.