Artisan supports a large number of Phidgets that gather temperature and other data. It also supports Phidgets that can generate external output triggered by Artisan actions.
All Phidgets can be connected either directly via USB or remotely via network connection by using a Phidgets SBC as gateway or a wireless VINT HUB like the HUB5000. Most Phidgets don’t need any additional power supply.
Watch out!
Setting up Artisan for wireless access to Phidgets see below under 5. Remote Access.
There are Phidgets that feature a direct USB connection as well as the more recent VINT Phidgets* that are connected via a VINT USB hub to the USB port. Some are electrically isolated and thus more resistant against electrical noise.
Any number of Phidgets, of one type or mixed types, can be used in combination with any of the other supported devices.
Watch out! The use of all Phidgets require the installation of the full Phidgets v22 driver package. On Linux you might want to setup also the udev rules to allow driver access for non-root users.
For more information read the posts Roasting with Phidgets and More Phidgets! on the Artisan blog.
Watch out!
Artisan v2.1 and newer features one-click configurations for the following popular Phidget sets
- VINT TMP1101 2x TC Set
- VINT TMP1200 2x RTDs Set (low Idle Noise)
- VINT Ambient Modules Extension
- USB 1048 Databridge
For all these Phidget sets (but the last one), ready-to-use hardware packages are available from the > artisan.plus shop.
1. Temperature Input
1.1 Thermocouples (TCs)
All of these devices support J, K, E and T type thermocouples. The type of thermocouples used has to be configured in the Phidgets tab on the Artisan side (menu Config >> Device, Phidgets tab
).
1-Channel
- Phidget 1051 (USB)
- Phidget TMP1100 (VINT, isolated)
4-Channel
- Phidget 1048 (USB)
- Phidget TMP1101 (VINT)
1.2 Resistive Thermal Devices (RTDs)
1-Channel
- Phidget TMP1200 (VINT)
Watch out! The TMP1200 supports 2-, 3- and 4-wire PT100 and PT1000 RTDs to be connected directly. The type of RTD used has to be configured on the Artisan side (menu Config >> Device, Phidgets tab
)
2-Channel
- Phidget DAQ1500 (VINT)
Watch out! The Phidget DAQ1500 requires either a Voltage Divider or a Wheatstone Bridge to connect a RTD. The applied wiring has to be configured within Artisan (menu Config >> Device, Phidgets tab
)
4-Channel
- Phidget 1046 (USB)
Watch out! The Phidget 1046 requires either a Voltage Divider or a Wheatstone Bridge to connect a RTD. The applied wiring has to be configured within Artisan (menu Config >> Device, Phidgets tab
)
1.3 Infrared
Single channel IR with integrated sensor
- Phidget IR 1045 (USB)
2. Ambient Sensors
Artisan v1.4 adds support for the following ambient sensors that allow to automatically fill the room temperature, relative humidity and barometric pressure data of roast profiles.
- Phidget HUM1000 / HUM1001 (VINT): Measure relative humidity from 0 to 100% and ambient temperature from -40°C to +85°C
- Phidget PRE1000 (VINT): Measure the absolute air pressures between 50 and 110 kPa
- Phidget TMP1000 (VINT): Measure ambient temperature from -40°C to 85°C
3. Analog/Digital Input
Artisan can attach to all Phidgets IO ports. The input ports are configured as (extra) devices and are handled as temperature curves.
- Phidget 1010
Phidget 1013
Phidget 1018
Phidget 1019
Phidget SBC : analog/digital inPhidget IO 01
: analog input (0-5V), ports 0 & 1Phidget IO 23
: analog input (0-5V), ports 2 & 3Phidget IO 45
: analog input (0-5V), ports 4 & 5-
Phidget IO 67
: analog input (0-5V), ports 6 & 7 Phidget IO Digital 01
: digital input (0 or 1), ports 2 & 3Phidget IO Digital 23
: digital input (0 or 1), ports 2 & 3Phidget IO Digital 45
: digital input (0 or 1), ports 4 & 5Phidget IO Digital 67
: digital input (0 or 1), ports 6 & 7
- Phidget 1011 (2x Analog, 2x Digital)
Phidget 1011 IO 01
: analog input (0-5V), ports 0 and 1Phidget 1011 IO Digital 01
: digital input (0 or 1), ports 0 and 1
-
Phidget HUB0007 (VINT HUB): 1x analog/digital in
Phidget HUB IO 0
: analog input (0-5V); attaches only port 0
-
Phidget HUB0000
Phidget HUB0001
Phidget HUB0002
Phidget HUB5000 (VINT HUB): 6x analog/digital inPhidget HUB IO 0
: analog input (0-5V); attaches only port 0Phidget HUB IO 01
: analog input (0-5V), ports 0 and 1Phidget HUB IO 23
: analog input (0-5V), ports 2 and 3-
Phidget HUB IO 45
: analog input (0-5V), ports 4 and 5 Phidget HUB IO Digital 0
: digital input (0 or 1); attaches only port 0Phidget HUB IO Digital 01
: digital input (0 or 1), port 0 and 1Phidget HUB IO Digital 23
: digital input (0 or 1), port 2 and 3Phidget HUB IO Digital 45
: digital input (0 or 1), port 4 and 5
- Phidget DAQ1000 (VINT): 8x analog in
Phidget DAQ1000 01
: analog input (0-5V), ports 0 and 1Phidget DAQ1000 23
: analog input (0-5V), ports 2 and 3Phidget DAQ1000 45
: analog input (0-5V), ports 4 and 5Phidget DAQ1000 67
: analog input (0-5V), ports 6 and 7
- Phidget DAQ1200 (VINT): 4x digital input
Phidget DAQ1200 01
: digital input (0 or 1), ports 0 and 1Phidget DAQ1200 23
: digital input (0 or 1), ports 2 and 3
- Phidget DAQ1300 (VINT): 4x isolated digital input
Phidget DAQ1300 01
: digital input (0 or 1), ports 0 and 1Phidget DAQ1300 23
: digital input (0 or 1), ports 2 and 3
- Phidget DAQ1301 (VINT): 16x digital input (only first 8 channels are supported!)
Phidget DAQ1301 01
: digital input (0 or 1), ports 0 and 1Phidget DAQ1301 23
: digital input (0 or 1), ports 2 and 3Phidget DAQ1301 45
: digital input (0 or 1), ports 4 and 5Phidget DAQ1301 67
: digital input (0 or 1), ports 6 and 7
-
Phidget DAQ1400 (VINT): 1x versatile input (current, digital , frequency, voltage)
Phidget DAQ1400 Current
: current input (A, 20mA max)Phidget DAQ1400 Digital
: digital input (0 or 1, 24V max)Phidget DAQ1400 Frequency
: frequency input (hz, 2Mhz max)Phidget DAQ1400 Voltage
: voltage input (0-5V)
- Phidget VCP1000 (VINT): 1x 20-bit ±40V Voltage Input Phidget
Phidget VCP1000
: analog input (±312mV, ±40V)
- Phidget VCP1001 (VINT): 1x ±40V Voltage Input Phidget; ±5V
Phidget VCP1001
: analog input (±15V or ±40V)
- Phidget VCP1002 (VINT): 1x ±1V Voltage Input Phidget
Phidget VCP1002
: analog input (±10mV – ±1V)
4. Analog/Digital Output
Artisan can attach to all Phidgets IO ports. Phidgets output can be activated via IO Command
, PWM Command
or VOUT Command
button or slider actions configured in the Events tab (menu Config >> Events
). Note that buttons and sliders themself can be triggered autoamatically via alarm actions.
- Phidget HUB0007 (VINT HUB): 1x voltage out
- Phidget HUB0000,
Phidget HUB0001,
Phidget HUB0002,
Phidget HUB5000 (VINT HUB): 6x voltage out - Phidget OUT1000 (VINT): 1x 12bit voltage out
- Phidget OUT1001 (VINT): 1x 12bit isolated voltage out
- Phidget OUT1002 (VINT): 1x 16bit isolated voltage out
- Phidget OUT1100 (VINT): 4x digital PWM out
- REL1000 (VINT): 4x digital out relays
- REL1100 (VINT): 4x digital out 8A SSRs
- REL1101 (VINT): 16x PWM-enabled SSRs
- Phidget 1002 (USB): 4x 12bit analog out
- Phidget 1011 (USB): 2x analog/digital in, 2x digital out
- Phidget 1014 (USB): 4x digital out
- Phidget 1017 (USB): 8x digital out
- Phidget 1010 (USB), Phidget 1013 (USB), Phidget 1018 (USB), Phidget 1019 (USB), Phidget 1073 (USB): 8x analog/digital in, 8x digital out
Each output action supports a number of different commands specified in the Documentation
field. See the post More Phidgets! for details.
4.1 Voltage Output
Phidget Voltage Output modules can be controlled via VOUT Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
out(ch,v[,sn])
: sets output voltagerange(ch,r[,sn])
: sets voltage voltage range (not available on OUT1000)sleep(s)
: delay processing fors
seconds
with
ch
: the channel to be addressed (integer)v
: voltage in V (float), eg. 5.5 for 5.5Vs
: sleep time in seconds (float)r
: voltage range withr=5
to[0-5V]
andr=10
to[-10,10V]
sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like inout(0,5.5,560282)
orout(0,5.5,560282:2)
. Using a command actions, like inout(0,5.5)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as inout(0,5.5,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
The default voltage range for the OUT1001 and OUT1002 is [-10,10V]
(r=10
). The following table summarizes the interplay of r
and v
.
r | v | 5V Output | +-10V Output |
---|---|---|---|
5 | -10 | – | – |
5 | -5 | – | – |
5 | 0 | 0V | -10V |
5 | 2.5 | 2.5V | 0V |
5 | 5 | 5V | 10V |
10 | -10 | 0V | -10V |
10 | -5 | 1.25V | -5V |
10 | 0 | 2.5V | 0V |
10 | 5 | 3.75V | 5V |
10 | 10 | 5V | 10V |
4.2 Digital Output
- 1014 (4x USB)
- OUT1100, REL1000, REL1100, REL1101 (4x VINT)
- 1017 (8x USB)
- 1010, 1013, 1018, 1019 (8x USB)
Phidget Digital Output modules can be controlled via IO Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
set(ch,b[,sn])
: switches state on/offtoggle(ch[,sn])
: toggles statepulse(ch,t[,sn])
: sets the output of channel c to on for time t in millisecondssleep(s)
: delay processing fors
seconds
with
ch
: the channel to be addressed (integer)b
: bool with off (b=0) and on (b=1)t
: time in milliseconds (integer)s
: sleep time in seconds (float)sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like inset(0,1,560282)
orset(0,1,560282:2)
. Using a command actions, like inset(0,1)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as inset(0,1,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
4.3 HUB PWM Output
- Phidget HUB0007 (1x VINT HUB)
- Phidget HUB0000,
Phidget HUB0001,
Phidget HUB0002,
Phidget HUB5000 (6x VINT HUB)
Phidget HUB PWM modules can be controlled via PWM Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
outhub(p,v[,<sn>])
: sets PWM in percent [0-100]togglehub(p[,<sn>])
: toggles between last value not 0 and 0pulsehub(p,t[,<sn>])
: turn on for the given timet
with
p
: the HUB port to be addressed (integer)v
: value (integer)t
: time in milliseconds (integer)sn
: optional hub serial number like inouthub(0,8,560282)
. Using a command actions, like inouthub(0,8)
, without specifying a hub serial number will attach to the first unattached hub with the lowest serial number instead.
4.4 PWM Output
Phidget PWM modules can be controlled via PWM Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
out(ch,v[,<sn>])
: sets PWM in percent [0-100]frequency(ch,f[,<sn>])
: sets PWM frequency in Hz (PWM frequency is always the same for all channels!)toggle(ch[,<sn>])
: toggles between last value not 0 and 0pulse(ch,t[,<sn>])
: turn on for the given timet
with
ch
: the channel to be addressed (integer)v
: value (integer)f
: frequency (real)t
: time in milliseconds (integer)sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like inout(0,8,560282)
orout(0,8,560282:2)
. Using a command actions, like inout(0,8)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as inout(0,8,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
4.5 DC Motor Control
Artisan v2.4 adds support for DC motor control.
- DCC1000 and DCC1002 (1x VINT)
- DCC1003 (2x VINT)
- DCC1100 (1x VINT; Brushless DC Motor Control; added in v3.1.2)
Phidget DC Motor Control modules can be controlled via IO Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
accel(ch,a[,sn])
sets acceleration (duty cycle / second)vel(ch,v[,sn])
sets target velocity (duty cycle)limit(ch,v[,sn])
sets current limitsleep(s)
: delay processing fors
seconds
with
ch
: the channel to be addressed (integer)a
: acceleration (float)v
: velocity (float)s
: sleep time in seconds (float)sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like inaccel(0,0.5,560282)
oraccel(0,0.5,560282:2)
. Using a command actions, like inaccel(0,0.5)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as inaccel(0,0.5,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
Watch out! It has been observed that those controllers produce a cleaner output if the limit is set at a minimum of 50% above motor nominal rating.
4.6 RC Servo Control
Artisan v1.6 adds support for RC servo control.
- Phidget RCC 1000 (16x VINT, ext. powered)
- Phidget RCC 0004 (8x USB, ext. powered)
- Phidget 1061 (8x USB, ext. powered)
- Phidget 1066 (1x USB powered)
Phidget RC Servo modules can be controlled via RC Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
pulse(ch,min,max[,sn])
: sets the min/max pulse width in microsecondspos(ch,min,max[,sn])
: sets the min/max positionengaged(ch,b[,sn])
: engage (b=1) or disengage (b = 0)ramp(ch,b[,sn])
: activates or deactivates the speed ramping statevolt(ch,v[,sn])
: set the voltage to one of 5, 6 or 7.4 in Voltaccel(ch,a[,sn])
: set the accelerationveloc(ch,l[,sn])
: set the velocityset(ch,pos[,sn])
: set the target position
with
ch
: the channel to be addressed (integer)min, max, l, pos
: values (integer)b
: bool value given as 0 (false) or 1 (true)sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like involt(0,6,560282)
orvolt(0,6,560282:2)
. Using a command actions, like involt(0,6)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as involt(0,6,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
See Artisan v1.6.1 under “RC Servos” for details.
4.7 Stepper Motor Control
Artisan v3.2 adds support for stepper motor control.
- Phidget STC1002 (8A Stepper Phidget)
- Phidget STC1005 (4A Stepper Phidget)
Phidget Stepper Motor modules can be controlled via Stepper Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
rescale(ch,val[,sn])
: used to set the rescale factorengaged(ch,state[,sn])
: engage (b=1) or disengage (b = 0)set(ch,pos[,sn])
: set the target position
with
ch
: the channel to be addressed (integer)val, pos
: values (float)state
: bool value given as 0 (false) or 1 (true)sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like inset(0,6,560282)
orset(0,6,560282:2)
. Using a command actions, like inset(0,6)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as inset(0,6,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
5. Remote Access
All Phidgets can be accessed either directly via USB or remotely via network connection. The device making its connected Phidgets accessible via remote access can be either a wireless VINT hub like the Phidget HUB5000, a Phidget SBC or another computer running the Phidget driver. In the last case, one needs to activate the Network Server in the Phidget Control Panel running on the computer with the Phidgets physically connected to make those available for remote access.
The first tab of the Phidget Control Panel lists all Phidgets accessible by the computer running it. It shows local Phidgets directly connected via USB/VINT as well as Phidgets accessible via the network indicating also the serving entity. Note that only enabled and published network servers without password protection are listed.
By default Artisan is only accessing local Phidgets. Ticking the flag in the Network section of the Phidget tab (menu Config >> Device
, 4th tab) makes networked Phidgets accessible to Artisan as well. In most cases there is no need to enter the name of the server under Host as the mDNS/ZeroConf protocol will find Phidget servers automatically. In rare cases (e.g. if you set a password on your Phidget Network Servder) one needs to enter the remote server name like hub5000.local
or its IP address in the Host
field and its password (if set) into the Password
field. If the Remote Only
flag is ticked too, local Phidgets are ignored.
Note: using the ZeroConf protocol (no host/password in the Phidget tab set) Artisan harvest all modules served by all Phidget Network Servers discoverable on the same network. Thus it is for example possible to connect to modules served by multiple HUB5000 or computers.