This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
wiki:v2:python [2021/12/08 13:52] kees 211208 - Added installation section |
wiki:v2:python [2021/12/24 12:30] kees Added description for flags in get_line_tracking_data() |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | **!!This page is under construction!!** | ||
- | |||
====== Pixy2 Python tutorial ====== | ====== Pixy2 Python tutorial ====== | ||
Line 122: | Line 120: | ||
=== 2. Adding the API to your project folder === | === 2. Adding the API to your project folder === | ||
- | This method works for both Python3 and MicroPython. Visit the repository | + | This method works for both Python3 and MicroPython. |
+ | |||
+ | In your project folder create a new folder ''pixycamev3''. Visit the repository | ||
on [[https://github.com/charmedlabs/pixycamev3/tree/main/pixycamev3|Github]]. | on [[https://github.com/charmedlabs/pixycamev3/tree/main/pixycamev3|Github]]. | ||
- | Add the file pixy2.py to your project folder. The easiest way is to open this | + | Add the file pixy2.py to your folder ''pixycamev3''. The easiest way is to open |
- | file in Github and click on the ''Raw'' button right above the code window. | + | this file in Github and click on the ''Raw'' button right above the code window. |
- | Then select all text of the file and copy it to a new file names ''pixy2.py'' | + | Then select all text of the file and copy it to a new file named ''pixy2.py'' |
- | in your project folder. | + | in your ''pixycamev3'' folder. |
+ | |||
+ | Your project folder structure should look now like this: | ||
+ | |||
+ | <code> | ||
+ | project | ||
+ | ├── pixycamev3 | ||
+ | │ └── pixy2.py | ||
+ | └── main.py | ||
+ | </code> | ||
- | The same Python file works for both Python and MicroPython. When you copied | + | The file ''pixy2.py'' works for both Python and MicroPython. When you copied |
the file you're ready to program! | the file you're ready to program! | ||
Line 147: | Line 156: | ||
| **Example:** ^^ | | **Example:** ^^ | ||
| <code> | | <code> | ||
- | from pixy2 import Pixy2 | + | from pixycamev3.pixy2 import Pixy2 |
pixy2 = Pixy2(port=1, i2c_address=0x54) | pixy2 = Pixy2(port=1, i2c_address=0x54) | ||
Line 166: | Line 175: | ||
| **Example:** ^^ | | **Example:** ^^ | ||
| <code> | | <code> | ||
- | from pixy2 import Pixy2 | + | from pixycamev3.pixy2 import Pixy2 |
prixy2 = Pixy2(port=1, i2c_address=0x54) | prixy2 = Pixy2(port=1, i2c_address=0x54) | ||
Line 187: | Line 196: | ||
| **Example:** ^^ | | **Example:** ^^ | ||
| <code> | | <code> | ||
- | from pixy2 import Pixy2 | + | from pixycamev3.pixy2 import Pixy2 |
prixy2 = Pixy2(port=1, i2c_address=0x54) | prixy2 = Pixy2(port=1, i2c_address=0x54) | ||
Line 208: | Line 217: | ||
| <code> | | <code> | ||
from time import sleep | from time import sleep | ||
- | from pixy2 import Pixy2 | + | from pixycamev3.pixy2 import Pixy2 |
prixy2 = Pixy2(port=1, i2c_address=0x54) | prixy2 = Pixy2(port=1, i2c_address=0x54) | ||
Line 231: | Line 240: | ||
| **Example:** ^^ | | **Example:** ^^ | ||
| <code> | | <code> | ||
- | from pixy2 import Pixy2, Pixy2Mode | + | from pixycamev3.pixy2 import Pixy2, Pixy2Mode |
pixy2 = Pixy2(port=1, i2c_address=0x54) | pixy2 = Pixy2(port=1, i2c_address=0x54) | ||
Line 261: | Line 270: | ||
| **Example:** ^^ | | **Example:** ^^ | ||
| <code> | | <code> | ||
- | from pixy2 import Pixy2 | + | from pixycamev3.pixy2 import Pixy2 |
pixy2 = Pixy2(port=1, i2c_address=0x54) | pixy2 = Pixy2(port=1, i2c_address=0x54) | ||
Line 286: | Line 295: | ||
| MainFeatures object: ^^ | | MainFeatures object: ^^ | ||
| error | Data error when value True | | | error | Data error when value True | | ||
- | | length_of_payload | Number of bytes in payload | | + | | %%length_of_payload%% | Number of bytes in payload | |
- | | number_of_vectors | Number of vectors detected | | + | | %%number_of_vectors%% | Number of vectors detected | |
- | | number_of_intersections | Number of intersections detected | | + | | %%number_of_intersections%% | Number of intersections detected | |
- | | number_of_barcodes | Number of barcodes detected | | + | | %%number_of_barcodes%% | Number of barcodes detected | |
| vectors | List with Vector objects (length number_of_vectors) | | | vectors | List with Vector objects (length number_of_vectors) | | ||
| intersections | List with Intersection objects (length number_of_intersections) | | | intersections | List with Intersection objects (length number_of_intersections) | | ||
Line 300: | Line 309: | ||
| y1 | Y location endpoint vector | | | y1 | Y location endpoint vector | | ||
| index | Index of vector in array | | | index | Index of vector in array | | ||
- | | flags | <TODO: ??> | | + | | flags | Internal state, used for testing/debugging | |
| ^^ | | ^^ | ||
| Intersection object: ^^ | | Intersection object: ^^ | ||
| x | X location of intersection | | | x | X location of intersection | | ||
| y | Y location of intersection | | | y | Y location of intersection | | ||
- | | nr_of_branches | Number of branches starting at this intersection | | + | | %%nr_of_branches%% | Number of branches starting at this intersection | |
| branches | Array with Branch objects (length number_of_branches) | | | branches | Array with Branch objects (length number_of_branches) | | ||
| ^^ | | ^^ | ||
Line 311: | Line 320: | ||
| x | X location center of barcode | | | x | X location center of barcode | | ||
| y | Y location center of barcode | | | y | Y location center of barcode | | ||
- | | flags | <TODO: ??> | | + | | flags | Internal state, used for testing/debugging | |
| code | Number of barcode (see Pixy2 wiki) | | | code | Number of barcode (see Pixy2 wiki) | | ||
| ^^ | | ^^ | ||
Line 321: | Line 330: | ||
| **Example:** ^^ | | **Example:** ^^ | ||
| <code> | | <code> | ||
- | from pixy2 import Pixy2 | + | from pixycamev3.pixy2 import Pixy2 |
# Detect barcodes and print their number | # Detect barcodes and print their number |