kopia lustrzana https://github.com/pimoroni/pimoroni-pico
Update readmes
rodzic
262bd673ed
commit
86b1cd40dc
|
@ -1,6 +1,7 @@
|
|||
# Automation 2040 W Micropython Examples <!-- omit in toc -->
|
||||
|
||||
- [Function Examples](#function-examples)
|
||||
- [PWM Outputs](#pwm-outputs)
|
||||
- [Read ADCs](#read-adcs)
|
||||
- [Read Inputs](#read-inputs)
|
||||
- [Toggle Relays](#toggle-relays)
|
||||
|
@ -13,16 +14,23 @@
|
|||
|
||||
## Function Examples
|
||||
|
||||
These examples will work with Automation 2040 W and Automation 2040 W Mini. If you have an Automation 2040 W Mini, initialise your board with `board = Automation2040WMini` to see the correct numbers of inputs, outputs and relays!
|
||||
|
||||
### PWM Outputs
|
||||
[pwm_outputs.py](pwm_outputs.py)
|
||||
|
||||
Shows how to PWM the output terminals of Automation 2040 W.
|
||||
|
||||
### Read ADCs
|
||||
[read_adcs.py](read_adcs.py)
|
||||
|
||||
Shows how to read the 3 ADC terminals of Automation 2040 W.
|
||||
Shows how to read the ADC terminals of Automation 2040 W.
|
||||
|
||||
|
||||
### Read Inputs
|
||||
[read_inputs.py](read_inputs.py)
|
||||
|
||||
Shows how to read the 3 Input terminals of Automation 2040 W.
|
||||
Shows how to read the input terminals of Automation 2040 W.
|
||||
|
||||
|
||||
### Toggle Relays
|
||||
|
@ -50,11 +58,11 @@ A simple program that resets Automation 2040 W, turning off its Relays, Outputs,
|
|||
|
||||
## Wireless Examples
|
||||
|
||||
The wireless examples need `network_manager.py` and `WIFI_CONFIG.py` from the `common` directory to be saved to your Pico W. Open up `WIFI_CONFIG.py` in Thonny to add your wifi details (and save it when you're done).
|
||||
The wireless examples need `network_manager.py` and `WIFI_CONFIG.py` from the `micropython/examples/common` directory to be saved to your Pico W. Open up `WIFI_CONFIG.py` in Thonny to add your wifi details (and save it when you're done).
|
||||
|
||||
### Web IO Interface
|
||||
[web_io_interface/](web_io_interface/)
|
||||
|
||||
Provides a basic web interface for all your Automation 2040W features.
|
||||
|
||||
Needs `lib/tinyweb` from `common`!
|
||||
Needs `lib/tinyweb` from `micropython/examples/common`!
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
# Automation 2040 W MicroPython <!-- omit in toc -->
|
||||
|
||||
This library offers convenient functions for interacting with your new [Pimoroni Automation 2040W](https://shop.pimoroni.com/products/automation-2040-w), an all-in-one, Pico W powered industrial/automation controller with 2.4GHz wireless connectivity, relays and a plethora of inputs and outputs.
|
||||
This library offers convenient functions for interacting with [Automation 2040 W](https://shop.pimoroni.com/products/automation-2040-w) and [Automation 2040 W Mini](https://shop.pimoroni.com/products/automation-2040-w-mini) - all-in-one, Pico W powered industrial/automation controllers with 2.4GHz wireless connectivity, relays and a plethora of inputs and outputs.
|
||||
|
||||
## Table of Content
|
||||
- [Automation 2040W Class](#automation-2040w-class)
|
||||
- [Table of Content](#table-of-content)
|
||||
- [Automation Classes](#automation-classes)
|
||||
- [User Switches and LEDs](#user-switches-and-leds)
|
||||
- [Connectivity LED](#connectivity-led)
|
||||
- [Actuating the Relays](#actuating-the-relays)
|
||||
|
@ -17,29 +18,39 @@ This library offers convenient functions for interacting with your new [Pimoroni
|
|||
- [Function Reference](#function-reference)
|
||||
|
||||
|
||||
## Automation 2040W Class
|
||||
## Automation Classes
|
||||
|
||||
The `Automation2040W` class deals with the initialisation of each of the board's functions. To create one, import the `automation` module, then define a new `board` variable:
|
||||
The `Automation2040W` and `Automation2040WMini` classes deal with the initialisation of each of the board's functions. To create one, import the `automation` module, then define a new `board` variable:
|
||||
|
||||
For Automation 2040 W:
|
||||
```python
|
||||
import automation
|
||||
|
||||
board = automation.Automation2040W()
|
||||
```
|
||||
|
||||
From here, all features of Automation 2040W can be accessed by calling functions on `board`. In addition, when using Qwiic / Stemma QT devices, the I2C channel to use can be accessed with `board.i2c`.
|
||||
For Automation 2040 W Mini:
|
||||
```python
|
||||
import automation
|
||||
|
||||
board = automation.Automation2040WMini()
|
||||
```
|
||||
|
||||
From here, all features can be accessed by calling functions on `board`. In addition, when using Qwiic / Stemma QT devices, the I2C channel to use can be accessed with `board.i2c`.
|
||||
|
||||
Automation 2040 W Mini has the same pinout as Automation 2040 W, but with fewer inputs, outputs and relays.
|
||||
|
||||
|
||||
### User Switches and LEDs
|
||||
|
||||
Automation 2040W has two handy switches onboard, with neighbouring LEDs, offering a tactile way to interact with your program and be notified of actions that need attention.
|
||||
Automation 2040 W has two handy switches onboard with neighbouring LEDs, offering a tactile way to interact with your program and be notified of actions that need attention.
|
||||
|
||||
To read one of the switches, call `.switch_pressed(switch)`, where `switch` is a value from `0` to `.NUM_SWITCHES - 1`. This returns `True` when the specified switch is pressed, and `False` otherwise.
|
||||
|
||||
To set a switch's neighbouring LED, call `.switch_led(switch, brightness)`, where `switch` is a value from `0` to `.NUM_SWITCHES - 1`, and `brightness` is either `True`, `False`, or a number from `0.0` to `100.0`.
|
||||
|
||||
|
||||
To make it easier to use a specific switch or it's LED, the `automation` module contains these handy constants:
|
||||
To make it easier to use a specific switch or its LED, the `automation` module contains these handy constants:
|
||||
* `SWITCH_A` = `0`
|
||||
* `SWITCH_B` = `1`
|
||||
|
||||
|
@ -53,7 +64,7 @@ To set this led, call `.conn_led(brightness)`, where `brightness` is either `Tru
|
|||
|
||||
### Actuating the Relays
|
||||
|
||||
Three relays are featured on Automation 2040W. By default these are in a released state, which connects the terminal labelled `NC` to `COM`. By actuating them, a connection from `NO` to `COM` can be made instead.
|
||||
Three relays are featured on Automation 2040 W (one on the Mini version). By default these are in a released state, which connects the terminal labelled `NC` to `COM`. By actuating them, a connection from `NO` to `COM` can be made instead.
|
||||
|
||||
A relay can be actuated by calling `.actuate_relay(relay)`, or released by calling `.release_relay(relay)`. Additionally the actuated state can be set by providing a boolean to the `actuate` parameter of `.relay(relay, actuate)`.
|
||||
|
||||
|
@ -67,7 +78,7 @@ For all these functions, `relay` is a value from `0` to `.NUM_RELAYS - 1`. To co
|
|||
|
||||
### Setting the Outputs
|
||||
|
||||
Three sourcing outputs, capable of PWM at up to 2A, are present on Automation 2040W.
|
||||
Three sourcing outputs, capable of PWM at up to 2A, are present on Automation 2040 W (two on the Mini version).
|
||||
|
||||
An output can be controlled by calling `.output(output, value)`, where `output` is a value from `0` to `.NUM_OUTPUTS - 1`, and `value` is `True`, `False` or a number between `0.0` and `100.0`
|
||||
|
||||
|
@ -91,7 +102,7 @@ The PWM frequency of the output can be set by calling `.change_output_freq(outpu
|
|||
|
||||
### Reading the Inputs
|
||||
|
||||
Automation 2040W has four buffered digital inputs. These can be read by calling `.read_input(input)`, where `input` is a value from `0` to `.NUM_INPUTS - 1`.
|
||||
Automation 2040 W has four buffered digital inputs (two on the Mini version). These can be read by calling `.read_input(input)`, where `input` is a value from `0` to `.NUM_INPUTS - 1`.
|
||||
|
||||
To read a specific input, the `automation` module contains these handy constants:
|
||||
* `INPUT_1` = `0`
|
||||
|
@ -127,7 +138,7 @@ If there is a need to put Automation 2040W back into a known safe-state, without
|
|||
|
||||
### Function Reference
|
||||
|
||||
Here is the complete list of functions available on the `Automation2040W` class:
|
||||
Here is the complete list of functions available on the `Automation2040W` and `Automation20404Mini` classes:
|
||||
|
||||
```python
|
||||
Automation2040W()
|
||||
|
@ -145,4 +156,20 @@ change_output_freq(output, freq)
|
|||
read_input(input)
|
||||
read_adc(adc)
|
||||
reset()
|
||||
|
||||
Automation2040WMini()
|
||||
conn_led(brightness)
|
||||
switch_pressed(switch)
|
||||
switch_led(switch, brightness)
|
||||
relay(relay)
|
||||
relay(relay, actuate)
|
||||
actuate_relay(relay)
|
||||
release_relay(relay)
|
||||
output(output)
|
||||
output(output, value)
|
||||
output_percent(output)
|
||||
change_output_freq(output, freq)
|
||||
read_input(input)
|
||||
read_adc(adc)
|
||||
reset()
|
||||
```
|
||||
|
|
Ładowanie…
Reference in New Issue