PyTechBrain to nowa platforma wprowadzająca uczniów w dziedzinę IoT - Internet of Things (Internet Rzeczy). Działa z Python 3.6


Keywords
Arduino, PyFirmata, Laboratoriaprzyszłości, python3
License
GPL-3.0
Install
pip install PyTechBrain==0.8.4

Documentation

PyTechBrain - innowacyjna nauka programowania

Chciałbym przedstawić inspirację dla nauczycieli, w pełni zgodną z nową podstawą programową. To innowacyjny projekt - wprowadzający do tematu IoT. Łączy elektronikę i programowanie w jednym pudełku, pozwala uczyć od klasy 4 szkoły podstawowej do końca liceum. Zaczynamy środowiskiem opartym o Scratch, po czym przechodzimy do Pythona. Wszystko z czujnikami i diodami w tle...

PyTechBrain to nowa platforma wprowadzająca uczniów w dziedzinę IoT - Internet of Things (Internet Rzeczy). Pozwala na nauczanie elektroniki i programowania w jednym. Jest w pełni zgodna z nową Podstawą Programową. Łaczy prostotę wykonania i olbrzymie mozliwości nauczania programowania. Możemy wykorzystywać ją do budowania stacji pogodowych, podstaw inteligentnego miasta.

Kompatybilny z Arduino UNO R3 i językiem Python

Pamiętaj - po podłączeniu zestawu USB do komputera standardowo urządzenie jest dostępne pod adresem /dev/ttyUSB0

Minimalny kod w Python:

print("This is sample of using PyTechBrain module.")
print("===========================================")

# creating board object with default debugging with no output
test_board = PyTechBrain()

# the same, but with full debugging during using module
# test_board = PyTechBrain(debug=True)

# Initializing board - first thing we need to do:
# automatic
# if test_board.board_init():
#     print("Super!")
# else:
#     print("Something went wrong... check output.")
#
# or manual
# if test_board.board_init("COM3"):
#     print("Super!")
# else:
#     print("Something went wrong... check output.")

# manual
if test_board.board_init():
    print("Super!")
    test_board.set_buzzer("beep")  # demo, on, off

    for _ in range(300):
        print(test_board.get_fotoresistor_raw())
        print(test_board.get_potentiometer_scale())
        print(test_board.get_temperature_celcius())
        print(test_board.get_volume_sensor_raw())
        s(0.1)

    test_board.set_rgb_red(255)
    s(0.2)
    test_board.set_rgb_red(0)
    test_board.set_rgb_green(255)
    s(0.2)
    test_board.set_rgb_green(0)
    test_board.set_rgb_blue(255)
    s(0.2)
    test_board.set_rgb_blue(0)
    s(0.2)
    test_board.set_pwm_diode(300)
    s(0.2)
    #
    test_board.set_signal_red("on")
    s(0.3)
    test_board.set_signal_yellow("on")
    s(0.3)
    test_board.set_signal_green("on")
    s(0.5)
    test_board.set_signal_red("off")
    s(0.3)
    test_board.set_signal_yellow("off")
    s(0.3)
    test_board.set_signal_green("off")
else:
    print("Something went wrong... check output.")

test_board.full_debug_output()

====================================================================

Oprogramowanie i dokumentacja:

https://pytechbrain.edu.pl/oprogramowanie-zasoby.html

====================================================================

Standardowe metody:

Valid methods:

    --[ general-purpose ]--
    P.license_info() -> str
    P.version_info() -> str
    P.debug_output() -> None (prints to screen)
    P.full_debug_output() -> None (prints to screen)
    P.usage_info() -> None (prints this text)

    --[ Output ]--
    P.set_rgb_red(power: int) ->  bool
    P.set_rgb_green(power: int) ->  bool
    P.set_rgb_blue(power: int) ->  bool
    P.set_rgb_color(color: tuple) -> bool
    -----------
    P.set_pwm_diode(power: int) -> bool
    -----------
    P.set_signal_red(state: str) -> bool
    P.set_signal_yellow(state: str) -> bool
    P.set_signal_green(state: str) -> bool
    -----------
    P.set_buzzer(type: str) -> None (plays tones)
        Different type of buzzer:
        "on" - turn on signal
        "off" - turn off signal
        "beep" - short (0.1 sec.) signal
        "demo" - music from Star Wars
    --[ Input ]--
    get_left_button_state(times=3) -> bool
    get_middle_button_state(times=3) -> bool
    get_right_button_state(times=3) -> bool
    times -> 3 ... 10 checks

    get_temperature_raw() -> int
    get_temperature_celcius() -> float (2 decimal precision)
    get_fotoresistor_raw() -> int
    get_volume_sensor_raw() -> int
    get_potentiometer_raw() -> int
    get_potentiometer_scale() -> float

==============================================================

W programie wykorzystano moduł pymata_aio (https://github.com/MrYsLab/pymata-aio) autorstwa Alan'a Yorinks'a (MrYsLab) oraz oprogramowanie firmowe do Arduino tego autora (https://github.com/MrYsLab/pymata-aio/tree/master/FirmataPlus).