Thumbnail

Read Digital

How to add the Read Digital robot skill

  1. Load the most recent release of ARC (Get ARC).
  2. Press the Project tab from the top menu bar in ARC.
  3. Press Add Robot Skill from the button ribbon bar in ARC.
  4. Choose the Digital category tab.
  5. Press the Read Digital icon to add the robot skill to your project.

Don't have a robot yet?

Follow the Getting Started Guide to build a robot and use the Read Digital robot skill.


How to use the Read Digital robot skill

This skill gets the digital status of a port. It detects a TTL voltage signal low (0V) or a TTL voltage signal high (+3.3V or +5V, depending on the I/O Controller).

Main Window



1. Digital Status Indicator
This Digital Status Indicator changes color based on the detected input voltage. The color will start as black before an I/O controller is connected. Once an I/O controller is connected, the indicated color will be red for a voltage signal low (0V) and green for a voltage signal high (+3.3V or +5V).

Settings



1. Title Field
This field contains the title Read a digital skill. You can change it if you'd like. *Note: Changing the title will also change the title in the controlCommand() associated with this skill.

2. Board Drop-down
Select your board number.

3. Port Drop-down
Select your Digital port number.

4. Interval Drop-down
Select how often you want to read the input (in milliseconds).

How to Use Read Digital


1) Add the Read Digital skill to your ARC project (Project -> Add Skill -> Digital -> Read Digital).

2) In the skill settings, select the Digital port to which your device is connected.

3) Watch the Digital Status Indicator in the Main Window to see if a high or low signal is detected.

Requirements


An I/O Controller with digital input ports.

*Note: You can't send a voltage higher than the I/O Controller's maximum high input voltage, or you may damage the input pins.

ARC Pro

Upgrade to ARC Pro

Your robot can be more than a simple automated machine with the power of ARC Pro!

#1  

Can this actually detect a high value 3.3v or 5v and a low value 0v on a typical output or does it have to be the ADC? I noticed you are using D8. Could you explain how it's doing this? Does it need a separate device to interpret it, could give an example of the device?

PRO
Canada
#2  

Hi @Automation Man

I can confirm that DigitalRead does indeed detect a high signal (3.3V for EZ-Bv4 which is also 5V tolerant) and low signal.

I have read that the threshold for a high signal has to be above 1.88V and for a low voltage it has to be under 1.23V for STM32 chips.

The skills uses the Digital I/O pins in the "I" (input configuration) and reads the voltage on the D8 (or otherwise setup) Digital pin to see if it's either under 1.23V (low - red) or above 1.88V (high - green).