node-red-nodes/hardware/mcp3008/pimcp3008.html

88 lines
3.7 KiB
HTML

<!DOCTYPE html>
<script type="text/html" data-template-name="pimcp3008">
<div class="form-row">
<label for="node-input-dev"><i class="fa fa-server"></i> Device</label>
<select type="text" id="node-input-dev" style="width:150px;">
<option value="3008">mcp3008</option>
<option value="3002">mcp3002</option>
<option value="3004">mcp3004</option>
<option value="3201">mcp3201</option>
<option value="3202">mcp3202</option>
<option value="3204">mcp3204</option>
<option value="3208">mcp3208</option>
<option value="3304">mcp3304</option>
</select>
</div>
<div class="form-row">
<label for="node-input-pin"><i class="fa fa-map-pin"></i> Input pin</label>
<select type="text" id="node-input-pin" style="width:150px;">
<option value=0>A0</option>
<option value=1>A1</option>
<option value=2>A2</option>
<option value=3>A3</option>
<option value=4>A4</option>
<option value=5>A5</option>
<option value=6>A6</option>
<option value=7>A7</option>
<option value="M">set by msg.payload</option>
</select>
</div>
<div class="form-row">
<label for="node-input-dnum"><i class="fa fa-toggle-on"></i> Device ID</label>
<select type="text" id="node-input-dnum" style="width:150px;">
<option value=0>CE0</option>
<option value=1>CE1</option>
<option value=2>CE2</option>
</select>
</div>
<div class="form-row">
<label for="node-input-bus"><i class="fa fa-toggle-on"></i> SPI bus</label>
<select type="text" id="node-input-bus" style="width:150px;">
<option value=0>0</option>
<option value=1>1</option>
</select>
</div>
<div class="form-row">
<label for="node-input-name"><i class="fa fa-tag"></i> Name</label>
<input type="text" id="node-input-name" placeholder="Name"/>
</div>
</script>
<script type="text/html" data-help-name="pimcp3008">
<p>Reads from an MCP3xxx Series Analogue to Digital Converter (ADC) chip on the Pi SPI CE0 or CE1 connection,
such as the rasp.io/analogzero.</p>
<p>You can either set a channel in the edit dialogue, or you can set the <code>msg.payload</code>
to select the channel dynamically. If so then the expected payload must be a value from 0 to 7.</p>
<p>Outputs a numeric <code>msg.payload</code> with a range of 0 to 1023 for MCP30xx or 0 to 4095 for
MCP32xx and MPC33xx, representing 0V to 3.3V.</p>
<p><i>Hint</i>: use a <code>range</code> node to re-scale the values to ones you want.</p>
<p>Also sets <code>msg.topic</code> to <i>adc/{the pin number}</i></p>
<p><b>Warning</b>: Input voltages must not exceed 3.3V</p>
<p>The SPI bus must be enabled for this node to work. This can be achieved by using the
advanced menu (option 9 A5) of the <b>raspi-config</b> utility.</p>
</script>
<script type="text/javascript">
RED.nodes.registerType('pimcp3008',{
category: 'Raspberry Pi',
paletteLabel: 'A/D converter',
color: "#c6dbef",
defaults: {
name: {value:""},
dev: {value:"3008"},
pin: {value:0, required:true},
dnum: {value:0},
bus: {value:0}
},
inputs: 1,
outputs: 1,
icon: "rpi.png",
label: function() {
return this.name || "mcp:"+this.dev+" "+" bus:"+this.bus+" CS:"+this.dnum+" pin:"+((this.pin==="M")?"":this.pin);
},
labelStyle: function() {
return this.name?"node_label_italic":"";
}
});
</script>