├── .gitignore ├── .readthedocs.yaml ├── LICENSE ├── README.md ├── backup └── i2samp.sh ├── docs ├── Makefile ├── make.bat ├── requirements.txt └── source │ ├── _templates │ └── layout.html │ ├── api.rst │ ├── api_adc.rst │ ├── api_basic_class.rst │ ├── api_filedb.rst │ ├── api_i2c.rst │ ├── api_modules.rst │ ├── api_motor.rst │ ├── api_music.rst │ ├── api_pin.rst │ ├── api_pwm.rst │ ├── api_robot.rst │ ├── api_servo.rst │ ├── api_tts.rst │ ├── api_utils.rst │ ├── battery.rst │ ├── community_tutorials.rst │ ├── conf.py │ ├── faq.rst │ ├── features.rst │ ├── hardware_introduction.rst │ ├── img │ ├── 3d33.png │ ├── 3pin_battery.jpg │ ├── adcpin.png │ ├── battery.png │ ├── browser_camera.jpg │ ├── btradc.png │ ├── camera.jpg │ ├── digitalio.png │ ├── diy_car.jpg │ ├── dowload_code.png │ ├── i2cpin.png │ ├── install_i2s1.png │ ├── install_i2s2.png │ ├── install_i2s3.png │ ├── photoresistor.jpg │ ├── plant_monitor.jpg │ ├── pwmpin.png │ ├── robot_hat.jpg │ ├── robot_hat_pic.png │ ├── robot_hat_pinout.png │ ├── servo_motor.jpg │ ├── spipin.png │ ├── uartpin.png │ └── ultrasonic.jpg │ ├── index.rst │ ├── install_i2s_for_speaker.rst │ ├── installation.rst │ ├── locale │ ├── de │ │ └── LC_MESSAGES │ │ │ ├── api.po │ │ │ ├── api_adc.po │ │ │ ├── api_basic_class.po │ │ │ ├── api_filedb.po │ │ │ ├── api_i2c.po │ │ │ ├── api_modules.po │ │ │ ├── api_motor.po │ │ │ ├── api_music.po │ │ │ ├── api_pin.po │ │ │ ├── api_pwm.po │ │ │ ├── api_robot.po │ │ │ ├── api_servo.po │ │ │ ├── api_tts.po │ │ │ ├── api_utils.po │ │ │ ├── battery.po │ │ │ ├── community_tutorials.po │ │ │ ├── faq.po │ │ │ ├── features.po │ │ │ ├── hardware_introduction.po │ │ │ ├── index.po │ │ │ ├── install_i2s_for_speaker.po │ │ │ ├── installation.po │ │ │ ├── onboard_mcu.po │ │ │ ├── project_control_motor_servo.po │ │ │ ├── project_diy_car.po │ │ │ ├── project_photoresistor.po │ │ │ ├── project_plant_monitor.po │ │ │ ├── project_say_something.po │ │ │ ├── project_security.po │ │ │ ├── project_ultrasonic.po │ │ │ └── projects.po │ └── ja │ │ └── LC_MESSAGES │ │ ├── api.po │ │ ├── api_adc.po │ │ ├── api_basic_class.po │ │ ├── api_filedb.po │ │ ├── api_i2c.po │ │ ├── api_modules.po │ │ ├── api_motor.po │ │ ├── api_music.po │ │ ├── api_pin.po │ │ ├── api_pwm.po │ │ ├── api_robot.po │ │ ├── api_servo.po │ │ ├── api_tts.po │ │ ├── api_utils.po │ │ ├── battery.po │ │ ├── community_tutorials.po │ │ ├── faq.po │ │ ├── features.po │ │ ├── hardware_introduction.po │ │ ├── index.po │ │ ├── install_i2s_for_speaker.po │ │ ├── installation.po │ │ ├── onboard_mcu.po │ │ ├── project_control_motor_servo.po │ │ ├── project_diy_car.po │ │ ├── project_photoresistor.po │ │ ├── project_plant_monitor.po │ │ ├── project_say_something.po │ │ ├── project_security.po │ │ ├── project_ultrasonic.po │ │ └── projects.po │ ├── onboard_mcu.rst │ ├── project_control_motor_servo.rst │ ├── project_diy_car.rst │ ├── project_photoresistor.rst │ ├── project_plant_monitor.rst │ ├── project_say_something.rst │ ├── project_security.rst │ ├── project_ultrasonic.rst │ └── projects.rst ├── dtoverlays ├── sunfounder-robothat5.dtbo └── sunfounder-servohat+.dtbo ├── i2samp.sh ├── install.py ├── pyproject.toml ├── robot_hat ├── __init__.py ├── adc.py ├── basic.py ├── config.py ├── device.py ├── filedb.py ├── i2c.py ├── modules.py ├── motor.py ├── music.py ├── pin.py ├── pwm.py ├── robot.py ├── servo.py ├── tts.py ├── utils.py └── version.py ├── setup.py └── tests ├── button_event_test.py ├── init_angles_test.py ├── motor_robothat5_test.py ├── motor_test.py ├── servo_hat_test.py ├── servo_test.py └── tone_test.py /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/* 2 | .DS_store 3 | docs/build 4 | __pycache__ 5 | bk/ 6 | -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # .readthedocs.yaml 2 | # Read the Docs configuration file 3 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 4 | 5 | # Required 6 | version: 2 7 | 8 | # Set the OS, Python version and other tools you might need 9 | build: 10 | os: ubuntu-22.04 11 | tools: 12 | python: "3.11" 13 | # You can also specify other tool versions: 14 | # nodejs: "19" 15 | # rust: "1.64" 16 | # golang: "1.19" 17 | 18 | # Build documentation in the "docs/" directory with Sphinx 19 | sphinx: 20 | configuration: docs/source/conf.py 21 | 22 | # Optionally build your docs in additional formats such as PDF and ePub 23 | # Build all formats 24 | formats: all 25 | 26 | # Optional but recommended, declare the Python requirements required 27 | # to build your documentation 28 | # See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html 29 | python: 30 | install: 31 | - requirements: docs/requirements.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Robot Hat 2 | 3 | Robot Hat Python library for Raspberry Pi. 4 | 5 | Quick Links: 6 | 7 | - [Robot Hat](#robot-hat) 8 | - [About Robot Hat](#about-robot-hat) 9 | - [Update](#update) 10 | - [Installation](#installation) 11 | - [Trouble Shooting](#trouble-shooting) 12 | - [About SunFounder](#about-sunfounder) 13 | - [License](#license) 14 | - [Contact us](#contact-us) 15 | 16 | ## About Robot Hat 17 | 18 | Robot HAT is a multifunctional expansion board that allows Raspberry Pi to be quickly turned into a robot. An MCU is on board to extend the PWM output and ADC input for the Raspberry Pi, as well as a motor driver chip, Bluetooth module, I2S audio module and mono speaker. As well as the GPIOs that lead out of the Raspberry Pi itself. 19 | 20 | 21 | ## Update 22 | 2023-11-29: 23 | - Add more about Robot HAT's Hardware Introduction 24 | 25 | 26 | 2022-08-26: 27 | - New Release 28 | 29 | ## Installation 30 | 31 | ```bash 32 | git clone https://github.com/sunfounder/robot-hat.git -b v2.0 33 | cd robot-hat 34 | sudo python3 setup.py install 35 | 36 | ``` 37 | 38 | ## Trouble Shooting 39 | 40 | ---------------------------------------------- 41 | 42 | ## About SunFounder 43 | 44 | SunFounder is a technology company focused on Raspberry Pi and Arduino open source community development. Committed to the promotion of open source culture, we strives to bring the fun of electronics making to people all around the world and enable everyone to be a maker. Our products include learning kits, development boards, robots, sensor modules and development tools. In addition to high quality products, SunFounder also offers video tutorials to help you make your own project. If you have interest in open source or making something cool, welcome to join us! 45 | 46 | ---------------------------------------------- 47 | 48 | ## License 49 | 50 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 51 | 52 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied wa rranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. 53 | 54 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 55 | 56 | {Repository Name} comes with ABSOLUTELY NO WARRANTY; for details run ./show w. This is free software, and you are welcome to redistribute it under certain conditions; run ./show c for details. 57 | 58 | SunFounder, Inc., hereby disclaims all copyright interest in the program '{Repository Name}' (which makes passes at compilers). 59 | 60 | Mike Huang, 21 August 2015 61 | 62 | Mike Huang, Chief Executive Officer 63 | 64 | Email: service@sunfounder.com, support@sunfounder.com 65 | 66 | ---------------------------------------------- 67 | 68 | ## Contact us 69 | 70 | website: 71 | www.sunfounder.com 72 | 73 | E-mail: 74 | service@sunfounder.com, support@sunfounder.com 75 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = source 9 | BUILDDIR = build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=source 11 | set BUILDDIR=build 12 | 13 | if "%1" == "" goto help 14 | 15 | %SPHINXBUILD% >NUL 2>NUL 16 | if errorlevel 9009 ( 17 | echo. 18 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 19 | echo.installed, then set the SPHINXBUILD environment variable to point 20 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 21 | echo.may add the Sphinx directory to PATH. 22 | echo. 23 | echo.If you don't have Sphinx installed, grab it from 24 | echo.http://sphinx-doc.org/ 25 | exit /b 1 26 | ) 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- 1 | # Defining the exact version will make sure things don't break 2 | sphinx==7.3.7 3 | sphinx_rtd_theme==3.0.1 4 | sphinx_copybutton 5 | sphinx_toolbox 6 | -------------------------------------------------------------------------------- /docs/source/_templates/layout.html: -------------------------------------------------------------------------------- 1 | {%- extends "!layout.html" %} 2 | 3 | {% block extrabody %} 4 | 13 | {% endblock %} -------------------------------------------------------------------------------- /docs/source/api.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Reference 16 | ========================== 17 | 18 | .. automodule:: robot_hat 19 | 20 | .. toctree:: 21 | :maxdepth: 2 22 | 23 | api_pin 24 | api_adc 25 | api_pwm 26 | api_servo 27 | api_motor 28 | api_modules 29 | api_robot 30 | api_music 31 | api_tts 32 | api_utils 33 | api_filedb 34 | api_i2c 35 | api_basic_class 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /docs/source/api_adc.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | .. _class_adc: 16 | 17 | class ``ADC`` 18 | ========================================= 19 | 20 | **Example** 21 | 22 | .. code-block:: python 23 | 24 | # Import ADC class 25 | from robot_hat import ADC 26 | 27 | # Create ADC object with numeric pin numbering 28 | a0 = ADC(0) 29 | # Create ADC object with named pin numbering 30 | a1 = ADC('A1') 31 | 32 | # Read ADC value 33 | value0 = a0.read() 34 | value1 = a1.read() 35 | voltage0 = a0.read_voltage() 36 | voltage1 = a1.read_voltage() 37 | print(f"ADC 0 value: {value0}") 38 | print(f"ADC 1 value: {value1}") 39 | print(f"ADC 0 voltage: {voltage0}") 40 | print(f"ADC 1 voltage: {voltage1}") 41 | 42 | **API** 43 | 44 | .. currentmodule:: robot_hat 45 | 46 | .. autoclass:: ADC 47 | :show-inheritance: 48 | :special-members: __init__ 49 | :members: -------------------------------------------------------------------------------- /docs/source/api_basic_class.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | class ``_Basic_class`` 16 | ========================================= 17 | 18 | ``_Basic_class`` is a logger class for all class to log, so if you want to see 19 | logs of a class, just add a debug argument to it. 20 | 21 | **Example** 22 | 23 | .. code-block:: python 24 | 25 | # See PWM log 26 | from robot_hat import PWM 27 | 28 | # init the class with a debug argument 29 | pwm = PWM(0, debug_level="debug") 30 | 31 | # run some functions and see logs 32 | pwm.freq(1000) 33 | pwm.pulse_width_percent(100) 34 | 35 | 36 | **API** 37 | 38 | .. currentmodule:: robot_hat.basic 39 | 40 | .. autoclass:: _Basic_class 41 | :special-members: __init__ 42 | :members: -------------------------------------------------------------------------------- /docs/source/api_filedb.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | class ``FileDB`` 16 | ====================== 17 | 18 | **Example** 19 | 20 | .. code-block:: python 21 | 22 | # Import fileDB class 23 | from robot_hat import fileDB 24 | 25 | # Create fileDB object with a config file 26 | db = fileDB("./config") 27 | 28 | # Set some values 29 | db.set("apple", "10") 30 | db.set("orange", "5") 31 | db.set("banana", "13") 32 | 33 | # Read the values 34 | print(db.get("apple")) 35 | print(db.get("orange")) 36 | print(db.get("banana")) 37 | 38 | # Read an none existing value with a default value 39 | print(db.get("pineapple", default_value="-1")) 40 | 41 | Now you can checkout the config file ``config`` in bash. 42 | 43 | .. code-block:: bash 44 | 45 | cat config 46 | 47 | **API** 48 | 49 | .. currentmodule:: robot_hat 50 | 51 | .. autoclass:: fileDB 52 | :show-inheritance: 53 | :special-members: __init__ 54 | :members: 55 | -------------------------------------------------------------------------------- /docs/source/api_i2c.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | .. _class_i2c: 16 | 17 | class ``I2C`` 18 | ======================================== 19 | 20 | **Example** 21 | 22 | .. code-block:: python 23 | 24 | # Import the I2C class 25 | from robot_hat import I2C 26 | 27 | # You can scan for available I2C devices 28 | print([f"0x{addr:02X}" for addr in I2C().scan()]) 29 | # You should see at least one device address 0x14, which is the 30 | # on board MCU for PWM and ADC 31 | 32 | # Initialize a I2C object with device address, for example 33 | # to communicate with on board MCU 0x14 34 | mcu = I2C(0x14) 35 | # Send ADC channel register to read ADC, 0x10 is Channel 0, 0x11 is Channel 1, etc. 36 | mcu.write([0x10, 0x00, 0x00]) 37 | # Read 2 byte for MSB and LSB 38 | msb, lsb = mcu.read(2) 39 | # Convert to integer 40 | value = (msb << 8) + lsb 41 | # Print the value 42 | print(value) 43 | 44 | For more information on the I2C protocol, see checkout adc.py and pwm.py 45 | 46 | **API** 47 | 48 | .. currentmodule:: robot_hat 49 | 50 | .. autoclass:: I2C 51 | :show-inheritance: 52 | :special-members: __init__ 53 | :members: -------------------------------------------------------------------------------- /docs/source/api_motor.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | .. _class_motor: 16 | 17 | module ``motor`` 18 | ======================================== 19 | 20 | class ``Motors`` 21 | ---------------------------------------- 22 | 23 | **Example** 24 | 25 | Initilize 26 | 27 | .. code-block:: python 28 | 29 | # Import Motor class 30 | from robot_hat import Motors 31 | 32 | # Create Motor object 33 | motors = Motors() 34 | 35 | Directly control a motor. Motor 1/2 is according to PCB mark 36 | 37 | .. code-block:: python 38 | 39 | # Motor 1 clockwise at 100% speed 40 | motors[1].speed(100) 41 | # Motor 2 counter-clockwise at 100% speed 42 | motors[2].speed(-100) 43 | # Stop all motors 44 | motors.stop() 45 | 46 | Setup for high level control, high level control provides functions 47 | from simple forword, backward, left, right, stop to more complex 48 | like joystick control, motor directions calibration, etc. 49 | 50 | .. note:: 51 | All these setup only need to run once, and will save in a config file. Next time you load Motors class, it will load from config file. 52 | 53 | .. code-block:: python 54 | 55 | # Setup left and right motors 56 | motors.set_left_id(1) 57 | motors.set_right_id(2) 58 | # Go forward and see if both motor directions are correct 59 | motors.forward(100) 60 | # if you found a motor is running in the wrong direction 61 | # Use these function to correct it 62 | motors.set_left_reverse() 63 | motors.set_right_reverse() 64 | # Run forward again and see if both motor directions are correct 65 | motors.forward(100) 66 | 67 | Now control the robot 68 | 69 | .. code-block:: python 70 | 71 | import time 72 | 73 | motors.forward(100) 74 | time.sleep(1) 75 | motors.backward(100) 76 | time.sleep(1) 77 | motors.turn_left(100) 78 | time.sleep(1) 79 | motors.turn_right(100) 80 | time.sleep(1) 81 | motors.stop() 82 | 83 | **API** 84 | 85 | .. currentmodule:: robot_hat 86 | 87 | .. autoclass:: Motors 88 | :show-inheritance: 89 | :special-members: __init__, __getitem__ 90 | :members: 91 | 92 | class ``Motor`` 93 | ---------------------------------------- 94 | 95 | **Example** 96 | 97 | .. code-block:: python 98 | 99 | # Import Motor class 100 | from robot_hat import Motor, PWM, Pin 101 | 102 | # Create Motor object 103 | motor = Motor(PWM("P13"), Pin("D4")) 104 | 105 | # Motor clockwise at 100% speed 106 | motor.speed(100) 107 | # Motor counter-clockwise at 100% speed 108 | motor.speed(-100) 109 | 110 | # If you like to reverse the motor direction 111 | motor.set_is_reverse(True) 112 | 113 | **API** 114 | 115 | .. currentmodule:: robot_hat 116 | 117 | .. autoclass:: Motor 118 | :show-inheritance: 119 | :special-members: __init__ 120 | :members: 121 | -------------------------------------------------------------------------------- /docs/source/api_pin.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | .. _class_pin: 16 | 17 | class ``Pin`` 18 | =========================== 19 | 20 | **Example** 21 | 22 | .. code-block:: python 23 | 24 | # Import Pin class 25 | from robot_hat import Pin 26 | 27 | # Create Pin object with numeric pin numbering and default input pullup enabled 28 | d0 = Pin(0, Pin.IN, Pin.PULL_UP) 29 | # Create Pin object with named pin numbering 30 | d1 = Pin('D1') 31 | 32 | # read value 33 | value0 = d0.value() 34 | value1 = d1.value() 35 | print(value0, value1) 36 | 37 | # write value 38 | d0.value(1) # force input to output 39 | d1.value(0) 40 | 41 | # set pin high/low 42 | d0.high() 43 | d1.off() 44 | 45 | # set interrupt 46 | led = Pin('LED', Pin.OUT) 47 | switch = Pin('SW', Pin.IN, Pin.PULL_DOWN) 48 | def onPressed(chn): 49 | led.value(not switch.value()) 50 | switch.irq(handler=onPressed, trigger=Pin.IRQ_RISING_FALLING) 51 | 52 | **API** 53 | 54 | .. currentmodule:: robot_hat 55 | 56 | .. autoclass:: Pin 57 | :show-inheritance: 58 | :special-members: __init__, __call__ 59 | :members: -------------------------------------------------------------------------------- /docs/source/api_pwm.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | .. _class_pwm: 16 | 17 | class ``PWM`` 18 | ======================================== 19 | 20 | **Example** 21 | 22 | .. code-block:: python 23 | 24 | # Import PWM class 25 | from robot_hat import PWM 26 | 27 | # Create PWM object with numeric pin numbering and default input pullup enabled 28 | p0 = PWM(0) 29 | # Create PWM object with named pin numbering 30 | p1 = PWM('P1') 31 | 32 | 33 | # Set frequency will automatically set prescaller and period 34 | # This is easy for device like Buzzer or LED, which you care 35 | # about the frequency and pulse width percentage. 36 | # this usually use with pulse_width_percent function. 37 | # Set frequency to 1000Hz 38 | p0.freq(1000) 39 | print(f"Frequence: {p0.freq()} Hz") 40 | print(f"Prescaler: {p0.prescaler()}") 41 | print(f"Period: {p0.period()}") 42 | # Set pulse width to 50% 43 | p0.pulse_width_percent(50) 44 | 45 | # Or set prescaller and period, will get a frequency from: 46 | # frequency = PWM.CLOCK / prescaler / period 47 | # With this setup you can tune the period as you wish. 48 | # set prescaler to 64 49 | p1.prescaler(64) 50 | # set period to 4096 ticks 51 | p1.period(4096) 52 | print(f"Frequence: {p1.freq()} Hz") 53 | print(f"Prescaler: {p1.prescaler()}") 54 | print(f"Period: {p1.period()}") 55 | # Set pulse width to 2048 which is also 50% 56 | p1.pulse_width(2048) 57 | 58 | **API** 59 | 60 | .. currentmodule:: robot_hat 61 | 62 | .. autoclass:: PWM 63 | :show-inheritance: 64 | :special-members: __init__ 65 | :members: -------------------------------------------------------------------------------- /docs/source/api_robot.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | .. _class_robot: 16 | 17 | class ``Robot`` 18 | ======================================== 19 | 20 | **Example** 21 | 22 | .. code-block:: python 23 | 24 | # Import Robot class 25 | from robot import Robot 26 | 27 | # Create a robot(PiSloth) 28 | robot = Robot(pin_list=[0, 1, 2, 3], name="pisloth") 29 | 30 | robot.move_list["forward"] = [ 31 | [0, 40, 0, 15], 32 | [-30, 40, -30, 15], 33 | [-30, 0, -30, 0], 34 | 35 | [0, -15, 0, -40], 36 | [30, -15, 30, -40], 37 | [30, 0, 30, 0], 38 | ] 39 | 40 | robot.do_action("forward", step=3, speed=90) 41 | 42 | **API** 43 | 44 | .. currentmodule:: robot_hat 45 | 46 | .. autoclass:: Robot 47 | :show-inheritance: 48 | :special-members: __init__ 49 | :members: -------------------------------------------------------------------------------- /docs/source/api_servo.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | .. _class_servo: 16 | 17 | class ``Servo`` 18 | ============================= 19 | 20 | **Example** 21 | 22 | .. code-block:: python 23 | 24 | # Import Servo class 25 | from robot_hat import Servo 26 | 27 | # Create Servo object with PWM object 28 | servo0 = Servo("P0") 29 | 30 | # Set servo to position 0, here 0 is the center position, 31 | # angle ranges from -90 to 90 32 | servo0.angle(0) 33 | 34 | # Sweep servo from 0 to 90 degrees, then 90 to -90 degrees, finally back to 0 35 | import time 36 | for i in range(0, 91): 37 | servo0.angle(i) 38 | time.sleep(0.05) 39 | for i in range(90, -91, -1): 40 | servo0.angle(i) 41 | time.sleep(0.05) 42 | for i in range(-90, 1): 43 | servo0.angle(i) 44 | time.sleep(0.05) 45 | 46 | 47 | # Servos are all controls with pulse width, some 48 | # from 500 ~ 2500 like most from SunFounder. 49 | # You can directly set the pulse width 50 | 51 | # Set servo to 1500 pulse width (-90 degree) 52 | servo0.pulse_width_time(500) 53 | # Set servo to 1500 pulse width (0 degree) 54 | servo0.pulse_width_time(1500) 55 | # Set servo to 1500 pulse width (90 degree) 56 | servo0.pulse_width_time(2500) 57 | 58 | **API** 59 | 60 | .. currentmodule:: robot_hat 61 | 62 | .. autoclass:: Servo 63 | :show-inheritance: 64 | :special-members: __init__ 65 | :members: -------------------------------------------------------------------------------- /docs/source/api_tts.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | .. _class_tts: 16 | 17 | class ``TTS`` 18 | ================================================== 19 | 20 | .. warning:: 21 | * You need to add ``sudo`` when running this script, in case the speaker doesn't work. 22 | * :ref:`faq_speaker`. 23 | 24 | **Example** 25 | 26 | .. code-block:: python 27 | 28 | # Import TTS class 29 | from robot_hat import TTS 30 | 31 | # Initialize TTS class 32 | tts = TTS(lang='en-US') 33 | # Speak text 34 | tts.say("Hello World") 35 | # show all supported languages 36 | print(tts.supported_lang()) 37 | 38 | 39 | **API** 40 | 41 | .. currentmodule:: robot_hat 42 | 43 | .. autoclass:: TTS 44 | :show-inheritance: 45 | :special-members: __init__ 46 | :members: 47 | -------------------------------------------------------------------------------- /docs/source/api_utils.rst: -------------------------------------------------------------------------------- 1 |  .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | module ``utils`` 16 | ================================================== 17 | 18 | .. automodule:: robot_hat.utils 19 | :members: -------------------------------------------------------------------------------- /docs/source/battery.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | About the Battery 16 | ======================== 17 | **Battery** 18 | 19 | .. image:: img/3pin_battery.jpg 20 | :width: 500 21 | :align: center 22 | 23 | * **VCC**: Battery positive terminal, here there are two sets of VCC and GND is to increase the current and reduce the resistance. 24 | * **Middle**: To balance the voltage between the two cells and thus protect the battery. 25 | * **GND**: Negative battery terminal. 26 | 27 | 28 | This is a custom battery pack made by SunFounder consisting of two 18650 batteries with a capacity of 2000mAh. 29 | The connector is XH2.54 3pin, which can be charged directly after being inserted into the shield. 30 | 31 | 32 | **Features** 33 | 34 | * Composition: Li-ion 35 | * Battery Capacity: 2000mAh, 14.8Wh 36 | * Battery Weight: 90.8g 37 | * Number of Cells: 2 38 | * Connector: XH2.54 3pin 39 | * Over-discharge protection: 6.0V 40 | -------------------------------------------------------------------------------- /docs/source/community_tutorials.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Community Tutorials 16 | ======================= 17 | 18 | * |link_peppe8o| 19 | 20 | This document summarizes the SunFounder Raspberry Pi Robot HAT, covering its purpose, compatibility, specifications, and testing: 21 | 22 | * **Introduction**: Explains the Robot HAT's role in simplifying control for Raspberry Pi-based DIY robot projects. 23 | * **Specifications**: Details the technical specs, including power input, battery details, ports, and motor driver features. 24 | * **Ports Overview**: Describes various ports like Power, Digital, Analog, PWM, I2C, SPI, UART, and Motor Ports. 25 | * **Additional Components**: Highlights extra components like buttons, LED, and speaker, with Raspberry Pi PIN mappings. 26 | * **Setup and Testing**: Guides on mounting the Robot HAT, necessary components, and testing procedures for features like LED and servo motors. 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /docs/source/faq.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | FAQ 16 | ================ 17 | 18 | Q1: Can the battery be connected while providing power to the Raspberry Pi at the same time? 19 | ------------------------------------------------------------------------------------------------------------ 20 | A: Yes, the Robot HAT has a built-in anti-backflow diode that prevents the Raspberry Pi's power from flowing back into the Robot HAT. 21 | 22 | Q2: Can the Robot HAT be used while charging? 23 | -------------------------------------------------------- 24 | A: Yes, the Robot HAT can be used while charging. When charging, the input power is boosted by the charging chip to charge the batteries, while also providing power to the DC-DC step-down for external use. The charging power is approximately 10W. If the external power consumption is too high for an extended period, the batteries may supplement the power, similar to how a mobile phone charges while in use. However, it is important to be mindful of the battery's capacity to avoid draining it completely during simultaneous charging and usage. 25 | 26 | .. _faq_speaker: 27 | 28 | Q3: Why is there no sound from the speaker? 29 | -------------------------------------------------- 30 | 31 | When your script is running but the speaker is not producing sound, there could be several reasons: 32 | 33 | #. Check if the ``i2samp.sh`` script has been installed. For detailed instructions, please refer to: :ref:`install_i2s`. 34 | #. When running scripts related to speakers, it's necessary to add ``sudo`` to obtain administrative privileges. For example, ``sudo python3 tts.py``. 35 | #. Don't using Raspberry Pi's built-in programming tools, like Geany to run Speaker-related scripts. These tools run with standard user privileges, while hardware control, such as managing speakers, often requires higher permissions. 36 | -------------------------------------------------------------------------------- /docs/source/features.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Features 16 | ============== 17 | 18 | * Shutdown Current: < 0.5mA 19 | * Power Input: USB Type-C, 5V/2A 20 | * Charging Power: 5V/2A 10W 21 | * Output Power: 5V/3A 22 | * Included Batteries: 2 x 3.7V 18650 Lithium-ion Batteries, XH2.54 3P Interface 23 | * Battery Protection: Reverse polarity protection 24 | * Charging Protection: Input undervoltage protection, input overvoltage protection, charging balance, overheat protection 25 | * Onboard Charging Indicator Light: CHG 26 | * Onboard Power Indicator Light: PWR 27 | * Onboard 2 Battery Level Indicator LEDs 28 | * Onboard User LED, 2 tactile switches 29 | * Motor Driver: 5V/1.8A x 2 30 | * 4-channel 12-bit ADC 31 | * 12-channel PWM 32 | * 4-channel digital signals 33 | * Onboard SPI interface, UART interface, I2C interface 34 | * Mono Speaker: 8Ω1W 35 | 36 | .. list-table:: Electrical Characteristics 37 | :widths: 50 25 25 25 25 38 | :header-rows: 1 39 | 40 | * - Parameters: 41 | - Minimum Value: 42 | - Typical Value: 43 | - Maximum Value: 44 | - Unit: 45 | * - Input Voltage: 46 | - 4.25 47 | - 5 48 | - 8.4 49 | - V 50 | * - Battery Input Voltage: 51 | - 6.0 52 | - 7.4 53 | - 8.4 54 | - V 55 | * - Overcharge Protection (Battery): 56 | - 57 | - 8.3 58 | - 59 | - V 60 | * - Input Undervoltage Protection: 61 | - 4.15 62 | - 4.25 63 | - 4.35 64 | - V 65 | * - Input Overvoltage Protection: 66 | - 8.3 67 | - 8.4 68 | - 8.5 69 | - V 70 | * - Charging Current (5V): 71 | - 72 | - 73 | - 2.0 74 | - A 75 | * - Output Current (5V): 76 | - 77 | - 78 | - 3.0 79 | - A 80 | * - Output Voltage: 81 | - 5.166 82 | - 5.246 83 | - 5.327 84 | - V 85 | * - Charging Overheat Protection: 86 | - 125 87 | - 135 88 | - 145 89 | - °C 90 | * - DC-DC Overheat Protection: 91 | - 70 92 | - 75 93 | - 80 94 | - °C 95 | * - Motor Output Current: 96 | - 97 | - 98 | - 1.8 99 | - A -------------------------------------------------------------------------------- /docs/source/img/3d33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/3d33.png -------------------------------------------------------------------------------- /docs/source/img/3pin_battery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/3pin_battery.jpg -------------------------------------------------------------------------------- /docs/source/img/adcpin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/adcpin.png -------------------------------------------------------------------------------- /docs/source/img/battery.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/battery.png -------------------------------------------------------------------------------- /docs/source/img/browser_camera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/browser_camera.jpg -------------------------------------------------------------------------------- /docs/source/img/btradc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/btradc.png -------------------------------------------------------------------------------- /docs/source/img/camera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/camera.jpg -------------------------------------------------------------------------------- /docs/source/img/digitalio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/digitalio.png -------------------------------------------------------------------------------- /docs/source/img/diy_car.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/diy_car.jpg -------------------------------------------------------------------------------- /docs/source/img/dowload_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/dowload_code.png -------------------------------------------------------------------------------- /docs/source/img/i2cpin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/i2cpin.png -------------------------------------------------------------------------------- /docs/source/img/install_i2s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/install_i2s1.png -------------------------------------------------------------------------------- /docs/source/img/install_i2s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/install_i2s2.png -------------------------------------------------------------------------------- /docs/source/img/install_i2s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/install_i2s3.png -------------------------------------------------------------------------------- /docs/source/img/photoresistor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/photoresistor.jpg -------------------------------------------------------------------------------- /docs/source/img/plant_monitor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/plant_monitor.jpg -------------------------------------------------------------------------------- /docs/source/img/pwmpin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/pwmpin.png -------------------------------------------------------------------------------- /docs/source/img/robot_hat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/robot_hat.jpg -------------------------------------------------------------------------------- /docs/source/img/robot_hat_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/robot_hat_pic.png -------------------------------------------------------------------------------- /docs/source/img/robot_hat_pinout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/robot_hat_pinout.png -------------------------------------------------------------------------------- /docs/source/img/servo_motor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/servo_motor.jpg -------------------------------------------------------------------------------- /docs/source/img/spipin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/spipin.png -------------------------------------------------------------------------------- /docs/source/img/uartpin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/uartpin.png -------------------------------------------------------------------------------- /docs/source/img/ultrasonic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/docs/source/img/ultrasonic.jpg -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | SunFounder |link_Robot_HAT_kit| 16 | ===================================== 17 | 18 | * |link_Robot_HAT| 19 | 20 | Thanks for choosing our |link_Robot_HAT_kit|. 21 | 22 | .. note:: 23 | This document is available in the following languages. 24 | 25 | * |link_german_tutorials| 26 | * |link_jp_tutorials| 27 | * |link_en_tutorials| 28 | 29 | Please click on the respective links to access the document in your preferred language. 30 | 31 | .. image:: img/robot_hat_pic.png 32 | :width: 500 33 | :align: center 34 | 35 | 36 | Robot HAT is a multifunctional expansion board that allows Raspberry Pi to be quickly turned into a robot. An MCU is on board to extend the PWM output and ADC input for the Raspberry Pi, as well as a motor driver chip, Bluetooth module, I2S audio module and mono speaker. As well as the GPIOs that lead out of the Raspberry Pi itself. 37 | 38 | It also comes with a Speaker, which can be used to play background music, sound effects and implement TTS functions to make your project more interesting. 39 | 40 | Accepts 6.0V-8.4V XH2.54 3pin power input with 2 power indicators. The board also has a user available LED and a button for you to quickly test some effects. 41 | 42 | In this document, you will get a full understanding of the interface functions of the Robot HAT and the usage of these interfaces through the Python ``robot-hat`` library provided by SunFounder. 43 | 44 | 45 | .. toctree:: 46 | :maxdepth: 3 47 | 48 | About this HAT 49 | features 50 | hardware_introduction 51 | battery 52 | installation 53 | install_i2s_for_speaker 54 | onboard_mcu 55 | api 56 | projects 57 | faq 58 | -------------------------------------------------------------------------------- /docs/source/install_i2s_for_speaker.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | .. _install_i2s: 16 | 17 | Install ``i2samp.sh`` for the Speaker 18 | ============================================== 19 | 20 | The ``i2samp.sh`` is a sophisticated Bash script specifically designed for setting up and configuring an I2S (Inter-IC Sound) amplifier on Raspberry Pi and similar devices. Licensed under the MIT license, it ensures compatibility with a range of hardware and operating systems, conducting thorough checks before proceeding with any installation or configuration. 21 | 22 | If you want your speaker to work properly, you definitely need to install this script. 23 | 24 | The steps are as follows: 25 | 26 | .. code-block:: 27 | 28 | cd ~/robot-hat 29 | sudo bash i2samp.sh 30 | 31 | Type ``y`` and press ``enter`` to continue running the script. 32 | 33 | .. image:: img/install_i2s1.png 34 | 35 | Type ``y`` and press ``enter`` to run ``/dev/zero`` in the background. 36 | 37 | .. image:: img/install_i2s2.png 38 | 39 | Type ``y`` and press ``enter`` to restart the Raspberry pi. 40 | 41 | .. image:: img/install_i2s2.png 42 | 43 | .. warning:: 44 | 45 | If there is no sound after restarting, you may need to run the ``i2samp.sh`` script several times. -------------------------------------------------------------------------------- /docs/source/installation.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Install the ``robot-hat`` Module 16 | ========================================== 17 | 18 | ``robot-hat`` is the supported library for the Robot HAT. 19 | 20 | #. Update your system. 21 | 22 | Make sure you are connected to the Internet and update your system: 23 | 24 | .. raw:: html 25 | 26 | 27 | 28 | .. code-block:: 29 | 30 | sudo apt update 31 | sudo apt upgrade 32 | 33 | .. note:: 34 | 35 | Python3 related packages must be installed if you are installing the **Lite** version OS. 36 | 37 | .. raw:: html 38 | 39 | 40 | 41 | .. code-block:: 42 | 43 | sudo apt install git python3-pip python3-setuptools python3-smbus 44 | 45 | #. Type this command into the terminal to install the ``robot-hat`` package. 46 | 47 | .. raw:: html 48 | 49 | 50 | 51 | .. code-block:: 52 | 53 | cd ~/ 54 | git clone -b v2.0 https://github.com/sunfounder/robot-hat.git 55 | cd robot-hat 56 | sudo python3 setup.py install 57 | 58 | .. note:: 59 | Run ``setup.py`` to download some necessary components. You may have a network problem and the download may fail. At this point you may need to download again. In the following cases, type ``Y`` and press ``Enter`` to continue the process. 60 | 61 | .. image:: img/dowload_code.png -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/api.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../api.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 28 | 29 | #: ../api.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **Warum beitreten?**" 32 | 33 | #: ../api.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 38 | 39 | #: ../api.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern." 42 | 43 | #: ../api.rst:9 44 | msgid "" 45 | "**Exclusive Previews**: Get early access to new product announcements and" 46 | " sneak peeks." 47 | msgstr "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken." 48 | 49 | #: ../api.rst:10 50 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 51 | msgstr "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte." 52 | 53 | #: ../api.rst:11 54 | msgid "" 55 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 56 | "promotions." 57 | msgstr "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil." 58 | 59 | #: ../api.rst:13 60 | msgid "" 61 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 62 | "join today!" 63 | msgstr "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei!" 64 | 65 | #: ../api.rst:16 66 | msgid "Reference" 67 | msgstr "Referenz" 68 | 69 | #: of robot_hat:1 70 | msgid "Robot Hat Library" 71 | msgstr "Robot Hat Bibliothek" 72 | 73 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/api_adc.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2024, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2024. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 18:01+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../api_adc.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32" 29 | " Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die " 30 | "Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 31 | 32 | #: ../api_adc.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **Warum beitreten?**" 35 | 36 | #: ../api_adc.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "" 41 | "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische " 42 | "Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 43 | 44 | #: ../api_adc.rst:8 45 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 46 | msgstr "" 47 | "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre " 48 | "Fähigkeiten zu verbessern." 49 | 50 | #: ../api_adc.rst:9 51 | msgid "" 52 | "**Exclusive Previews**: Get early access to new product announcements and" 53 | " sneak peeks." 54 | msgstr "" 55 | "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen " 56 | "Produktankündigungen und exklusiven Einblicken." 57 | 58 | #: ../api_adc.rst:10 59 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 60 | msgstr "" 61 | "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten " 62 | "Produkte." 63 | 64 | #: ../api_adc.rst:11 65 | msgid "" 66 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 67 | "promotions." 68 | msgstr "" 69 | "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und " 70 | "Feiertagsaktionen teil." 71 | 72 | #: ../api_adc.rst:13 73 | msgid "" 74 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 75 | "join today!" 76 | msgstr "" 77 | "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf" 78 | " [|link_sf_facebook|] und treten Sie heute bei!" 79 | 80 | #: ../api_adc.rst:18 81 | msgid "class ``ADC``" 82 | msgstr "Klasse ``ADC``" 83 | 84 | #: ../api_adc.rst:20 85 | msgid "**Example**" 86 | msgstr "**Beispiel**" 87 | 88 | #: ../api_adc.rst:42 89 | msgid "**API**" 90 | msgstr "**API**" 91 | 92 | #: of robot_hat.adc.ADC:1 93 | msgid "Bases: :py:class:`~robot_hat.i2c.I2C`" 94 | msgstr "Basisklasse: :py:class:`~robot_hat.i2c.I2C`" 95 | 96 | #: of robot_hat.adc.ADC:1 robot_hat.adc.ADC.__init__:1 97 | msgid "Analog to digital converter" 98 | msgstr "Analog-Digital-Wandler" 99 | 100 | #: of robot_hat.adc.ADC.__init__ 101 | msgid "Parameters" 102 | msgstr "Parameter" 103 | 104 | #: of robot_hat.adc.ADC.__init__:3 105 | msgid "channel number (0-7/A0-A7)" 106 | msgstr "Kanalnummer (0-7/A0-A7)" 107 | 108 | #: of robot_hat.adc.ADC.read:1 109 | msgid "Read the ADC value" 110 | msgstr "ADC-Wert lesen" 111 | 112 | #: of robot_hat.adc.ADC.read robot_hat.adc.ADC.read_voltage 113 | msgid "Returns" 114 | msgstr "Rückgabewert" 115 | 116 | #: of robot_hat.adc.ADC.read:3 117 | msgid "ADC value(0-4095)" 118 | msgstr "ADC-Wert (0-4095)" 119 | 120 | #: of robot_hat.adc.ADC.read robot_hat.adc.ADC.read_voltage 121 | msgid "Return type" 122 | msgstr "Rückgabetyp" 123 | 124 | #: of robot_hat.adc.ADC.read_voltage:1 125 | msgid "Read the ADC value and convert to voltage" 126 | msgstr "ADC-Wert lesen und in Spannung umwandeln" 127 | 128 | #: of robot_hat.adc.ADC.read_voltage:3 129 | msgid "Voltage value(0-3.3(V))" 130 | msgstr "Spannungswert (0-3.3(V))" 131 | 132 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/api_basic_class.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2024, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2024. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 18:01+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../api_basic_class.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32" 29 | " Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die " 30 | "Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 31 | 32 | #: ../api_basic_class.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **Warum beitreten?**" 35 | 36 | #: ../api_basic_class.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "" 41 | "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische " 42 | "Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 43 | 44 | #: ../api_basic_class.rst:8 45 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 46 | msgstr "" 47 | "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre " 48 | "Fähigkeiten zu verbessern." 49 | 50 | #: ../api_basic_class.rst:9 51 | msgid "" 52 | "**Exclusive Previews**: Get early access to new product announcements and" 53 | " sneak peeks." 54 | msgstr "" 55 | "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen " 56 | "Produktankündigungen und exklusiven Einblicken." 57 | 58 | #: ../api_basic_class.rst:10 59 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 60 | msgstr "" 61 | "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten " 62 | "Produkte." 63 | 64 | #: ../api_basic_class.rst:11 65 | msgid "" 66 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 67 | "promotions." 68 | msgstr "" 69 | "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und " 70 | "Feiertagsaktionen teil." 71 | 72 | #: ../api_basic_class.rst:13 73 | msgid "" 74 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 75 | "join today!" 76 | msgstr "" 77 | "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf" 78 | " [|link_sf_facebook|] und treten Sie heute bei!" 79 | 80 | #: ../api_basic_class.rst:16 81 | msgid "class ``_Basic_class``" 82 | msgstr "Klasse ``_Basic_class``" 83 | 84 | #: ../api_basic_class.rst:18 85 | msgid "" 86 | "``_Basic_class`` is a logger class for all class to log, so if you want " 87 | "to see logs of a class, just add a debug argument to it." 88 | msgstr "" 89 | "``_Basic_class`` ist eine Logger-Klasse für alle Klassen zur " 90 | "Protokollierung. Wenn Sie Protokolle einer Klasse sehen möchten, fügen " 91 | "Sie einfach ein Debug-Argument hinzu." 92 | 93 | #: ../api_basic_class.rst:21 94 | msgid "**Example**" 95 | msgstr "**Beispiel**" 96 | 97 | #: ../api_basic_class.rst:36 98 | msgid "**API**" 99 | msgstr "**API**" 100 | 101 | #: of robot_hat.basic._Basic_class:1 102 | msgid "Basic Class for all classes" 103 | msgstr "Grundklasse für alle Klassen" 104 | 105 | #: of robot_hat.basic._Basic_class:3 106 | msgid "with debug function" 107 | msgstr "mit Debug-Funktion" 108 | 109 | #: ../docstring of robot_hat.basic._Basic_class.DEBUG_LEVELS:1 110 | #: robot_hat.basic._Basic_class.debug_level:1 111 | msgid "Debug level" 112 | msgstr "Debug-Level" 113 | 114 | #: ../docstring of robot_hat.basic._Basic_class.DEBUG_NAMES:1 115 | msgid "Debug level names" 116 | msgstr "Namen der Debug-Levels" 117 | 118 | #: of robot_hat.basic._Basic_class.__init__:1 119 | msgid "Initialize the basic class" 120 | msgstr "Initialisierung der Grundklasse" 121 | 122 | #: of robot_hat.basic._Basic_class.__init__ 123 | msgid "Parameters" 124 | msgstr "Parameter" 125 | 126 | #: of robot_hat.basic._Basic_class.__init__:3 127 | msgid "debug level, 0(critical), 1(error), 2(warning), 3(info) or 4(debug)" 128 | msgstr "Debug-Level, 0(kritisch), 1(Fehler), 2(Warnung), 3(Info) oder 4(Debug)" 129 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/api_servo.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 18:01+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../api_servo.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32" 29 | " Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die " 30 | "Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 31 | 32 | #: ../api_servo.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **Warum beitreten?**" 35 | 36 | #: ../api_servo.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "" 41 | "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische " 42 | "Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 43 | 44 | #: ../api_servo.rst:8 45 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 46 | msgstr "" 47 | "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre " 48 | "Fähigkeiten zu verbessern." 49 | 50 | #: ../api_servo.rst:9 51 | msgid "" 52 | "**Exclusive Previews**: Get early access to new product announcements and" 53 | " sneak peeks." 54 | msgstr "" 55 | "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen " 56 | "Produktankündigungen und exklusiven Einblicken." 57 | 58 | #: ../api_servo.rst:10 59 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 60 | msgstr "" 61 | "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten " 62 | "Produkte." 63 | 64 | #: ../api_servo.rst:11 65 | msgid "" 66 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 67 | "promotions." 68 | msgstr "" 69 | "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und " 70 | "Feiertagsaktionen teil." 71 | 72 | #: ../api_servo.rst:13 73 | msgid "" 74 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 75 | "join today!" 76 | msgstr "" 77 | "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf" 78 | " [|link_sf_facebook|] und treten Sie heute bei!" 79 | 80 | #: ../api_servo.rst:18 81 | msgid "class ``Servo``" 82 | msgstr "Klasse ``Servo``" 83 | 84 | #: ../api_servo.rst:20 85 | msgid "**Example**" 86 | msgstr "**Beispiel**" 87 | 88 | #: ../api_servo.rst:58 89 | msgid "**API**" 90 | msgstr "**API**" 91 | 92 | #: of robot_hat.servo.Servo:1 93 | msgid "Bases: :py:class:`~robot_hat.pwm.PWM`" 94 | msgstr "Basisklasse: :py:class:`~robot_hat.pwm.PWM`" 95 | 96 | #: of robot_hat.servo.Servo:1 97 | msgid "Servo motor class" 98 | msgstr "Servomotorklasse" 99 | 100 | #: of robot_hat.servo.Servo.__init__:1 101 | msgid "Initialize the servo motor class" 102 | msgstr "Die Servomotorklasse initialisieren" 103 | 104 | #: of robot_hat.servo.Servo.__init__ robot_hat.servo.Servo.angle 105 | #: robot_hat.servo.Servo.pulse_width_time 106 | msgid "Parameters" 107 | msgstr "Parameter" 108 | 109 | #: of robot_hat.servo.Servo.__init__:3 110 | msgid "PWM channel number(0-14/P0-P14)" 111 | msgstr "PWM-Kanalnummer (0-14/P0-P14)" 112 | 113 | #: of robot_hat.servo.Servo.angle:1 114 | msgid "Set the angle of the servo motor" 115 | msgstr "Den Winkel des Servomotors einstellen" 116 | 117 | #: of robot_hat.servo.Servo.angle:3 118 | msgid "angle(-90~90)" 119 | msgstr "Winkel (-90~90)" 120 | 121 | #: of robot_hat.servo.Servo.pulse_width_time:1 122 | msgid "Set the pulse width of the servo motor" 123 | msgstr "Die Pulsbreite des Servomotors einstellen" 124 | 125 | #: of robot_hat.servo.Servo.pulse_width_time:3 126 | msgid "pulse width time(500~2500)" 127 | msgstr "Pulsbreitenzeit (500~2500)" -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/battery.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 17:46+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../battery.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32" 29 | " Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die " 30 | "Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 31 | 32 | #: ../battery.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **Warum beitreten?**" 35 | 36 | #: ../battery.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "" 41 | "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische " 42 | "Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 43 | 44 | #: ../battery.rst:8 45 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 46 | msgstr "" 47 | "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre " 48 | "Fähigkeiten zu verbessern." 49 | 50 | #: ../battery.rst:9 51 | msgid "" 52 | "**Exclusive Previews**: Get early access to new product announcements and" 53 | " sneak peeks." 54 | msgstr "" 55 | "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen " 56 | "Produktankündigungen und exklusiven Einblicken." 57 | 58 | #: ../battery.rst:10 59 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 60 | msgstr "" 61 | "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten " 62 | "Produkte." 63 | 64 | #: ../battery.rst:11 65 | msgid "" 66 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 67 | "promotions." 68 | msgstr "" 69 | "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und " 70 | "Feiertagsaktionen teil." 71 | 72 | #: ../battery.rst:13 73 | msgid "" 74 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 75 | "join today!" 76 | msgstr "" 77 | "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf" 78 | " [|link_sf_facebook|] und treten Sie heute bei!" 79 | 80 | #: ../battery.rst:16 81 | msgid "About the Battery" 82 | msgstr "Über den Akku" 83 | 84 | #: ../battery.rst:17 85 | msgid "**Battery**" 86 | msgstr "**Akku**" 87 | 88 | #: ../battery.rst:23 89 | msgid "" 90 | "**VCC**: Battery positive terminal, here there are two sets of VCC and " 91 | "GND is to increase the current and reduce the resistance." 92 | msgstr "" 93 | "**VCC**: Positiver Batteriepol, hier gibt es zwei Sätze von VCC und GND, " 94 | "um den Strom zu erhöhen und den Widerstand zu verringern." 95 | 96 | #: ../battery.rst:24 97 | msgid "" 98 | "**Middle**: To balance the voltage between the two cells and thus protect" 99 | " the battery." 100 | msgstr "" 101 | "**Middle**: Um die Spannung zwischen den beiden Zellen auszugleichen und " 102 | "so den Akku zu schützen." 103 | 104 | #: ../battery.rst:25 105 | msgid "**GND**: Negative battery terminal." 106 | msgstr "**GND**: Negativer Batteriepol." 107 | 108 | #: ../battery.rst:28 109 | msgid "" 110 | "This is a custom battery pack made by SunFounder consisting of two 18650 " 111 | "batteries with a capacity of 2000mAh. The connector is XH2.54 3pin, which" 112 | " can be charged directly after being inserted into the shield." 113 | msgstr "" 114 | "Dies ist ein benutzerdefinierter Akkupack von SunFounder, bestehend aus " 115 | "zwei 18650 Akkus mit einer Kapazität von 2000mAh. Der Anschluss ist " 116 | "XH2.54 3pin, der direkt nach dem Einsetzen in das Shield geladen werden " 117 | "kann." 118 | 119 | #: ../battery.rst:32 120 | msgid "**Features**" 121 | msgstr "**Eigenschaften**" 122 | 123 | #: ../battery.rst:34 124 | msgid "Composition: Li-ion" 125 | msgstr "Zusammensetzung: Li-Ion" 126 | 127 | #: ../battery.rst:35 128 | msgid "Battery Capacity: 2000mAh, 14.8Wh" 129 | msgstr "Batteriekapazität: 2000mAh, 14.8Wh" 130 | 131 | #: ../battery.rst:36 132 | msgid "Battery Weight: 90.8g" 133 | msgstr "Batterie Gewicht: 90.8g" 134 | 135 | #: ../battery.rst:37 136 | msgid "Number of Cells: 2" 137 | msgstr "Anzahl der Zellen: 2" 138 | 139 | #: ../battery.rst:38 140 | msgid "Connector: XH2.54 3pin" 141 | msgstr "Anschluss: XH2.54 3pin" 142 | 143 | #: ../battery.rst:39 144 | msgid "Over-discharge protection: 6.0V" 145 | msgstr "Überentladungsschutz: 6.0V" 146 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/installation.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 17:46+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../installation.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32" 29 | " Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die " 30 | "Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 31 | 32 | #: ../installation.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **Warum beitreten?**" 35 | 36 | #: ../installation.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "" 41 | "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische " 42 | "Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 43 | 44 | #: ../installation.rst:8 45 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 46 | msgstr "" 47 | "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre " 48 | "Fähigkeiten zu verbessern." 49 | 50 | #: ../installation.rst:9 51 | msgid "" 52 | "**Exclusive Previews**: Get early access to new product announcements and" 53 | " sneak peeks." 54 | msgstr "" 55 | "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen " 56 | "Produktankündigungen und exklusiven Einblicken." 57 | 58 | #: ../installation.rst:10 59 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 60 | msgstr "" 61 | "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten " 62 | "Produkte." 63 | 64 | #: ../installation.rst:11 65 | msgid "" 66 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 67 | "promotions." 68 | msgstr "" 69 | "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und " 70 | "Feiertagsaktionen teil." 71 | 72 | #: ../installation.rst:13 73 | msgid "" 74 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 75 | "join today!" 76 | msgstr "" 77 | "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf" 78 | " [|link_sf_facebook|] und treten Sie heute bei!" 79 | 80 | #: ../installation.rst:16 81 | msgid "Install the ``robot-hat`` Module" 82 | msgstr "Installieren Sie das Modul ``robot-hat``" 83 | 84 | #: ../installation.rst:18 85 | msgid "``robot-hat`` is the supported library for the Robot HAT." 86 | msgstr "``robot-hat`` ist die unterstützte Bibliothek für den Robot HAT." 87 | 88 | #: ../installation.rst:20 89 | msgid "Aktualisieren Sie Ihr System." 90 | msgstr "" 91 | 92 | #: ../installation.rst:22 93 | msgid "Make sure you are connected to the Internet and update your system:" 94 | msgstr "Stellen Sie sicher, dass Sie mit dem Internet verbunden sind und aktualisieren Sie Ihr System:" 95 | 96 | #: ../installation.rst:35 97 | msgid "" 98 | "Python3 related packages must be installed if you are installing the " 99 | "**Lite** version OS." 100 | msgstr "Python3-bezogene Pakete müssen installiert werden, wenn Sie die " 101 | "**Lite** Version OS." 102 | 103 | #: ../installation.rst:45 104 | msgid "Type this command into the terminal to install the ``robot-hat`` package." 105 | msgstr "" 106 | "Geben Sie diesen Befehl im Terminal ein, um das ``robot-hat`` Paket zu " 107 | "installieren." 108 | 109 | #: ../installation.rst:59 110 | msgid "" 111 | "Run ``setup.py`` to download some necessary components. You may have a " 112 | "network problem and the download may fail. At this point you may need to " 113 | "download again. In the following cases, type ``Y`` and press ``Enter`` to" 114 | " continue the process." 115 | msgstr "" 116 | "Führen Sie ``setup.py`` aus, um einige notwendige Komponenten " 117 | "herunterzuladen. Es könnte ein Netzwerkproblem auftreten und der Download" 118 | " fehlschlagen. In diesem Fall müssen Sie möglicherweise erneut " 119 | "herunterladen. Geben Sie in den folgenden Fällen ``Y`` ein und drücken " 120 | "Sie ``Enter``, um den Prozess fortzusetzen." 121 | 122 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/project_control_motor_servo.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_control_motor_servo.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 28 | 29 | #: ../project_control_motor_servo.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **Warum beitreten?**" 32 | 33 | #: ../project_control_motor_servo.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 38 | 39 | #: ../project_control_motor_servo.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern." 42 | 43 | #: ../project_control_motor_servo.rst:9 44 | msgid "" 45 | "**Exclusive Previews**: Get early access to new product announcements and" 46 | " sneak peeks." 47 | msgstr "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken." 48 | 49 | #: ../project_control_motor_servo.rst:10 50 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 51 | msgstr "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte." 52 | 53 | #: ../project_control_motor_servo.rst:11 54 | msgid "" 55 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 56 | "promotions." 57 | msgstr "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil." 58 | 59 | #: ../project_control_motor_servo.rst:13 60 | msgid "" 61 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 62 | "join today!" 63 | msgstr "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei!" 64 | 65 | #: ../project_control_motor_servo.rst:16 66 | msgid "Control Servos and Motors" 67 | msgstr "Servos und Motoren steuern" 68 | 69 | #: ../project_control_motor_servo.rst:18 70 | msgid "In this project, we have 12 servos and two motors working simultaneously." 71 | msgstr "" 72 | "In diesem Projekt haben wir 12 Servos und zwei Motoren, die gleichzeitig " 73 | "arbeiten." 74 | 75 | #: ../project_control_motor_servo.rst:24 76 | msgid "" 77 | "However, it's important to note that if your servos and motors have a " 78 | "high starting current, it's recommended to start them separately to avoid" 79 | " insufficient power supply current, which could lead to the Raspberry Pi " 80 | "restarting." 81 | msgstr "" 82 | "Es ist jedoch wichtig zu beachten, dass, wenn Ihre Servos und Motoren " 83 | "einen hohen Anlaufstrom haben, es empfohlen wird, sie separat zu starten," 84 | " um unzureichenden Stromversorgungsstrom zu vermeiden, der zum Neustart " 85 | "des Raspberry Pi führen könnte." 86 | 87 | #: ../project_control_motor_servo.rst:26 88 | msgid "**Code**" 89 | msgstr "**Code**" 90 | 91 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/project_diy_car.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_diy_car.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 28 | 29 | #: ../project_diy_car.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **Warum beitreten?**" 32 | 33 | #: ../project_diy_car.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 38 | 39 | #: ../project_diy_car.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern." 42 | 43 | #: ../project_diy_car.rst:9 44 | msgid "" 45 | "**Exclusive Previews**: Get early access to new product announcements and" 46 | " sneak peeks." 47 | msgstr "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken." 48 | 49 | #: ../project_diy_car.rst:10 50 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 51 | msgstr "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte." 52 | 53 | #: ../project_diy_car.rst:11 54 | msgid "" 55 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 56 | "promotions." 57 | msgstr "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil." 58 | 59 | #: ../project_diy_car.rst:13 60 | msgid "" 61 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 62 | "join today!" 63 | msgstr "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei!" 64 | 65 | #: ../project_diy_car.rst:16 66 | msgid "DIY Car" 67 | msgstr "DIY-Auto" 68 | 69 | #: ../project_diy_car.rst:18 70 | msgid "" 71 | "In addition to being suitable for simple experiments, the Robot HAT is " 72 | "ideal for use as a central controller in robotics, such as for smart " 73 | "cars." 74 | msgstr "" 75 | "Neben der Eignung für einfache Experimente ist der Robot HAT ideal als " 76 | "zentraler Controller in der Robotik, wie zum Beispiel für intelligente " 77 | "Autos, geeignet." 78 | 79 | #: ../project_diy_car.rst:20 80 | msgid "In this project, we built a simple line-following car." 81 | msgstr "In diesem Projekt haben wir ein einfaches linienfolgendes Auto gebaut." 82 | 83 | #: ../project_diy_car.rst:24 84 | msgid "**Code**" 85 | msgstr "**Code**" 86 | 87 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/project_photoresistor.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_photoresistor.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 28 | 29 | #: ../project_photoresistor.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **Warum beitreten?**" 32 | 33 | #: ../project_photoresistor.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 38 | 39 | #: ../project_photoresistor.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern." 42 | 43 | #: ../project_photoresistor.rst:9 44 | msgid "" 45 | "**Exclusive Previews**: Get early access to new product announcements and" 46 | " sneak peeks." 47 | msgstr "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken." 48 | 49 | #: ../project_photoresistor.rst:10 50 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 51 | msgstr "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte." 52 | 53 | #: ../project_photoresistor.rst:11 54 | msgid "" 55 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 56 | "promotions." 57 | msgstr "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil." 58 | 59 | #: ../project_photoresistor.rst:13 60 | msgid "" 61 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 62 | "join today!" 63 | msgstr "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei!" 64 | 65 | #: ../project_photoresistor.rst:16 66 | msgid "Read from Photoresistor Module" 67 | msgstr "Lesen vom Fotowiderstandsmodul" 68 | 69 | #: ../project_photoresistor.rst:18 70 | msgid "" 71 | "In this project, we detect the light intensity and display on the I2C " 72 | "LCD1602." 73 | msgstr "" 74 | "In diesem Projekt erfassen wir die Lichtintensität und zeigen sie auf dem" 75 | " I2C LCD1602 an." 76 | 77 | #: ../project_photoresistor.rst:22 78 | msgid "**Steps**" 79 | msgstr "**Schritte**" 80 | 81 | #: ../project_photoresistor.rst:24 82 | msgid "" 83 | "In this project, an I2C LCD1602 is used, so it's necessary to download " 84 | "the relevant libraries to make it work." 85 | msgstr "" 86 | "In diesem Projekt wird ein I2C LCD1602 verwendet, daher ist es notwendig," 87 | " die relevanten Bibliotheken herunterzuladen, damit es funktioniert." 88 | 89 | #: ../project_photoresistor.rst:31 90 | msgid "Install ``smbus2`` for I2C." 91 | msgstr "Installieren Sie ``smbus2`` für I2C." 92 | 93 | #: ../project_photoresistor.rst:37 94 | msgid "" 95 | "Save the following code to your Raspberry Pi and give it a name, for " 96 | "example, ``photoresistor.ty``." 97 | msgstr "" 98 | "Speichern Sie den folgenden Code auf Ihrem Raspberry Pi und geben Sie ihm" 99 | " einen Namen, zum Beispiel ``photoresistor.ty``." 100 | 101 | #: ../project_photoresistor.rst:78 102 | msgid "Use the command ``sudo python3 photoresistor.ty`` to run this code." 103 | msgstr "" 104 | "Verwenden Sie den Befehl ``sudo python3 photoresistor.ty``, um diesen " 105 | "Code auszuführen." 106 | 107 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/project_plant_monitor.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_plant_monitor.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 28 | 29 | #: ../project_plant_monitor.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **Warum beitreten?**" 32 | 33 | #: ../project_plant_monitor.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 38 | 39 | #: ../project_plant_monitor.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern." 42 | 43 | #: ../project_plant_monitor.rst:9 44 | msgid "" 45 | "**Exclusive Previews**: Get early access to new product announcements and" 46 | " sneak peeks." 47 | msgstr "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken." 48 | 49 | #: ../project_plant_monitor.rst:10 50 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 51 | msgstr "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte." 52 | 53 | #: ../project_plant_monitor.rst:11 54 | msgid "" 55 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 56 | "promotions." 57 | msgstr "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil." 58 | 59 | #: ../project_plant_monitor.rst:13 60 | msgid "" 61 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 62 | "join today!" 63 | msgstr "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei!" 64 | 65 | #: ../project_plant_monitor.rst:16 66 | msgid "Plant Monitor" 67 | msgstr "Pflanzenmonitor" 68 | 69 | #: ../project_plant_monitor.rst:18 70 | msgid "" 71 | "In this project, we detect both light intensity and soil moisture levels," 72 | " and display them on the I2C LCD1602 . When you feel that the soil " 73 | "moisture is insufficient, you can press the button module to water the " 74 | "potted plant." 75 | msgstr "" 76 | "In diesem Projekt erfassen wir sowohl die Lichtintensität als auch den " 77 | "Feuchtigkeitsgehalt des Bodens und zeigen diese auf dem I2C LCD1602 an. " 78 | "Wenn Sie denken, dass die Bodenfeuchtigkeit unzureichend ist, können Sie " 79 | "das Tastenmodul drücken, um die Topfpflanze zu bewässern." 80 | 81 | #: ../project_plant_monitor.rst:22 82 | msgid "**Steps**" 83 | msgstr "**Schritte**" 84 | 85 | #: ../project_plant_monitor.rst:24 86 | msgid "" 87 | "In this project, an I2C LCD1602 is used, so it's necessary to download " 88 | "the relevant libraries to make it work." 89 | msgstr "" 90 | "In diesem Projekt wird ein I2C LCD1602 verwendet, daher ist es notwendig," 91 | " die relevanten Bibliotheken herunterzuladen, um es zum Laufen zu " 92 | "bringen." 93 | 94 | #: ../project_plant_monitor.rst:31 95 | msgid "Install ``smbus2`` for I2C." 96 | msgstr "Installieren Sie ``smbus2`` für I2C." 97 | 98 | #: ../project_plant_monitor.rst:37 99 | msgid "" 100 | "Save the following code to your Raspberry Pi and give it a name, for " 101 | "example, ``plant_monitor.ty``." 102 | msgstr "" 103 | "Speichern Sie den folgenden Code auf Ihrem Raspberry Pi und geben Sie ihm" 104 | " einen Namen, zum Beispiel ``plant_monitor.ty``." 105 | 106 | #: ../project_plant_monitor.rst:120 107 | msgid "Use the command ``sudo python3 plant_monitor.ty`` to run this code." 108 | msgstr "" 109 | "Verwenden Sie den Befehl ``sudo python3 plant_monitor.ty``, um diesen " 110 | "Code auszuführen." 111 | 112 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/project_say_something.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_say_something.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 28 | 29 | #: ../project_say_something.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **Warum beitreten?**" 32 | 33 | #: ../project_say_something.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 38 | 39 | #: ../project_say_something.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern." 42 | 43 | #: ../project_say_something.rst:9 44 | msgid "" 45 | "**Exclusive Previews**: Get early access to new product announcements and" 46 | " sneak peeks." 47 | msgstr "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken." 48 | 49 | #: ../project_say_something.rst:10 50 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 51 | msgstr "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte." 52 | 53 | #: ../project_say_something.rst:11 54 | msgid "" 55 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 56 | "promotions." 57 | msgstr "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil." 58 | 59 | #: ../project_say_something.rst:13 60 | msgid "" 61 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 62 | "join today!" 63 | msgstr "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei!" 64 | 65 | #: ../project_say_something.rst:16 66 | msgid "Say Something" 67 | msgstr "Sage etwas" 68 | 69 | #: ../project_say_something.rst:19 70 | msgid "" 71 | "In this section, you'll learn how to convert text into speech and have " 72 | "Robot HAT speak it aloud." 73 | msgstr "" 74 | "In diesem Abschnitt lernen Sie, wie Sie Text in Sprache umwandeln und vom" 75 | " Robot HAT laut aussprechen lassen." 76 | 77 | #: ../project_say_something.rst:21 78 | msgid "**Steps**" 79 | msgstr "**Schritte**" 80 | 81 | #: ../project_say_something.rst:23 82 | msgid "" 83 | "We retrieve text from the command line to enable Robot HAT to articulate " 84 | "it. To achieve this, save the following code as a ``.py`` file, such as " 85 | "``tts.py``." 86 | msgstr "" 87 | "Wir holen Text von der Kommandozeile ab, damit der Robot HAT ihn " 88 | "artikulieren kann. Um dies zu erreichen, speichern Sie den folgenden Code" 89 | " als eine ``.py``-Datei, wie zum Beispiel ``tts.py``." 90 | 91 | #: ../project_say_something.rst:46 92 | msgid "" 93 | "To make Robot HAT vocalize a specific sentence, you can use the following" 94 | " command: ``sudo python3 tts.py \"any text\"`` - simply replace ``\"any " 95 | "text\"`` with the desired phrase." 96 | msgstr "" 97 | "Um den Robot HAT eine bestimmte Satz aussprechen zu lassen, können Sie " 98 | "den folgenden Befehl verwenden: ``sudo python3 tts.py „any text“`` - " 99 | "ersetzen Sie einfach ``„any text“`` durch den gewünschten Satz." 100 | 101 | #: ../project_say_something.rst:50 102 | msgid ":ref:`faq_speaker`" 103 | msgstr ":ref:`faq_speaker`" 104 | 105 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/project_security.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_security.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 28 | 29 | #: ../project_security.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **Warum beitreten?**" 32 | 33 | #: ../project_security.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 38 | 39 | #: ../project_security.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern." 42 | 43 | #: ../project_security.rst:9 44 | msgid "" 45 | "**Exclusive Previews**: Get early access to new product announcements and" 46 | " sneak peeks." 47 | msgstr "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken." 48 | 49 | #: ../project_security.rst:10 50 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 51 | msgstr "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte." 52 | 53 | #: ../project_security.rst:11 54 | msgid "" 55 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 56 | "promotions." 57 | msgstr "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil." 58 | 59 | #: ../project_security.rst:13 60 | msgid "" 61 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 62 | "join today!" 63 | msgstr "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei!" 64 | 65 | #: ../project_security.rst:16 66 | msgid "Security System" 67 | msgstr "Sicherheitssystem" 68 | 69 | #: ../project_security.rst:18 70 | msgid "" 71 | "In this project, we've created a simple security system. The PIR sensor " 72 | "detects if someone passes by, and then the camera activates. If a face is" 73 | " detected, it takes a picture and simultaneously delivers a warning " 74 | "message." 75 | msgstr "" 76 | "In diesem Projekt haben wir ein einfaches Sicherheitssystem erstellt. Der" 77 | " PIR-Sensor erkennt, ob jemand vorbeigeht, und dann wird die Kamera " 78 | "aktiviert. Wenn ein Gesicht erkannt wird, macht sie ein Bild und liefert " 79 | "gleichzeitig eine Warnmeldung." 80 | 81 | #: ../project_security.rst:22 82 | msgid "**Steps**" 83 | msgstr "**Schritte**" 84 | 85 | #: ../project_security.rst:24 86 | msgid "Install the ``vilib`` library for face detection." 87 | msgstr "Installieren Sie die ``vilib``-Bibliothek zur Gesichtserkennung." 88 | 89 | #: ../project_security.rst:33 90 | msgid "" 91 | "Save the following code to your Raspberry Pi and give it a name, for " 92 | "example, ``security.ty``." 93 | msgstr "" 94 | "Speichern Sie den folgenden Code auf Ihrem Raspberry Pi und geben Sie ihm" 95 | " einen Namen, zum Beispiel ``security.ty``." 96 | 97 | #: ../project_security.rst:106 98 | msgid "Use the command ``sudo python3 security.py`` to run this code." 99 | msgstr "" 100 | "Verwenden Sie den Befehl ``sudo python3 security.py``, um diesen Code " 101 | "auszuführen." 102 | 103 | #: ../project_security.rst:106 104 | msgid ":ref:`faq_speaker`" 105 | msgstr ":ref:`faq_speaker`" 106 | 107 | #: ../project_security.rst:108 108 | msgid "" 109 | "Open a web browser and enter ``http://rpi_ip:9000/mjpg`` to view the " 110 | "captured footage. Additionally, you can find the captured face images in " 111 | "``/home/{username}/Pictures/``." 112 | msgstr "" 113 | "Öffnen Sie einen Webbrowser und geben Sie ``http://rpi_ip:9000/mjpg`` " 114 | "ein, um das aufgenommene Filmmaterial anzusehen. Zusätzlich finden Sie " 115 | "die aufgenommenen Gesichtsbilder in ``/home/{Benutzername}/Bilder/``." 116 | 117 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/project_ultrasonic.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_ultrasonic.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 28 | 29 | #: ../project_ultrasonic.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **Warum beitreten?**" 32 | 33 | #: ../project_ultrasonic.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 38 | 39 | #: ../project_ultrasonic.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern." 42 | 43 | #: ../project_ultrasonic.rst:9 44 | msgid "" 45 | "**Exclusive Previews**: Get early access to new product announcements and" 46 | " sneak peeks." 47 | msgstr "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken." 48 | 49 | #: ../project_ultrasonic.rst:10 50 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 51 | msgstr "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte." 52 | 53 | #: ../project_ultrasonic.rst:11 54 | msgid "" 55 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 56 | "promotions." 57 | msgstr "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil." 58 | 59 | #: ../project_ultrasonic.rst:13 60 | msgid "" 61 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 62 | "join today!" 63 | msgstr "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei!" 64 | 65 | #: ../project_ultrasonic.rst:16 66 | msgid "Read from Ultrasonic Module" 67 | msgstr "Lesen vom Ultraschallmodul" 68 | 69 | #: ../project_ultrasonic.rst:19 70 | msgid "" 71 | "In this project, we use ultrasonic sensors to measure distance and " 72 | "display the readings on the I2C LCD1602." 73 | msgstr "" 74 | "In diesem Projekt verwenden wir Ultraschallsensoren, um Entfernungen zu " 75 | "messen und die Messwerte auf dem I2C LCD1602 anzuzeigen." 76 | 77 | #: ../project_ultrasonic.rst:23 78 | msgid "**Steps**" 79 | msgstr "**Schritte**" 80 | 81 | #: ../project_ultrasonic.rst:25 82 | msgid "" 83 | "In this project, an I2C LCD1602 is used, so it's necessary to download " 84 | "the relevant libraries to make it work." 85 | msgstr "" 86 | "In diesem Projekt wird ein I2C LCD1602 verwendet, daher ist es notwendig," 87 | " die relevanten Bibliotheken herunterzuladen, um es zum Laufen zu " 88 | "bringen." 89 | 90 | #: ../project_ultrasonic.rst:32 91 | msgid "Install ``smbus2`` for I2C." 92 | msgstr "Installieren Sie ``smbus2`` für I2C." 93 | 94 | #: ../project_ultrasonic.rst:38 95 | msgid "" 96 | "Save the following code to your Raspberry Pi and give it a name, for " 97 | "example, ``ultrasonic.ty``." 98 | msgstr "" 99 | "Speichern Sie den folgenden Code auf Ihrem Raspberry Pi und geben Sie ihm" 100 | " einen Namen, zum Beispiel ``ultrasonic.ty``." 101 | 102 | #: ../project_ultrasonic.rst:88 103 | msgid "Use the command ``sudo python3 ultrasonic.ty`` to run this code." 104 | msgstr "" 105 | "Verwenden Sie den Befehl ``sudo python3 ultrasonic.ty``, um diesen Code " 106 | "auszuführen." 107 | 108 | -------------------------------------------------------------------------------- /docs/source/locale/de/LC_MESSAGES/projects.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: de\n" 15 | "Language-Team: de \n" 16 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../projects.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr " Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten." 28 | 29 | #: ../projects.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **Warum beitreten?**" 32 | 33 | #: ../projects.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams." 38 | 39 | #: ../projects.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "**Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern." 42 | 43 | #: ../projects.rst:9 44 | msgid "" 45 | "**Exclusive Previews**: Get early access to new product announcements and" 46 | " sneak peeks." 47 | msgstr "**Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken." 48 | 49 | #: ../projects.rst:10 50 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 51 | msgstr "**Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte." 52 | 53 | #: ../projects.rst:11 54 | msgid "" 55 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 56 | "promotions." 57 | msgstr "**Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil." 58 | 59 | #: ../projects.rst:13 60 | msgid "" 61 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 62 | "join today!" 63 | msgstr "👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei!" 64 | 65 | #: ../projects.rst:16 66 | msgid "Some Projects" 67 | msgstr "Einige Projekte" 68 | 69 | #: ../projects.rst:18 70 | msgid "" 71 | "Here, you'll find a collection of fascinating projects, all implemented " 72 | "using the Robot HAT. We provide you with detailed code, giving you the " 73 | "opportunity to try these projects out for yourself." 74 | msgstr "" 75 | "Hier finden Sie eine Sammlung faszinierender Projekte, alle umgesetzt mit" 76 | " dem Robot HAT. Wir stellen Ihnen detaillierten Code zur Verfügung, der " 77 | "Ihnen die Möglichkeit bietet, diese Projekte selbst auszuprobieren." 78 | 79 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/api.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../api.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../api.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../api.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../api.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../api.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../api.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../api.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../api.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../api.rst:16 68 | msgid "Reference" 69 | msgstr "参照" 70 | 71 | #: of robot_hat:1 72 | msgid "Robot Hat Library" 73 | msgstr "Robot Hatライブラリ" 74 | 75 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/api_adc.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2024, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2024. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 18:01+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../api_adc.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | " こんにちは、SunFounderのRaspberry Pi & Arduino & " 29 | "ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry " 30 | "Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 31 | 32 | #: ../api_adc.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **参加する理由は?**" 35 | 36 | #: ../api_adc.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 41 | 42 | #: ../api_adc.rst:8 43 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 44 | msgstr "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 45 | 46 | #: ../api_adc.rst:9 47 | msgid "" 48 | "**Exclusive Previews**: Get early access to new product announcements and" 49 | " sneak peeks." 50 | msgstr "独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 51 | 52 | #: ../api_adc.rst:10 53 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 54 | msgstr "**特別割引**:最新製品の独占割引をお楽しみください。" 55 | 56 | #: ../api_adc.rst:11 57 | msgid "" 58 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 59 | "promotions." 60 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 61 | 62 | #: ../api_adc.rst:13 63 | msgid "" 64 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 65 | "join today!" 66 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 67 | 68 | #: ../api_adc.rst:18 69 | msgid "class ``ADC``" 70 | msgstr "クラス ``ADC``" 71 | 72 | #: ../api_adc.rst:20 73 | msgid "**Example**" 74 | msgstr "**例**" 75 | 76 | #: ../api_adc.rst:42 77 | msgid "**API**" 78 | msgstr "**API**" 79 | 80 | #: of robot_hat.adc.ADC:1 81 | msgid "Bases: :py:class:`~robot_hat.i2c.I2C`" 82 | msgstr "基底: :py:class:`~robot_hat.i2c.I2C`" 83 | 84 | #: of robot_hat.adc.ADC:1 robot_hat.adc.ADC.__init__:1 85 | msgid "Analog to digital converter" 86 | msgstr "アナログからデジタルへの変換器" 87 | 88 | #: of robot_hat.adc.ADC.__init__ 89 | msgid "Parameters" 90 | msgstr "パラメータ" 91 | 92 | #: of robot_hat.adc.ADC.__init__:3 93 | msgid "channel number (0-7/A0-A7)" 94 | msgstr "チャンネル番号 (0-7/A0-A7)" 95 | 96 | #: of robot_hat.adc.ADC.read:1 97 | msgid "Read the ADC value" 98 | msgstr "ADC値を読む" 99 | 100 | #: of robot_hat.adc.ADC.read robot_hat.adc.ADC.read_voltage 101 | msgid "Returns" 102 | msgstr "戻り値" 103 | 104 | #: of robot_hat.adc.ADC.read:3 105 | msgid "ADC value(0-4095)" 106 | msgstr "ADC値(0-4095)" 107 | 108 | #: of robot_hat.adc.ADC.read robot_hat.adc.ADC.read_voltage 109 | msgid "Return type" 110 | msgstr "戻り値の型" 111 | 112 | #: of robot_hat.adc.ADC.read_voltage:1 113 | msgid "Read the ADC value and convert to voltage" 114 | msgstr "ADC値を読み取り電圧に変換する" 115 | 116 | #: of robot_hat.adc.ADC.read_voltage:3 117 | msgid "Voltage value(0-3.3(V))" 118 | msgstr "電圧値(0-3.3(V))" 119 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/api_basic_class.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 18:01+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../api_basic_class.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | "こんにちは、SunFounderのRaspberry Pi & Arduino & " 29 | "ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry " 30 | "Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 31 | 32 | #: ../api_basic_class.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **参加する理由は?**" 35 | 36 | #: ../api_basic_class.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 41 | 42 | #: ../api_basic_class.rst:8 43 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 44 | msgstr "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 45 | 46 | #: ../api_basic_class.rst:9 47 | msgid "" 48 | "**Exclusive Previews**: Get early access to new product announcements and" 49 | " sneak peeks." 50 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 51 | 52 | #: ../api_basic_class.rst:10 53 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 54 | msgstr "**特別割引**:最新製品の独占割引をお楽しみください。" 55 | 56 | #: ../api_basic_class.rst:11 57 | msgid "" 58 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 59 | "promotions." 60 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 61 | 62 | #: ../api_basic_class.rst:13 63 | msgid "" 64 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 65 | "join today!" 66 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 67 | 68 | #: ../api_basic_class.rst:16 69 | msgid "class ``_Basic_class``" 70 | msgstr "クラス ``_Basic_class``" 71 | 72 | #: ../api_basic_class.rst:18 73 | msgid "" 74 | "``_Basic_class`` is a logger class for all class to log, so if you want " 75 | "to see logs of a class, just add a debug argument to it." 76 | msgstr "``_Basic_class`` はすべてのクラスのロガークラスで、特定のクラスのログを見たい場合は、デバッグ引数を追加するだけです。" 77 | 78 | #: ../api_basic_class.rst:21 79 | msgid "**Example**" 80 | msgstr "**例**" 81 | 82 | #: ../api_basic_class.rst:36 83 | msgid "**API**" 84 | msgstr "**API**" 85 | 86 | #: of robot_hat.basic._Basic_class:1 87 | msgid "Basic Class for all classes" 88 | msgstr "すべてのクラスの基本クラス" 89 | 90 | #: of robot_hat.basic._Basic_class:3 91 | msgid "with debug function" 92 | msgstr "デバッグ機能付き" 93 | 94 | #: ../docstring of robot_hat.basic._Basic_class.DEBUG_LEVELS:1 95 | #: robot_hat.basic._Basic_class.debug_level:1 96 | msgid "Debug level" 97 | msgstr "デバッグレベル" 98 | 99 | #: ../docstring of robot_hat.basic._Basic_class.DEBUG_NAMES:1 100 | msgid "Debug level names" 101 | msgstr "デバッグレベルの名称" 102 | 103 | #: of robot_hat.basic._Basic_class.__init__:1 104 | msgid "Initialize the basic class" 105 | msgstr "基本クラスを初期化する" 106 | 107 | #: of robot_hat.basic._Basic_class.__init__ 108 | msgid "Parameters" 109 | msgstr "パラメータ" 110 | 111 | #: of robot_hat.basic._Basic_class.__init__:3 112 | msgid "debug level, 0(critical), 1(error), 2(warning), 3(info) or 4(debug)" 113 | msgstr "デバッグレベル、0(重大)、1(エラー)、2(警告)、3(情報)または4(デバッグ)" 114 | 115 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/api_servo.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 18:01+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../api_servo.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | "こんにちは、SunFounderのRaspberry Pi & Arduino & " 29 | "ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry " 30 | "Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 31 | 32 | #: ../api_servo.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **参加する理由は?**" 35 | 36 | #: ../api_servo.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 41 | 42 | #: ../api_servo.rst:8 43 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 44 | msgstr "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 45 | 46 | #: ../api_servo.rst:9 47 | msgid "" 48 | "**Exclusive Previews**: Get early access to new product announcements and" 49 | " sneak peeks." 50 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 51 | 52 | #: ../api_servo.rst:10 53 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 54 | msgstr "**特別割引**:最新製品の独占割引をお楽しみください。" 55 | 56 | #: ../api_servo.rst:11 57 | msgid "" 58 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 59 | "promotions." 60 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 61 | 62 | #: ../api_servo.rst:13 63 | msgid "" 64 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 65 | "join today!" 66 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 67 | 68 | #: ../api_servo.rst:18 69 | msgid "class ``Servo``" 70 | msgstr "クラス ``Servo``" 71 | 72 | #: ../api_servo.rst:20 73 | msgid "**Example**" 74 | msgstr "**例**" 75 | 76 | #: ../api_servo.rst:58 77 | msgid "**API**" 78 | msgstr "**API**" 79 | 80 | #: of robot_hat.servo.Servo:1 81 | msgid "Bases: :py:class:`~robot_hat.pwm.PWM`" 82 | msgstr "基底: :py:class:`~robot_hat.pwm.PWM`" 83 | 84 | #: of robot_hat.servo.Servo:1 85 | msgid "Servo motor class" 86 | msgstr "サーボモータークラス" 87 | 88 | #: of robot_hat.servo.Servo.__init__:1 89 | msgid "Initialize the servo motor class" 90 | msgstr "サーボモータークラスを初期化する" 91 | 92 | #: of robot_hat.servo.Servo.__init__ robot_hat.servo.Servo.angle 93 | #: robot_hat.servo.Servo.pulse_width_time 94 | msgid "Parameters" 95 | msgstr "パラメータ" 96 | 97 | #: of robot_hat.servo.Servo.__init__:3 98 | msgid "PWM channel number(0-14/P0-P14)" 99 | msgstr "PWMチャンネル番号(0-14/P0-P14)" 100 | 101 | #: of robot_hat.servo.Servo.angle:1 102 | msgid "Set the angle of the servo motor" 103 | msgstr "サーボモーターの角度を設定する" 104 | 105 | #: of robot_hat.servo.Servo.angle:3 106 | msgid "angle(-90~90)" 107 | msgstr "角度(-90~90)" 108 | 109 | #: of robot_hat.servo.Servo.pulse_width_time:1 110 | msgid "Set the pulse width of the servo motor" 111 | msgstr "サーボモーターのパルス幅を設定する" 112 | 113 | #: of robot_hat.servo.Servo.pulse_width_time:3 114 | msgid "pulse width time(500~2500)" 115 | msgstr "パルス幅時間(500~2500)" 116 | 117 | 118 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/battery.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 17:46+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../battery.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | "こんにちは、SunFounderのRaspberry Pi & Arduino & " 29 | "ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry " 30 | "Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 31 | 32 | #: ../battery.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **参加する理由は?**" 35 | 36 | #: ../battery.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 41 | 42 | #: ../battery.rst:8 43 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 44 | msgstr "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 45 | 46 | #: ../battery.rst:9 47 | msgid "" 48 | "**Exclusive Previews**: Get early access to new product announcements and" 49 | " sneak peeks." 50 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 51 | 52 | #: ../battery.rst:10 53 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 54 | msgstr "**特別割引**:最新製品の独占割引をお楽しみください。" 55 | 56 | #: ../battery.rst:11 57 | msgid "" 58 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 59 | "promotions." 60 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 61 | 62 | #: ../battery.rst:13 63 | msgid "" 64 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 65 | "join today!" 66 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 67 | 68 | #: ../battery.rst:16 69 | msgid "About the Battery" 70 | msgstr "バッテリーについて" 71 | 72 | #: ../battery.rst:17 73 | msgid "**Battery**" 74 | msgstr "**バッテリー**" 75 | 76 | #: ../battery.rst:23 77 | msgid "" 78 | "**VCC**: Battery positive terminal, here there are two sets of VCC and " 79 | "GND is to increase the current and reduce the resistance." 80 | msgstr "**VCC**: バッテリーの正極端子。ここにはVCCとGNDの2組があり、電流を増やし抵抗を減らすためです。" 81 | 82 | #: ../battery.rst:24 83 | msgid "" 84 | "**Middle**: To balance the voltage between the two cells and thus protect" 85 | " the battery." 86 | msgstr "**Middle**: 二つのセル間の電圧をバランスさせ、バッテリーを保護します。" 87 | 88 | #: ../battery.rst:25 89 | msgid "**GND**: Negative battery terminal." 90 | msgstr "**GND**: バッテリーの負極端子。" 91 | 92 | #: ../battery.rst:28 93 | msgid "" 94 | "This is a custom battery pack made by SunFounder consisting of two 18650 " 95 | "batteries with a capacity of 2000mAh. The connector is XH2.54 3pin, which" 96 | " can be charged directly after being inserted into the shield." 97 | msgstr "" 98 | "これはSunFounderによって製造されたカスタムバッテリーパックで、2000mAhの容量を持つ18650バッテリー2個で構成されています。コネクターは" 99 | " XH2.54-3Pで、シールドに挿入後、直接充電が可能です。" 100 | 101 | #: ../battery.rst:32 102 | msgid "**Features**" 103 | msgstr "**特徴**" 104 | 105 | #: ../battery.rst:34 106 | msgid "Composition: Li-ion" 107 | msgstr "構成: Li Battery (リチウムイオン二次電池)" 108 | 109 | #: ../battery.rst:35 110 | msgid "Battery Capacity: 2000mAh, 14.8Wh" 111 | msgstr "バッテリー容量: 2000mAh, 14.8Wh" 112 | 113 | #: ../battery.rst:36 114 | msgid "Battery Weight: 90.8g" 115 | msgstr "バッテリー重量:90.8g" 116 | 117 | #: ../battery.rst:37 118 | msgid "Number of Cells: 2" 119 | msgstr "セル数:2" 120 | 121 | #: ../battery.rst:38 122 | msgid "Connector: XH2.54 3pin" 123 | msgstr "コネクター: XH2.54 3pin" 124 | 125 | #: ../battery.rst:39 126 | msgid "Over-discharge protection: 6.0V" 127 | msgstr "過放電保護 6.0V" 128 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/community_tutorials.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2024, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2024. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../community_tutorials.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../community_tutorials.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../community_tutorials.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../community_tutorials.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../community_tutorials.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../community_tutorials.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../community_tutorials.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../community_tutorials.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../community_tutorials.rst:16 68 | msgid "Community Tutorials" 69 | msgstr "コミュニティチュートリアル" 70 | 71 | #: ../community_tutorials.rst:18 72 | msgid "|link_peppe8o|" 73 | msgstr "|link_peppe8o|" 74 | 75 | #: ../community_tutorials.rst:20 76 | msgid "" 77 | "This document summarizes the SunFounder Raspberry Pi Robot HAT, covering " 78 | "its purpose, compatibility, specifications, and testing:" 79 | msgstr "" 80 | "この文書は、SunFounder Raspberry Pi Robot " 81 | "HATに関する概要を説明し、その目的、互換性、仕様、テストについて述べています:" 82 | 83 | #: ../community_tutorials.rst:22 84 | msgid "" 85 | "**Introduction**: Explains the Robot HAT's role in simplifying control " 86 | "for Raspberry Pi-based DIY robot projects." 87 | msgstr "**はじめに**: Raspberry PiベースのDIYロボットプロジェクトの制御を簡素化するRobot HATの役割について説明します。" 88 | 89 | #: ../community_tutorials.rst:23 90 | msgid "" 91 | "**Specifications**: Details the technical specs, including power input, " 92 | "battery details, ports, and motor driver features." 93 | msgstr "**仕様**: 電源入力、バッテリーの詳細、ポート、モータードライバーの機能など、技術的な仕様について詳述します。" 94 | 95 | #: ../community_tutorials.rst:24 96 | msgid "" 97 | "**Ports Overview**: Describes various ports like Power, Digital, Analog, " 98 | "PWM, I2C, SPI, UART, and Motor Ports." 99 | msgstr "**ポートの概要**: 電源、デジタル、アナログ、PWM、I2C、SPI、UART、モーターポートなど、各種ポートについて説明します。" 100 | 101 | #: ../community_tutorials.rst:25 102 | msgid "" 103 | "**Additional Components**: Highlights extra components like buttons, LED," 104 | " and speaker, with Raspberry Pi PIN mappings." 105 | msgstr "**追加コンポーネント**: ボタン、LED、スピーカーなどの追加コンポーネントと、Raspberry PiのPIN配置を強調します。" 106 | 107 | #: ../community_tutorials.rst:26 108 | msgid "" 109 | "**Setup and Testing**: Guides on mounting the Robot HAT, necessary " 110 | "components, and testing procedures for features like LED and servo " 111 | "motors." 112 | msgstr "**セットアップとテスト**: Robot HATの取り付け、必要なコンポーネント、LEDやサーボモーターなどの機能のテスト手順について案内します。" 113 | 114 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/index.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 17:46+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../index.rst:43 23 | msgid "About this HAT" 24 | msgstr "このHATについて" 25 | 26 | #: ../index.rst:3 27 | msgid "" 28 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 29 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 30 | "Arduino, and ESP32 with fellow enthusiasts." 31 | msgstr "" 32 | "こんにちは、SunFounderのRaspberry Pi & Arduino & " 33 | "ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry " 34 | "Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 35 | 36 | #: ../index.rst:5 37 | msgid "**Why Join?**" 38 | msgstr " **参加する理由は?**" 39 | 40 | #: ../index.rst:7 41 | msgid "" 42 | "**Expert Support**: Solve post-sale issues and technical challenges with " 43 | "help from our community and team." 44 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 45 | 46 | #: ../index.rst:8 47 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 48 | msgstr "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 49 | 50 | #: ../index.rst:9 51 | msgid "" 52 | "**Exclusive Previews**: Get early access to new product announcements and" 53 | " sneak peeks." 54 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 55 | 56 | #: ../index.rst:10 57 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 58 | msgstr "**特別割引**:最新製品の独占割引をお楽しみください。" 59 | 60 | #: ../index.rst:11 61 | msgid "" 62 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 63 | "promotions." 64 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 65 | 66 | #: ../index.rst:13 67 | msgid "" 68 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 69 | "join today!" 70 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 71 | 72 | #: ../index.rst:16 73 | msgid "SunFounder Robot HAT" 74 | msgstr "SunFounder Robot HAT" 75 | 76 | #: ../index.rst:18 77 | msgid "Thanks for choosing our Robot HAT." 78 | msgstr "SunFounder Robot HATをお選びいただき、ありがとうございます。" 79 | 80 | #: ../index.rst:21 81 | msgid "This document is available in the following languages." 82 | msgstr "このドキュメントは以下の言語で利用可能です。" 83 | 84 | #: ../index.rst:23 85 | msgid "|link_german_tutorials|" 86 | msgstr "|link_german_tutorials|" 87 | 88 | #: ../index.rst:24 89 | msgid "|link_jp_tutorials|" 90 | msgstr "|link_jp_tutorials|" 91 | 92 | #: ../index.rst:25 93 | msgid "|link_en_tutorials|" 94 | msgstr "|link_en_tutorials|" 95 | 96 | #: ../index.rst:27 97 | msgid "" 98 | "Please click on the respective links to access the document in your " 99 | "preferred language." 100 | msgstr "ご希望の言語でドキュメントにアクセスするために、それぞれのリンクをクリックしてください。" 101 | 102 | #: ../index.rst:34 103 | msgid "" 104 | "Robot HAT is a multifunctional expansion board that allows Raspberry Pi " 105 | "to be quickly turned into a robot. An MCU is on board to extend the PWM " 106 | "output and ADC input for the Raspberry Pi, as well as a motor driver " 107 | "chip, Bluetooth module, I2S audio module and mono speaker. As well as the" 108 | " GPIOs that lead out of the Raspberry Pi itself." 109 | msgstr "" 110 | "Robot HATは、Raspberry Piを迅速にロボットに変換できる多機能拡張ボードです。MCUが搭載されており、Raspberry " 111 | "PiのPWM出力とADC入力を拡張するとともに、モータードライバーチップ、Bluetoothモジュール、I2Sオーディオモジュール、モノラルスピーカー、そしてRaspberry" 112 | " Pi自体から出るGPIOも搭載しています。" 113 | 114 | #: ../index.rst:36 115 | msgid "" 116 | "It also comes with a Speaker, which can be used to play background music," 117 | " sound effects and implement TTS functions to make your project more " 118 | "interesting." 119 | msgstr "また、背景音楽や効果音を再生し、TTS機能を実装してプロジェクトをより魅力的にするためのスピーカーも付属しています。" 120 | 121 | #: ../index.rst:38 122 | msgid "" 123 | "Accepts 6.0V-8.4V XH2.54 3pin power input with 2 power indicators. The " 124 | "board also has a user available LED and a button for you to quickly test " 125 | "some effects." 126 | msgstr "" 127 | "6.0V-8.4V XH2.54 " 128 | "3ピン電源入力と2つの電源インジケータを受け入れます。このボードには、ユーザーが使用可能なLEDと、いくつかの効果を迅速にテストするためのボタンも備えています。" 129 | 130 | #: ../index.rst:40 131 | msgid "" 132 | "In this document, you will get a full understanding of the interface " 133 | "functions of the Robot HAT and the usage of these interfaces through the " 134 | "Python ``robot-hat`` library provided by SunFounder." 135 | msgstr "" 136 | "この文書では、SunFounderが提供するPython ``robot-hat`` ライブラリを通じて、Robot " 137 | "HATのインターフェイス機能とこれらのインターフェイスの使用方法を完全に理解できます。" 138 | 139 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/install_i2s_for_speaker.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../install_i2s_for_speaker.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../install_i2s_for_speaker.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../install_i2s_for_speaker.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../install_i2s_for_speaker.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../install_i2s_for_speaker.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../install_i2s_for_speaker.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../install_i2s_for_speaker.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../install_i2s_for_speaker.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../install_i2s_for_speaker.rst:18 68 | msgid "Install ``i2samp.sh`` for the Speaker" 69 | msgstr "スピーカー用の ``i2samp.sh`` をインストールする" 70 | 71 | #: ../install_i2s_for_speaker.rst:20 72 | msgid "" 73 | "The ``i2samp.sh`` is a sophisticated Bash script specifically designed " 74 | "for setting up and configuring an I2S (Inter-IC Sound) amplifier on " 75 | "Raspberry Pi and similar devices. Licensed under the MIT license, it " 76 | "ensures compatibility with a range of hardware and operating systems, " 77 | "conducting thorough checks before proceeding with any installation or " 78 | "configuration." 79 | msgstr "" 80 | "``i2samp.sh`` は、Raspberry Piや類似のデバイスでI2S(Inter-IC " 81 | "Sound)アンプを設定し、構成するために特別に設計された高度なBashスクリプトです。MITライセンスのもとで、さまざまなハードウェアとオペレーティングシステムとの互換性を保証し、インストールや構成を進める前に徹底的なチェックを行います。" 82 | 83 | #: ../install_i2s_for_speaker.rst:22 84 | msgid "" 85 | "If you want your speaker to work properly, you definitely need to install" 86 | " this script." 87 | msgstr "スピーカーを適切に動作させたい場合は、このスクリプトのインストールが絶対に必要です。" 88 | 89 | #: ../install_i2s_for_speaker.rst:24 90 | msgid "The steps are as follows:" 91 | msgstr "手順は以下の通りです:" 92 | 93 | #: ../install_i2s_for_speaker.rst:31 94 | msgid "Type ``y`` and press ``enter`` to continue running the script." 95 | msgstr "``y`` と入力し ``enter`` を押して、スクリプトの実行を続けます。" 96 | 97 | #: ../install_i2s_for_speaker.rst:35 98 | msgid "Type ``y`` and press ``enter`` to run ``/dev/zero`` in the background." 99 | msgstr "``y`` と入力し ``enter`` を押して、バックグラウンドで ``/dev/zero`` を実行します。" 100 | 101 | #: ../install_i2s_for_speaker.rst:39 102 | msgid "Type ``y`` and press ``enter`` to restart the Raspberry pi." 103 | msgstr "``y`` と入力し ``enter`` を押して、Raspberry Piを再起動します。" 104 | 105 | #: ../install_i2s_for_speaker.rst:45 106 | msgid "" 107 | "If there is no sound after restarting, you may need to run the " 108 | "``i2samp.sh`` script several times." 109 | msgstr "再起動後に音が出ない場合は、 ``i2samp.sh`` スクリプトを数回実行する必要があるかもしれません。" 110 | 111 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/installation.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-07-12 17:46+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.12.1\n" 21 | 22 | #: ../installation.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "" 28 | "こんにちは、SunFounderのRaspberry Pi & Arduino & " 29 | "ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry " 30 | "Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 31 | 32 | #: ../installation.rst:5 33 | msgid "**Why Join?**" 34 | msgstr " **参加する理由は?**" 35 | 36 | #: ../installation.rst:7 37 | msgid "" 38 | "**Expert Support**: Solve post-sale issues and technical challenges with " 39 | "help from our community and team." 40 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 41 | 42 | #: ../installation.rst:8 43 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 44 | msgstr "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 45 | 46 | #: ../installation.rst:9 47 | msgid "" 48 | "**Exclusive Previews**: Get early access to new product announcements and" 49 | " sneak peeks." 50 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 51 | 52 | #: ../installation.rst:10 53 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 54 | msgstr "**特別割引**:最新製品の独占割引をお楽しみください。" 55 | 56 | #: ../installation.rst:11 57 | msgid "" 58 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 59 | "promotions." 60 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 61 | 62 | #: ../installation.rst:13 63 | msgid "" 64 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 65 | "join today!" 66 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 67 | 68 | #: ../installation.rst:16 69 | msgid "Install the ``robot-hat`` Module" 70 | msgstr "``robot-hat`` モジュールのインストール" 71 | 72 | #: ../installation.rst:18 73 | msgid "``robot-hat`` is the supported library for the Robot HAT." 74 | msgstr "``robot-hat`` はRobot HATに対応したライブラリです。" 75 | 76 | #: ../installation.rst:20 77 | msgid "Update your system." 78 | msgstr "システムをアップデートしてください。" 79 | 80 | #: ../installation.rst:22 81 | msgid "Make sure you are connected to the Internet and update your system:" 82 | msgstr "インターネットに接続していることを確認し、システムをアップデートしてください:" 83 | 84 | #: ../installation.rst:35 85 | msgid "" 86 | "Python3 related packages must be installed if you are installing the " 87 | "**Lite** version OS." 88 | msgstr "OSの **Lite** バージョンをインストールする場合、Python3関連のパッケージをインストールする必要があります。" 89 | 90 | #: ../installation.rst:45 91 | msgid "Type this command into the terminal to install the ``robot-hat`` package." 92 | msgstr "このコマンドをターミナルに入力して、``robot-hat`` パッケージをインストールします。" 93 | 94 | #: ../installation.rst:59 95 | msgid "" 96 | "Run ``setup.py`` to download some necessary components. You may have a " 97 | "network problem and the download may fail. At this point you may need to " 98 | "download again. In the following cases, type ``Y`` and press ``Enter`` to" 99 | " continue the process." 100 | msgstr "" 101 | "``setup.py`` " 102 | "を実行して必要なコンポーネントをダウンロードします。ネットワークの問題でダウンロードが失敗することがあります。その場合は、再度ダウンロードが必要になるかもしれません。次のような場合には、" 103 | " ``Y`` と入力し ``Enter`` を押してプロセスを続行してください。" 104 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/project_control_motor_servo.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_control_motor_servo.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../project_control_motor_servo.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../project_control_motor_servo.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../project_control_motor_servo.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../project_control_motor_servo.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../project_control_motor_servo.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../project_control_motor_servo.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../project_control_motor_servo.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../project_control_motor_servo.rst:16 68 | msgid "Control Servos and Motors" 69 | msgstr "サーボとモーターの制御" 70 | 71 | #: ../project_control_motor_servo.rst:18 72 | msgid "In this project, we have 12 servos and two motors working simultaneously." 73 | msgstr "このプロジェクトでは、12個のサーボと2つのモーターが同時に動作します。" 74 | 75 | #: ../project_control_motor_servo.rst:24 76 | msgid "" 77 | "However, it's important to note that if your servos and motors have a " 78 | "high starting current, it's recommended to start them separately to avoid" 79 | " insufficient power supply current, which could lead to the Raspberry Pi " 80 | "restarting." 81 | msgstr "" 82 | "ただし、サーボやモーターの始動電流が高い場合は、それらを個別に起動して、電源電流不足を避けることをお勧めします。電流不足はRaspberry " 83 | "Piの再起動につながる可能性があります。" 84 | 85 | #: ../project_control_motor_servo.rst:26 86 | msgid "**Code**" 87 | msgstr "**コード**" 88 | 89 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/project_diy_car.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_diy_car.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../project_diy_car.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../project_diy_car.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../project_diy_car.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../project_diy_car.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../project_diy_car.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../project_diy_car.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../project_diy_car.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../project_diy_car.rst:16 68 | msgid "DIY Car" 69 | msgstr "DIYカー" 70 | 71 | #: ../project_diy_car.rst:18 72 | msgid "" 73 | "In addition to being suitable for simple experiments, the Robot HAT is " 74 | "ideal for use as a central controller in robotics, such as for smart " 75 | "cars." 76 | msgstr "シンプルな実験に適しているだけでなく、スマートカーなどのロボティクスにおける中央コントローラとしても、Robot HATは理想的です。" 77 | 78 | #: ../project_diy_car.rst:20 79 | msgid "In this project, we built a simple line-following car." 80 | msgstr "このプロジェクトでは、シンプルなラインフォローイングカーを作りました。" 81 | 82 | #: ../project_diy_car.rst:24 83 | msgid "**Code**" 84 | msgstr "**コード**" 85 | 86 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/project_photoresistor.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_photoresistor.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../project_photoresistor.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../project_photoresistor.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../project_photoresistor.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../project_photoresistor.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../project_photoresistor.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../project_photoresistor.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../project_photoresistor.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../project_photoresistor.rst:16 68 | msgid "Read from Photoresistor Module" 69 | msgstr "フォトレジスタモジュールから読み取る" 70 | 71 | #: ../project_photoresistor.rst:18 72 | msgid "" 73 | "In this project, we detect the light intensity and display on the I2C " 74 | "LCD1602." 75 | msgstr "このプロジェクトでは、光の強度を検出し、I2C LCD1602に表示します。" 76 | 77 | #: ../project_photoresistor.rst:22 78 | msgid "**Steps**" 79 | msgstr "**手順**" 80 | 81 | #: ../project_photoresistor.rst:24 82 | msgid "" 83 | "In this project, an I2C LCD1602 is used, so it's necessary to download " 84 | "the relevant libraries to make it work." 85 | msgstr "このプロジェクトではI2C LCD1602を使用しているため、関連するライブラリをダウンロードして機能させる必要があります。" 86 | 87 | #: ../project_photoresistor.rst:31 88 | msgid "Install ``smbus2`` for I2C." 89 | msgstr "I2C用に ``smbus2`` をインストールします。" 90 | 91 | #: ../project_photoresistor.rst:37 92 | msgid "" 93 | "Save the following code to your Raspberry Pi and give it a name, for " 94 | "example, ``photoresistor.ty``." 95 | msgstr "以下のコードをRaspberry Piに保存し、例えば ``photoresistor.ty`` のような名前を付けます。" 96 | 97 | #: ../project_photoresistor.rst:78 98 | msgid "Use the command ``sudo python3 photoresistor.ty`` to run this code." 99 | msgstr "このコードを実行するには、コマンド ``sudo python3 photoresistor.ty`` を使用します。" 100 | 101 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/project_plant_monitor.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_plant_monitor.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../project_plant_monitor.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../project_plant_monitor.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../project_plant_monitor.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../project_plant_monitor.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../project_plant_monitor.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../project_plant_monitor.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../project_plant_monitor.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../project_plant_monitor.rst:16 68 | msgid "Plant Monitor" 69 | msgstr "プラントモニター" 70 | 71 | #: ../project_plant_monitor.rst:18 72 | msgid "" 73 | "In this project, we detect both light intensity and soil moisture levels," 74 | " and display them on the I2C LCD1602 . When you feel that the soil " 75 | "moisture is insufficient, you can press the button module to water the " 76 | "potted plant." 77 | msgstr "" 78 | "このプロジェクトでは、光の強度と土壌の水分レベルの両方を検出し、I2C " 79 | "LCD1602に表示します。土壌の水分が不足していると感じたら、ボタンモジュールを押して鉢植えに水をやることができます。" 80 | 81 | #: ../project_plant_monitor.rst:22 82 | msgid "**Steps**" 83 | msgstr "**手順**" 84 | 85 | #: ../project_plant_monitor.rst:24 86 | msgid "" 87 | "In this project, an I2C LCD1602 is used, so it's necessary to download " 88 | "the relevant libraries to make it work." 89 | msgstr "このプロジェクトではI2C LCD1602を使用しているため、関連するライブラリをダウンロードして機能させる必要があります。" 90 | 91 | #: ../project_plant_monitor.rst:31 92 | msgid "Install ``smbus2`` for I2C." 93 | msgstr "I2C用に ``smbus2`` をインストールします。" 94 | 95 | #: ../project_plant_monitor.rst:37 96 | msgid "" 97 | "Save the following code to your Raspberry Pi and give it a name, for " 98 | "example, ``plant_monitor.ty``." 99 | msgstr "以下のコードをRaspberry Piに保存し、例えば ``plant_monitor.ty`` という名前を付けます。" 100 | 101 | #: ../project_plant_monitor.rst:120 102 | msgid "Use the command ``sudo python3 plant_monitor.ty`` to run this code." 103 | msgstr "このコードを実行するには、 ``sudo python3 plant_monitor.ty`` コマンドを使用します。" 104 | 105 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/project_say_something.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_say_something.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../project_say_something.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../project_say_something.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../project_say_something.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../project_say_something.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../project_say_something.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../project_say_something.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../project_say_something.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../project_say_something.rst:16 68 | msgid "Say Something" 69 | msgstr "何かを話す" 70 | 71 | #: ../project_say_something.rst:19 72 | msgid "" 73 | "In this section, you'll learn how to convert text into speech and have " 74 | "Robot HAT speak it aloud." 75 | msgstr "このセクションでは、テキストを音声に変換して、Robot HATに大声で話させる方法を学びます。" 76 | 77 | #: ../project_say_something.rst:21 78 | msgid "**Steps**" 79 | msgstr "**手順**" 80 | 81 | #: ../project_say_something.rst:23 82 | msgid "" 83 | "We retrieve text from the command line to enable Robot HAT to articulate " 84 | "it. To achieve this, save the following code as a ``.py`` file, such as " 85 | "``tts.py``." 86 | msgstr "" 87 | "コマンドラインからテキストを取得してRobot HATがそれを話すようにします。これを実現するために、以下のコードを ``.py`` " 88 | "ファイルとして保存します。例えば ``tts.py`` などです。" 89 | 90 | #: ../project_say_something.rst:46 91 | msgid "" 92 | "To make Robot HAT vocalize a specific sentence, you can use the following" 93 | " command: ``sudo python3 tts.py \"any text\"`` - simply replace ``\"any " 94 | "text\"`` with the desired phrase." 95 | msgstr "" 96 | "Robot HATに特定の文章を発声させるには、次のコマンドを使用します: ``sudo python3 tts.py \"任意のテキスト\"``" 97 | " - 単に ``\"任意のテキスト\"`` を希望のフレーズに置き換えてください。" 98 | 99 | #: ../project_say_something.rst:50 100 | msgid ":ref:`faq_speaker`" 101 | msgstr ":ref:`faq_speaker`" 102 | 103 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/project_security.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_security.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../project_security.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../project_security.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../project_security.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../project_security.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../project_security.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../project_security.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../project_security.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../project_security.rst:16 68 | msgid "Security System" 69 | msgstr "セキュリティシステム" 70 | 71 | #: ../project_security.rst:18 72 | msgid "" 73 | "In this project, we've created a simple security system. The PIR sensor " 74 | "detects if someone passes by, and then the camera activates. If a face is" 75 | " detected, it takes a picture and simultaneously delivers a warning " 76 | "message." 77 | msgstr "このプロジェクトでは、シンプルなセキュリティシステムを作成しました。PIRセンサーが人の動きを検出すると、カメラが起動します。顔が検出されると、写真を撮り、同時に警告メッセージを発信します。" 78 | 79 | #: ../project_security.rst:22 80 | msgid "**Steps**" 81 | msgstr "**手順**" 82 | 83 | #: ../project_security.rst:24 84 | msgid "Install the ``vilib`` library for face detection." 85 | msgstr "顔検出のための ``vilib`` ライブラリをインストールします。" 86 | 87 | #: ../project_security.rst:33 88 | msgid "" 89 | "Save the following code to your Raspberry Pi and give it a name, for " 90 | "example, ``security.ty``." 91 | msgstr "以下のコードをRaspberry Piに保存し、例えば ``security.ty`` という名前を付けます。" 92 | 93 | #: ../project_security.rst:106 94 | msgid "Use the command ``sudo python3 security.py`` to run this code." 95 | msgstr "このコードを実行するには、 ``sudo python3 security.py`` コマンドを使用します。" 96 | 97 | #: ../project_security.rst:106 98 | msgid ":ref:`faq_speaker`" 99 | msgstr ":ref:`faq_speaker`" 100 | 101 | #: ../project_security.rst:108 102 | msgid "" 103 | "Open a web browser and enter ``http://rpi_ip:9000/mjpg`` to view the " 104 | "captured footage. Additionally, you can find the captured face images in " 105 | "``/home/{username}/Pictures/``." 106 | msgstr "" 107 | "ウェブブラウザを開いて ``http://rpi_ip:9000/mjpg`` " 108 | "にアクセスし、キャプチャされた映像を視聴できます。さらに、キャプチャされた顔の画像は ``/home/{username}/Pictures/``" 109 | " で見つけることができます。" 110 | 111 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/project_ultrasonic.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../project_ultrasonic.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../project_ultrasonic.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../project_ultrasonic.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../project_ultrasonic.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../project_ultrasonic.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../project_ultrasonic.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../project_ultrasonic.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../project_ultrasonic.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../project_ultrasonic.rst:16 68 | msgid "Read from Ultrasonic Module" 69 | msgstr "超音波モジュールからの読み取り" 70 | 71 | #: ../project_ultrasonic.rst:19 72 | msgid "" 73 | "In this project, we use ultrasonic sensors to measure distance and " 74 | "display the readings on the I2C LCD1602." 75 | msgstr "このプロジェクトでは、超音波センサーを使用して距離を測定し、その読み取り値をI2C LCD1602に表示します。" 76 | 77 | #: ../project_ultrasonic.rst:23 78 | msgid "**Steps**" 79 | msgstr "**手順**" 80 | 81 | #: ../project_ultrasonic.rst:25 82 | msgid "" 83 | "In this project, an I2C LCD1602 is used, so it's necessary to download " 84 | "the relevant libraries to make it work." 85 | msgstr "このプロジェクトではI2C LCD1602を使用しているため、関連するライブラリをダウンロードして機能させる必要があります。" 86 | 87 | #: ../project_ultrasonic.rst:32 88 | msgid "Install ``smbus2`` for I2C." 89 | msgstr "I2C用に ``smbus2`` をインストールします。" 90 | 91 | #: ../project_ultrasonic.rst:38 92 | msgid "" 93 | "Save the following code to your Raspberry Pi and give it a name, for " 94 | "example, ``ultrasonic.ty``." 95 | msgstr "以下のコードをRaspberry Piに保存し、例えば ``ultrasonic.ty`` という名前を付けます。" 96 | 97 | #: ../project_ultrasonic.rst:88 98 | msgid "Use the command ``sudo python3 ultrasonic.ty`` to run this code." 99 | msgstr "このコードを実行するには、 ``sudo python3 ultrasonic.ty`` コマンドを使用します。" 100 | 101 | -------------------------------------------------------------------------------- /docs/source/locale/ja/LC_MESSAGES/projects.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) 2023, SunFounder 3 | # This file is distributed under the same license as the SunFounder Robot 4 | # HAT package. 5 | # FIRST AUTHOR , 2023. 6 | # 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: SunFounder Robot HAT \n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2024-05-24 09:22+0800\n" 12 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 13 | "Last-Translator: FULL NAME \n" 14 | "Language: ja\n" 15 | "Language-Team: ja \n" 16 | "Plural-Forms: nplurals=1; plural=0;\n" 17 | "MIME-Version: 1.0\n" 18 | "Content-Type: text/plain; charset=utf-8\n" 19 | "Content-Transfer-Encoding: 8bit\n" 20 | "Generated-By: Babel 2.15.0\n" 21 | 22 | #: ../projects.rst:3 23 | msgid "" 24 | "Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 " 25 | "Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, " 26 | "Arduino, and ESP32 with fellow enthusiasts." 27 | msgstr "こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。" 28 | 29 | #: ../projects.rst:5 30 | msgid "**Why Join?**" 31 | msgstr " **参加する理由は?**" 32 | 33 | #: ../projects.rst:7 34 | msgid "" 35 | "**Expert Support**: Solve post-sale issues and technical challenges with " 36 | "help from our community and team." 37 | msgstr "**エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。" 38 | 39 | #: ../projects.rst:8 40 | msgid "**Learn & Share**: Exchange tips and tutorials to enhance your skills." 41 | msgstr "" 42 | "**学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。" 43 | 44 | #: ../projects.rst:9 45 | msgid "" 46 | "**Exclusive Previews**: Get early access to new product announcements and" 47 | " sneak peeks." 48 | msgstr "**独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。" 49 | 50 | #: ../projects.rst:10 51 | msgid "**Special Discounts**: Enjoy exclusive discounts on our newest products." 52 | msgstr "" 53 | "**特別割引**:最新製品の独占割引をお楽しみください。" 54 | 55 | #: ../projects.rst:11 56 | msgid "" 57 | "**Festive Promotions and Giveaways**: Take part in giveaways and holiday " 58 | "promotions." 59 | msgstr "**祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。" 60 | 61 | #: ../projects.rst:13 62 | msgid "" 63 | "👉 Ready to explore and create with us? Click [|link_sf_facebook|] and " 64 | "join today!" 65 | msgstr "👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!" 66 | 67 | #: ../projects.rst:16 68 | msgid "Some Projects" 69 | msgstr "いくつかのプロジェクト" 70 | 71 | #: ../projects.rst:18 72 | msgid "" 73 | "Here, you'll find a collection of fascinating projects, all implemented " 74 | "using the Robot HAT. We provide you with detailed code, giving you the " 75 | "opportunity to try these projects out for yourself." 76 | msgstr "" 77 | "ここでは、Robot " 78 | "HATを使用して実装された魅力的なプロジェクトのコレクションを紹介します。詳細なコードを提供し、これらのプロジェクトを自分で試す機会を提供します。" 79 | 80 | -------------------------------------------------------------------------------- /docs/source/project_control_motor_servo.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Control Servos and Motors 16 | ============================ 17 | 18 | In this project, we have 12 servos and two motors working simultaneously. 19 | 20 | .. image:: img/servo_motor.jpg 21 | :width: 500 22 | :align: center 23 | 24 | However, it's important to note that if your servos and motors have a high starting current, it's recommended to start them separately to avoid insufficient power supply current, which could lead to the Raspberry Pi restarting. 25 | 26 | **Code** 27 | 28 | .. code-block:: python 29 | 30 | from robot_hat import Servo, Motors 31 | import time 32 | 33 | # Create objects for 12 servos 34 | servos = [Servo(f"P{i}") for i in range(12)] 35 | 36 | # Create motor object 37 | motors = Motors() 38 | 39 | def initialize_servos(): 40 | """Set initial angle of all servos to 0.""" 41 | for servo in servos: 42 | servo.angle(-90) 43 | time.sleep(0.1) # Wait for servos to reach the initial position 44 | time.sleep(1) 45 | 46 | 47 | def sweep_servos(angle_from, angle_to, step): 48 | """Control all servos to sweep from a start angle to an end angle.""" 49 | if angle_from < angle_to: 50 | range_func = range(angle_from, angle_to + 1, step) 51 | else: 52 | range_func = range(angle_from, angle_to - 1, -step) 53 | 54 | for angle in range_func: 55 | for servo in servos: 56 | servo.angle(angle) 57 | time.sleep(0.05) 58 | 59 | def control_motors_and_servos(): 60 | """Control motors and servos in synchronization.""" 61 | try: 62 | while True: 63 | # Motors rotate forward and servos sweep from -90 to 90 degrees 64 | motors[1].speed(80) 65 | time.sleep(0.01) 66 | motors[2].speed(80) 67 | time.sleep(0.01) 68 | sweep_servos(-90, 90, 5) 69 | time.sleep(1) 70 | 71 | # Motors rotate backward and servos sweep from 90 to -90 degrees 72 | motors[1].speed(-80) 73 | time.sleep(0.01) 74 | motors[2].speed(-80) 75 | time.sleep(0.01) 76 | sweep_servos(90, -90, 5) 77 | time.sleep(1) 78 | except KeyboardInterrupt: 79 | # Stop motors when Ctrl+C is pressed 80 | motors.stop() 81 | print("Motors stopped.") 82 | 83 | # Initialize servos to their initial position 84 | initialize_servos() 85 | 86 | # Control motors and servos 87 | control_motors_and_servos() 88 | 89 | 90 | -------------------------------------------------------------------------------- /docs/source/project_diy_car.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | DIY Car 16 | ============== 17 | 18 | In addition to being suitable for simple experiments, the Robot HAT is ideal for use as a central controller in robotics, such as for smart cars. 19 | 20 | In this project, we built a simple line-following car. 21 | 22 | .. image:: img/diy_car.jpg 23 | 24 | **Code** 25 | 26 | .. code-block:: python 27 | 28 | from robot_hat import Motors, Pin 29 | import time 30 | 31 | # Create motor object 32 | motors = Motors() 33 | 34 | # Initialize line tracking sensor 35 | line_track = Pin('D0') 36 | 37 | def main(): 38 | while True: 39 | # print("value", line_track.value()) 40 | # time.sleep(0.01) 41 | if line_track.value() == 1: 42 | # If line is detected 43 | motors[1].speed(-60) # Motor 1 forward 44 | motors[2].speed(20) # Motor 2 backward 45 | time.sleep(0.01) 46 | else: 47 | # If line is not detected 48 | motors[1].speed(-20) # Motor 1 backward 49 | motors[2].speed(60) # Motor 2 forward 50 | time.sleep(0.01) 51 | 52 | def destroy(): 53 | # Stop motors when Ctrl+C is pressed 54 | motors.stop() 55 | print("Motors stopped.") 56 | 57 | if __name__ == '__main__': 58 | try: 59 | main() 60 | except KeyboardInterrupt: 61 | destroy() 62 | -------------------------------------------------------------------------------- /docs/source/project_photoresistor.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Read from Photoresistor Module 16 | ================================ 17 | 18 | In this project, we detect the light intensity and display on the I2C LCD1602. 19 | 20 | .. image:: img/photoresistor.jpg 21 | 22 | **Steps** 23 | 24 | #. In this project, an I2C LCD1602 is used, so it's necessary to download the relevant libraries to make it work. 25 | 26 | .. code-block:: shell 27 | 28 | cd ~/ 29 | wget https://github.com/sunfounder/raphael-kit/blob/master/python/LCD1602.py 30 | 31 | #. Install ``smbus2`` for I2C. 32 | 33 | .. code-block:: shell 34 | 35 | sudo pip3 install smbus2 36 | 37 | #. Save the following code to your Raspberry Pi and give it a name, for example, ``photoresistor.ty``. 38 | 39 | .. code-block:: python 40 | 41 | from robot_hat import ADC 42 | import LCD1602 43 | import time 44 | 45 | # Create an ADC object to read the value from the photoresistor 46 | a0 = ADC(0) 47 | 48 | def setup(): 49 | # Initialize the LCD1602 50 | LCD1602.init(0x27, 1) 51 | time.sleep(2) 52 | 53 | def destroy(): 54 | # Clear the LCD display 55 | LCD1602.clear() 56 | 57 | def loop(): 58 | while True: 59 | # Read the value from the photoresistor 60 | value0 = a0.read() 61 | # Display the read value on the LCD 62 | LCD1602.write(0, 0, 'Value: %d ' % value0) 63 | # Reduce the refresh rate to update once per second 64 | time.sleep(0.2) 65 | 66 | if __name__ == '__main__': 67 | setup() 68 | try: 69 | loop() 70 | except KeyboardInterrupt: 71 | destroy() 72 | except Exception as e: 73 | # Clear the LCD and print error message in case of an exception 74 | destroy() 75 | print("Error:", e) 76 | 77 | 78 | #. Use the command ``sudo python3 photoresistor.ty`` to run this code. 79 | 80 | -------------------------------------------------------------------------------- /docs/source/project_plant_monitor.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Plant Monitor 16 | ====================== 17 | 18 | In this project, we detect both light intensity and soil moisture levels, and display them on the I2C LCD1602 . When you feel that the soil moisture is insufficient, you can press the button module to water the potted plant. 19 | 20 | .. image:: img/plant_monitor.jpg 21 | 22 | **Steps** 23 | 24 | #. In this project, an I2C LCD1602 is used, so it's necessary to download the relevant libraries to make it work. 25 | 26 | .. code-block:: shell 27 | 28 | cd ~/ 29 | wget https://github.com/sunfounder/raphael-kit/blob/master/python/LCD1602.py 30 | 31 | #. Install ``smbus2`` for I2C. 32 | 33 | .. code-block:: shell 34 | 35 | sudo pip3 install smbus2 36 | 37 | #. Save the following code to your Raspberry Pi and give it a name, for example, ``plant_monitor.ty``. 38 | 39 | .. code-block:: python 40 | 41 | from robot_hat import ADC, Motors, Pin 42 | import LCD1602 43 | import time 44 | import threading 45 | 46 | from robot_hat.utils import reset_mcu 47 | 48 | reset_mcu() 49 | time.sleep(.1) 50 | 51 | 52 | # Initialize objects 53 | light_sensor = ADC(1) 54 | moisture_sensor = ADC(0) 55 | motors = Motors() 56 | button = Pin('D0') 57 | 58 | # Thread running flag 59 | running = True 60 | 61 | def init_lcd(): 62 | LCD1602.init(0x27, 1) 63 | time.sleep(2) 64 | 65 | def update_lcd(light_value, moisture_value): 66 | LCD1602.write(0, 0, 'Light: %d ' % light_value) 67 | LCD1602.write(0, 1, 'Moisture: %d ' % moisture_value) 68 | 69 | def read_sensors(): 70 | light_value = light_sensor.read() 71 | time.sleep(0.2) 72 | moisture_value = moisture_sensor.read() 73 | time.sleep(0.2) 74 | return light_value, moisture_value 75 | 76 | def control_motor(): 77 | global running 78 | while running: 79 | button_pressed = button.value() == 0 80 | if button_pressed: 81 | motors[1].speed(80) 82 | time.sleep(0.1) 83 | else: 84 | motors[1].speed(0) 85 | time.sleep(0.1) 86 | time.sleep(0.1) 87 | 88 | def setup(): 89 | init_lcd() 90 | 91 | def destroy(): 92 | global running 93 | running = False 94 | LCD1602.clear() 95 | 96 | def loop(): 97 | global running 98 | while running: 99 | light_value, moisture_value = read_sensors() 100 | update_lcd(light_value, moisture_value) 101 | time.sleep(.2) 102 | 103 | if __name__ == '__main__': 104 | try: 105 | setup() 106 | motor_thread = threading.Thread(target=control_motor) 107 | motor_thread.start() 108 | loop() 109 | except KeyboardInterrupt: 110 | motor_thread.join() # Wait for motor_thread to finish 111 | print("Program stopped") 112 | except Exception as e: 113 | print("Error:", e) 114 | finally: 115 | motors[1].speed(0) 116 | time.sleep(.1) 117 | destroy() 118 | print('end') 119 | 120 | #. Use the command ``sudo python3 plant_monitor.ty`` to run this code. 121 | 122 | -------------------------------------------------------------------------------- /docs/source/project_say_something.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Say Something 16 | ==================== 17 | 18 | 19 | In this section, you'll learn how to convert text into speech and have Robot HAT speak it aloud. 20 | 21 | **Steps** 22 | 23 | #. We retrieve text from the command line to enable Robot HAT to articulate it. To achieve this, save the following code as a ``.py`` file, such as ``tts.py``. 24 | 25 | 26 | .. code-block:: python 27 | 28 | import sys 29 | from robot_hat import TTS 30 | 31 | # Check if there are enough command line arguments 32 | if len(sys.argv) > 1: 33 | text_to_say = sys.argv[1] # Get the first argument passed from the command line 34 | else: 35 | text_to_say = "Hello SunFounder" # Default text if no arguments are provided 36 | 37 | # Initialize the TTS class 38 | tts = TTS(lang='en-US') 39 | 40 | # Read the text 41 | tts.say(text_to_say) 42 | 43 | # Display all supported languages 44 | print(tts.supported_lang()) 45 | 46 | #. To make Robot HAT vocalize a specific sentence, you can use the following command: ``sudo python3 tts.py "any text"`` - simply replace ``"any text"`` with the desired phrase. 47 | 48 | .. note:: 49 | 50 | * :ref:`faq_speaker` 51 | 52 | -------------------------------------------------------------------------------- /docs/source/project_security.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Security System 16 | ======================= 17 | 18 | In this project, we've created a simple security system. The PIR sensor detects if someone passes by, and then the camera activates. If a face is detected, it takes a picture and simultaneously delivers a warning message. 19 | 20 | .. image:: img/camera.jpg 21 | 22 | **Steps** 23 | 24 | #. Install the ``vilib`` library for face detection. 25 | 26 | .. code-block:: shell 27 | 28 | cd ~/ 29 | git clone -b picamera2 https://github.com/sunfounder/vilib.git 30 | cd vilib 31 | sudo python3 install.py 32 | 33 | #. Save the following code to your Raspberry Pi and give it a name, for example, ``security.ty``. 34 | 35 | 36 | .. code-block:: python 37 | 38 | import os 39 | from time import sleep, time, strftime, localtime 40 | from vilib import Vilib 41 | from robot_hat import Pin, TTS 42 | 43 | 44 | # Initialize the TTS class 45 | tts = TTS(lang='en-US') 46 | 47 | # Display all supported languages 48 | print(tts.supported_lang()) 49 | 50 | # Initialize the PIR sensor 51 | pir = Pin('D0') 52 | 53 | def camera_start(): 54 | Vilib.camera_start() 55 | Vilib.display() 56 | Vilib.face_detect_switch(True) 57 | 58 | def take_photo(): 59 | _time = strftime('%Y-%m-%d-%H-%M-%S', localtime(time())) 60 | name = f'photo_{_time}' 61 | username = os.getlogin() 62 | path = f"/home/{username}/Pictures/" 63 | Vilib.take_photo(name, path) 64 | print(f'Photo saved as {path}{name}.jpg') 65 | 66 | def main(): 67 | motion_detected = False 68 | while True: 69 | # Check for motion 70 | if pir.value() == 1: 71 | if not motion_detected: 72 | print("Motion detected! Initializing camera...") 73 | camera_start() 74 | motion_detected = True 75 | sleep(2) # Stabilization delay to confirm motion 76 | 77 | # Check for human face and take a photo 78 | if Vilib.detect_obj_parameter['human_n'] != 0: 79 | take_photo() 80 | # Read the text 81 | tts.say("Security alert: Unrecognized Individual detected. Please verify identity") 82 | sleep(2) # Delay after taking a photo 83 | 84 | # If no motion is detected, turn off the camera 85 | elif motion_detected: 86 | print("No motion detected. Finalizing camera...") 87 | Vilib.camera_close() 88 | motion_detected = False 89 | sleep(2) # Delay before re-enabling motion detection 90 | 91 | sleep(0.1) # Short delay to prevent CPU overuse 92 | 93 | def destroy(): 94 | Vilib.camera_close() 95 | print("Camera and face detection stopped.") 96 | 97 | if __name__ == '__main__': 98 | try: 99 | main() 100 | except KeyboardInterrupt: 101 | destroy() 102 | 103 | #. Use the command ``sudo python3 security.py`` to run this code. 104 | .. note:: 105 | 106 | * :ref:`faq_speaker` 107 | 108 | #. Open a web browser and enter ``http://rpi_ip:9000/mjpg`` to view the captured footage. Additionally, you can find the captured face images in ``/home/{username}/Pictures/``. 109 | 110 | .. image:: img/browser_camera.jpg 111 | 112 | -------------------------------------------------------------------------------- /docs/source/project_ultrasonic.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Read from Ultrasonic Module 16 | =============================== 17 | 18 | 19 | In this project, we use ultrasonic sensors to measure distance and display the readings on the I2C LCD1602. 20 | 21 | .. image:: img/ultrasonic.jpg 22 | 23 | **Steps** 24 | 25 | #. In this project, an I2C LCD1602 is used, so it's necessary to download the relevant libraries to make it work. 26 | 27 | .. code-block:: shell 28 | 29 | cd ~/ 30 | wget https://github.com/sunfounder/raphael-kit/blob/master/python/LCD1602.py 31 | 32 | #. Install ``smbus2`` for I2C. 33 | 34 | .. code-block:: shell 35 | 36 | sudo pip3 install smbus2 37 | 38 | #. Save the following code to your Raspberry Pi and give it a name, for example, ``ultrasonic.ty``. 39 | 40 | .. code-block:: python 41 | 42 | from robot_hat import ADC, Ultrasonic, Pin 43 | import LCD1602 44 | import time 45 | 46 | # Create ADC object for photoresistor 47 | a0 = ADC(0) 48 | 49 | # Create Ultrasonic object 50 | us = Ultrasonic(Pin("D2"), Pin("D3")) //Trig to digital pin 2, echo to pin 3 51 | 52 | def setup(): 53 | # Initialize LCD1602 54 | LCD1602.init(0x27, 1) 55 | # Initial message on LCD 56 | LCD1602.write(0, 0, 'Measuring...') 57 | time.sleep(2) 58 | 59 | def destroy(): 60 | # Clear the LCD display 61 | LCD1602.clear() 62 | 63 | def loop(): 64 | while True: 65 | # Read distance from ultrasonic sensor 66 | distance = us.read() 67 | # Display the distance on the LCD 68 | if distance != -1: 69 | # Display the valid distance on the LCD 70 | LCD1602.write(0, 0, 'Dist: %.2f cm ' % distance) 71 | 72 | # Update every 0.5 seconds 73 | time.sleep(0.2) 74 | 75 | if __name__ == '__main__': 76 | setup() 77 | try: 78 | loop() 79 | except KeyboardInterrupt: 80 | destroy() 81 | except Exception as e: 82 | # Clear the LCD and print error message in case of an exception 83 | destroy() 84 | print("Error:", e) 85 | 86 | 87 | 88 | #. Use the command ``sudo python3 ultrasonic.ty`` to run this code. 89 | 90 | -------------------------------------------------------------------------------- /docs/source/projects.rst: -------------------------------------------------------------------------------- 1 | .. note:: 2 | 3 | Hello, welcome to the SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community on Facebook! Dive deeper into Raspberry Pi, Arduino, and ESP32 with fellow enthusiasts. 4 | 5 | **Why Join?** 6 | 7 | - **Expert Support**: Solve post-sale issues and technical challenges with help from our community and team. 8 | - **Learn & Share**: Exchange tips and tutorials to enhance your skills. 9 | - **Exclusive Previews**: Get early access to new product announcements and sneak peeks. 10 | - **Special Discounts**: Enjoy exclusive discounts on our newest products. 11 | - **Festive Promotions and Giveaways**: Take part in giveaways and holiday promotions. 12 | 13 | 👉 Ready to explore and create with us? Click [|link_sf_facebook|] and join today! 14 | 15 | Some Projects 16 | ================= 17 | 18 | Here, you'll find a collection of fascinating projects, all implemented using the Robot HAT. 19 | We provide you with detailed code, giving you the opportunity to try these projects out for yourself. 20 | 21 | .. toctree:: 22 | :maxdepth: 1 23 | 24 | project_control_motor_servo 25 | project_diy_car 26 | project_photoresistor 27 | project_ultrasonic 28 | project_plant_monitor 29 | project_say_something 30 | project_security 31 | community_tutorials 32 | 33 | -------------------------------------------------------------------------------- /dtoverlays/sunfounder-robothat5.dtbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/dtoverlays/sunfounder-robothat5.dtbo -------------------------------------------------------------------------------- /dtoverlays/sunfounder-servohat+.dtbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sunfounder/robot-hat/214e0fc6bac953dbe75b99cc53c0de65ab932adb/dtoverlays/sunfounder-servohat+.dtbo -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | 2 | [build-system] 3 | requires = ["setuptools >= 61.0", "wheel"] 4 | build-backend = "setuptools.build_meta" 5 | 6 | [project] 7 | name = "robot_hat" 8 | authors = [ 9 | { name="sunfounder", email="service@sunfounder.com" }, 10 | ] 11 | description = "Robot Hat Python library for Raspberry Pi" 12 | readme = "README.md" 13 | requires-python = ">=3.7" 14 | classifiers = [ 15 | "Programming Language :: Python :: 3", 16 | "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", 17 | "Operating System :: POSIX :: Linux", 18 | ] 19 | keywords = ["robot_hat", "sunfounder"] 20 | dynamic = ["version"] 21 | 22 | dependencies = [ 23 | 24 | ] 25 | 26 | [project.scripts] 27 | robot_hat = "robot_hat:__main__" 28 | 29 | [project.urls] 30 | Homepage = "https://www.sunfounder.com/products/sunfounder-robot-hat-expansion-board-designed-for-raspberry-pi" 31 | Documentation = "https://docs.sunfounder.com/projects/robot-hat-v4/en/latest/" 32 | Repository = "https://github.com/sunfounder/robot-hat/tree/dev" 33 | Issues = "https://github.com/sunfounder/robot-hat/issues" 34 | Changelog = "https://github.com/sunfounder/robot-hat/commits/dev/" 35 | 36 | [tool.setuptools.packages.find] 37 | include = ["robot_hat"] 38 | exclude = ["setup.py", "docs", 'tests*', 'examples', 'workspace'] 39 | 40 | [tool.setuptools.dynamic] 41 | version = {attr = "robot_hat.version.__version__"} 42 | 43 | 44 | -------------------------------------------------------------------------------- /robot_hat/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | """ 3 | Robot Hat Library 4 | """ 5 | from .adc import ADC 6 | from .filedb import fileDB 7 | from .config import Config 8 | from .i2c import I2C 9 | from .modules import * 10 | from .music import Music 11 | from .motor import Motor, Motors 12 | from .pin import Pin 13 | from .pwm import PWM 14 | from .servo import Servo 15 | from .tts import TTS 16 | from .utils import * 17 | from .robot import Robot 18 | from .version import __version__ 19 | 20 | from .device import Devices 21 | __device__ = Devices() 22 | 23 | def __usage__(): 24 | print(''' 25 | Usage: robot_hat [option] 26 | 27 | reset_mcu reset mcu on robot-hat 28 | enable_speaker enable speaker 29 | disable_speaker disable speaker 30 | version get robot-hat libray version 31 | info get hat info 32 | ''') 33 | quit() 34 | 35 | def get_firmware_version(): 36 | ADDR = [0x14, 0x15] 37 | VERSSION_REG_ADDR = 0x05 38 | i2c = I2C(ADDR) 39 | version = i2c.mem_read(3, VERSSION_REG_ADDR) 40 | return version 41 | 42 | def __main__(): 43 | import sys 44 | import os 45 | if len(sys.argv) == 2: 46 | if sys.argv[1] == "reset_mcu": 47 | reset_mcu() 48 | info("Onboard MCU reset.") 49 | elif sys.argv[1] == "enable_speaker": 50 | info(f"Enable Robot-HAT speaker.") 51 | utils.enable_speaker() 52 | elif sys.argv[1] == "disable_speaker": 53 | info(f"Disable Robot-HAT speaker.") 54 | utils.disable_speaker() 55 | elif sys.argv[1] == "version": 56 | info(f"robot-hat library version: {__version__}") 57 | elif sys.argv[1] == "info": 58 | info(f'HAT name: {__device__.name}') 59 | info(f'PCB ID: O{__device__.product_id}V{__device__.product_ver}') 60 | info(f'Vendor: {__device__.vendor}') 61 | firmware_ver = get_firmware_version() 62 | firmware_ver = f'{firmware_ver[0]}.{firmware_ver[1]}.{firmware_ver[2]}' 63 | info(f"Firmare version: {firmware_ver}") 64 | else: 65 | warn("Unknown option.") 66 | __usage__() 67 | else: 68 | __usage__() 69 | -------------------------------------------------------------------------------- /robot_hat/adc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | from .i2c import I2C 3 | 4 | 5 | class ADC(I2C): 6 | """ 7 | Analog to digital converter 8 | """ 9 | ADDR = [0x14, 0x15] 10 | 11 | def __init__(self, chn, address=None, *args, **kwargs): 12 | """ 13 | Analog to digital converter 14 | 15 | :param chn: channel number (0-7/A0-A7) 16 | :type chn: int/str 17 | """ 18 | if address is not None: 19 | super().__init__(address, *args, **kwargs) 20 | else: 21 | super().__init__(self.ADDR, *args, **kwargs) 22 | self._debug(f'ADC device address: 0x{self.address:02X}') 23 | 24 | if isinstance(chn, str): 25 | # If chn is a string, assume it's a pin name, remove A and convert to int 26 | if chn.startswith("A"): 27 | chn = int(chn[1:]) 28 | else: 29 | raise ValueError( 30 | f'ADC channel should be between [A0, A7], not "{chn}"') 31 | # Make sure channel is between 0 and 7 32 | if chn < 0 or chn > 7: 33 | raise ValueError( 34 | f'ADC channel should be between [0, 7], not "{chn}"') 35 | chn = 7 - chn 36 | # Convert to Register value 37 | self.chn = chn | 0x10 38 | 39 | def read(self): 40 | """ 41 | Read the ADC value 42 | 43 | :return: ADC value(0-4095) 44 | :rtype: int 45 | """ 46 | # Write register address 47 | self.write([self.chn, 0, 0]) 48 | # Read values 49 | msb, lsb = super().read(2) 50 | 51 | # Combine MSB and LSB 52 | value = (msb << 8) + lsb 53 | self._debug(f"Read value: {value}") 54 | return value 55 | 56 | def read_voltage(self): 57 | """ 58 | Read the ADC value and convert to voltage 59 | 60 | :return: Voltage value(0-3.3(V)) 61 | :rtype: float 62 | """ 63 | # Read ADC value 64 | value = self.read() 65 | # Convert to voltage 66 | voltage = value * 3.3 / 4095 67 | self._debug(f"Read voltage: {voltage}") 68 | return voltage 69 | -------------------------------------------------------------------------------- /robot_hat/basic.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | #!/usr/bin/env python3 3 | import logging 4 | import time 5 | 6 | 7 | class _Basic_class(object): 8 | """ 9 | Basic Class for all classes 10 | 11 | with debug function 12 | """ 13 | _class_name = '_Basic_class' 14 | DEBUG_LEVELS = {'debug': logging.DEBUG, 15 | 'info': logging.INFO, 16 | 'warning': logging.WARNING, 17 | 'error': logging.ERROR, 18 | 'critical': logging.CRITICAL, 19 | } 20 | """Debug level""" 21 | DEBUG_NAMES = ['critical', 'error', 'warning', 'info', 'debug'] 22 | """Debug level names""" 23 | 24 | def __init__(self, debug_level='warning'): 25 | """ 26 | Initialize the basic class 27 | 28 | :param debug_level: debug level, 0(critical), 1(error), 2(warning), 3(info) or 4(debug) 29 | :type debug_level: str/int 30 | """ 31 | self.logger = logging.getLogger(f"self._class_name-{time.time()}") 32 | self.ch = logging.StreamHandler() 33 | form = "%(asctime)s [%(levelname)s] %(message)s" 34 | self.formatter = logging.Formatter(form) 35 | self.ch.setFormatter(self.formatter) 36 | self.logger.addHandler(self.ch) 37 | self._debug = self.logger.debug 38 | self._info = self.logger.info 39 | self._warning = self.logger.warning 40 | self._error = self.logger.error 41 | self._critical = self.logger.critical 42 | self.debug_level = debug_level 43 | 44 | @property 45 | def debug_level(self): 46 | """Debug level""" 47 | return self._debug_level 48 | 49 | @debug_level.setter 50 | def debug_level(self, debug): 51 | """Debug level""" 52 | if debug in range(5): 53 | self._debug_level = self.DEBUG_NAMES[debug] 54 | elif debug in self.DEBUG_NAMES: 55 | self._debug_level = debug 56 | else: 57 | raise ValueError( 58 | f'Debug value must be 0(critical), 1(error), 2(warning), 3(info) or 4(debug), not "{debug}".') 59 | self.logger.setLevel(self.DEBUG_LEVELS[self._debug_level]) 60 | self.ch.setLevel(self.DEBUG_LEVELS[self._debug_level]) 61 | self._debug(f'Set logging level to [{self._debug_level}]') 62 | -------------------------------------------------------------------------------- /robot_hat/device.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | class Devices(): 4 | HAT_DEVICE_TREE = "/proc/device-tree/" 5 | HAT_UUIDs = [ 6 | "9daeea78-0000-076e-0032-582369ac3e02", # robothat5 1902v50 7 | ] 8 | 9 | DEVICES = { 10 | "robot_hat_v4x": { 11 | "uuid": None, 12 | "speaker_enbale_pin": 20, 13 | "motor_mode": 1, 14 | }, 15 | "robot_hat_v5x": { 16 | "uuid": HAT_UUIDs[0], 17 | "speaker_enbale_pin": 12, 18 | "motor_mode": 2, 19 | } 20 | } 21 | 22 | name = "" 23 | product_id = 0 24 | product_ver = 0 25 | uuid = "" 26 | vendor = "" 27 | spk_en = 20 28 | motor_mode = 1 29 | 30 | def __init__(self): 31 | hat_path = None 32 | for file in os.listdir('/proc/device-tree/'): 33 | if 'hat' in file: 34 | # print("hat detected") 35 | if os.path.exists(f"/proc/device-tree/{file}/uuid") \ 36 | and os.path.isfile(f"/proc/device-tree/{file}/uuid"): 37 | # print("uuid detected") 38 | with open(f"/proc/device-tree/{file}/uuid", "r") as f: 39 | uuid = f.read()[:-1] # [:-1] rm \x00 40 | if uuid in self.HAT_UUIDs: 41 | hat_path = f"/proc/device-tree/{file}" 42 | break 43 | 44 | if hat_path is not None: 45 | with open(f"{hat_path}/product", "r") as f: 46 | self.name = f.read() 47 | with open(f"{hat_path}/product_id", "r") as f: 48 | self.product_id = f.read()[:-1] # [:-1] rm \x00 49 | self.product_id = int(self.product_id, 16) 50 | with open(f"{hat_path}/product_ver", "r") as f: 51 | self.product_ver = f.read()[:-1] 52 | self.product_ver = int(self.product_ver, 16) 53 | with open(f"{hat_path}/uuid", "r") as f: 54 | self.uuid = f.read()[:-1] # [:-1] rm \x00 55 | with open(f"{hat_path}/vendor", "r") as f: 56 | self.vendor = f.read() 57 | 58 | for device in self.DEVICES: 59 | if self.DEVICES[device]['uuid'] == self.uuid: 60 | self.spk_en = self.DEVICES[device]["speaker_enbale_pin"] 61 | self.motor_mode = self.DEVICES[device]["motor_mode"] 62 | break 63 | 64 | if __name__ == "__main__": 65 | device = Devices() 66 | print(f'name: {device.name}') 67 | print(f'product_id: {device.product_id}') 68 | print(f'product_ver: {device.product_ver}') 69 | print(f'vendor: {device.vendor}') 70 | print(f'uuid: {device.uuid}') 71 | print(f'speaker_enbale_pin: {device.spk_en}') 72 | print(f'motor_mode: {device.motor_mode}') 73 | -------------------------------------------------------------------------------- /robot_hat/filedb.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | ''' 3 | ********************************************************************** 4 | * Filename : filedb.py 5 | * Description : A simple file based database. 6 | * Author : Cavon 7 | * Brand : SunFounder 8 | * E-mail : service@sunfounder.com 9 | * Website : www.sunfounder.com 10 | * Update : Cavon 2016-09-13 New release 11 | ********************************************************************** 12 | ''' 13 | import os 14 | from time import sleep 15 | 16 | 17 | class fileDB(object): 18 | """A file based database. 19 | 20 | A file based database, read and write arguements in the specific file. 21 | """ 22 | def __init__(self, db:str, mode:str=None, owner:str=None): 23 | ''' 24 | Init the db_file is a file to save the datas. 25 | 26 | :param db: the file to save the datas. 27 | :type db: str 28 | :param mode: the mode of the file. 29 | :type mode: str 30 | :param owner: the owner of the file. 31 | :type owner: str 32 | ''' 33 | 34 | self.db = db 35 | # Check if db_file is existed, otherwise create one 36 | if self.db != None: 37 | self.file_check_create(db, mode, owner) 38 | else: 39 | raise ValueError('db: Missing file path parameter.') 40 | 41 | 42 | def file_check_create(self, file_path:str, mode:str=None, owner:str=None): 43 | """ 44 | Check if file is existed, otherwise create one. 45 | 46 | :param file_path: the file to check 47 | :type file_path: str 48 | :param mode: the mode of the file. 49 | :type mode: str 50 | :param owner: the owner of the file. 51 | :type owner: str 52 | """ 53 | dir = file_path.rsplit('/',1)[0] 54 | try: 55 | if os.path.exists(file_path): 56 | if not os.path.isfile(file_path): 57 | print('Could not create file, there is a folder with the same name') 58 | return 59 | else: 60 | if os.path.exists(dir): 61 | if not os.path.isdir(dir): 62 | print('Could not create directory, there is a file with the same name') 63 | return 64 | else: 65 | os.makedirs(dir, mode=0o754) 66 | sleep(0.001) 67 | 68 | with open(file_path, 'w') as f: 69 | f.write("# robot-hat config and calibration value of robots\n\n") 70 | 71 | if mode != None: 72 | os.popen('sudo chmod %s %s'%(mode, file_path)) 73 | if owner != None: 74 | os.popen('sudo chown -R %s:%s %s'%(owner, owner, dir)) 75 | except Exception as e: 76 | raise(e) 77 | 78 | def get(self, name, default_value=None): 79 | """ 80 | Get value with data's name 81 | 82 | :param name: the name of the arguement 83 | :type name: str 84 | :param default_value: the default value of the arguement 85 | :type default_value: str 86 | :return: the value of the arguement 87 | :rtype: str 88 | """ 89 | try: 90 | conf = open(self.db,'r') 91 | lines=conf.readlines() 92 | conf.close() 93 | file_len=len(lines)-1 94 | flag = False 95 | # Find the arguement and set the value 96 | for i in range(file_len): 97 | if lines[i][0] != '#': 98 | if lines[i].split('=')[0].strip() == name: 99 | value = lines[i].split('=')[1].replace(' ', '').strip() 100 | flag = True 101 | if flag: 102 | return value 103 | else: 104 | return default_value 105 | except FileNotFoundError: 106 | conf = open(self.db,'w') 107 | conf.write("") 108 | conf.close() 109 | return default_value 110 | except : 111 | return default_value 112 | 113 | def set(self, name, value): 114 | """ 115 | Set value by with name. Or create one if the arguement does not exist 116 | 117 | :param name: the name of the arguement 118 | :type name: str 119 | :param value: the value of the arguement 120 | :type value: str 121 | """ 122 | # Read the file 123 | conf = open(self.db,'r') 124 | lines=conf.readlines() 125 | conf.close() 126 | file_len=len(lines)-1 127 | flag = False 128 | # Find the arguement and set the value 129 | for i in range(file_len): 130 | if lines[i][0] != '#': 131 | if lines[i].split('=')[0].strip() == name: 132 | lines[i] = '%s = %s\n' % (name, value) 133 | flag = True 134 | # If arguement does not exist, create one 135 | if not flag: 136 | lines.append('%s = %s\n\n' % (name, value)) 137 | 138 | # Save the file 139 | conf = open(self.db,'w') 140 | conf.writelines(lines) 141 | conf.close() 142 | 143 | if __name__ == '__main__': 144 | db = fileDB('/opt/robot-hat/test2.config') 145 | 146 | db.set('a', '1') 147 | db.set('b', '2') 148 | 149 | print(db.get('a')) 150 | print(db.get('c')) 151 | 152 | -------------------------------------------------------------------------------- /robot_hat/servo.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | from .pwm import PWM 3 | from .utils import mapping 4 | 5 | 6 | class Servo(PWM): 7 | """Servo motor class""" 8 | MAX_PW = 2500 9 | MIN_PW = 500 10 | FREQ = 50 11 | PERIOD = 4095 12 | 13 | def __init__(self, channel, address=None, *args, **kwargs): 14 | """ 15 | Initialize the servo motor class 16 | 17 | :param channel: PWM channel number(0-14/P0-P14) 18 | :type channel: int/str 19 | """ 20 | super().__init__(channel, address, *args, **kwargs) 21 | self.period(self.PERIOD) 22 | prescaler = self.CLOCK / self.FREQ / self.PERIOD 23 | self.prescaler(prescaler) 24 | 25 | def angle(self, angle): 26 | """ 27 | Set the angle of the servo motor 28 | 29 | :param angle: angle(-90~90) 30 | :type angle: float 31 | """ 32 | if not (isinstance(angle, int) or isinstance(angle, float)): 33 | raise ValueError( 34 | "Angle value should be int or float value, not %s" % type(angle)) 35 | if angle < -90: 36 | angle = -90 37 | if angle > 90: 38 | angle = 90 39 | self._debug(f"Set angle to: {angle}") 40 | pulse_width_time = mapping(angle, -90, 90, self.MIN_PW, self.MAX_PW) 41 | self._debug(f"Pulse width: {pulse_width_time}") 42 | self.pulse_width_time(pulse_width_time) 43 | 44 | def pulse_width_time(self, pulse_width_time): 45 | """ 46 | Set the pulse width of the servo motor 47 | 48 | :param pulse_width_time: pulse width time(500~2500) 49 | :type pulse_width_time: float 50 | """ 51 | if pulse_width_time > self.MAX_PW: 52 | pulse_width_time = self.MAX_PW 53 | if pulse_width_time < self.MIN_PW: 54 | pulse_width_time = self.MIN_PW 55 | 56 | pwr = pulse_width_time / 20000 57 | self._debug(f"pulse width rate: {pwr}") 58 | value = int(pwr * self.PERIOD) 59 | self._debug(f"pulse width value: {value}") 60 | self.pulse_width(value) 61 | -------------------------------------------------------------------------------- /robot_hat/version.py: -------------------------------------------------------------------------------- 1 | __version__ = '2.3.5' 2 | -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | from os import path 3 | import sys 4 | import os 5 | 6 | print('\033[0;33mThe "setup.py" installation method is planned to be abandoned.\n' 7 | 'Please execute "install.py" to install.\n\033[0m') 8 | 9 | if 'install' in sys.argv: 10 | here = path.abspath(path.dirname(__file__)) 11 | os.chdir(here) 12 | args = ' '.join(sys.argv[1:]) 13 | os.system(f'python3 install.py {args}') 14 | 15 | exit() 16 | 17 | # necessary for pip3 install ./ , 18 | # if you need both `setup.py`` and `pyproject.toml`` to exist 19 | from setuptools import setup 20 | setup() 21 | 22 | -------------------------------------------------------------------------------- /tests/button_event_test.py: -------------------------------------------------------------------------------- 1 | from robot_hat import Pin 2 | import time 3 | 4 | btn = Pin("D0") # IO17 5 | 6 | def pressed_handler(): 7 | print(f"Pressed - {time.time()}") 8 | 9 | def released_handler(): 10 | print(f"Released - {time.time()}") 11 | 12 | def both_handler(): 13 | print(f"xxx - {time.time()}") 14 | 15 | btn.irq(handler=pressed_handler, trigger=Pin.IRQ_FALLING, bouncetime=20) 16 | print(btn) 17 | btn.irq(handler=released_handler, trigger=Pin.IRQ_RISING, bouncetime=10) 18 | print(btn) 19 | # btn.irq(handler=both_handler, trigger=Pin.IRQ_RISING_FALLING, bouncetime=10) 20 | # print(btn) 21 | 22 | 23 | 24 | while True: 25 | time.sleep(1) 26 | -------------------------------------------------------------------------------- /tests/init_angles_test.py: -------------------------------------------------------------------------------- 1 | from robot_hat import Robot,PWM,Servo,Music 2 | from robot_hat.utils import reset_mcu 3 | from time import sleep 4 | 5 | reset_mcu() 6 | sleep(0.01) 7 | 8 | 9 | def fuc(): 10 | rubo = Robot([10,11,12],3,init_angles=[10,45,-45]) 11 | 12 | 13 | if __name__ == "__main__": 14 | fuc() 15 | -------------------------------------------------------------------------------- /tests/motor_robothat5_test.py: -------------------------------------------------------------------------------- 1 | from robot_hat import Motor, PWM, Pin 2 | from time import sleep 3 | 4 | m0 = Motor(PWM('P12'), PWM('P13'), mode=2) 5 | m1 = Motor(PWM('P14'), PWM('P15'), mode=2) 6 | m2 = Motor(PWM('P16'), PWM('P17'), mode=2) 7 | m3 = Motor(PWM('P18'), PWM('P19'), mode=2) 8 | 9 | 10 | try: 11 | while True: 12 | m0.speed(-50) 13 | m1.speed(-50) 14 | m2.speed(-50) 15 | m3.speed(-50) 16 | sleep(1) 17 | m0.speed(50) 18 | m1.speed(50) 19 | m2.speed(50) 20 | m3.speed(50) 21 | sleep(1) 22 | m0.speed(0) 23 | m1.speed(0) 24 | m2.speed(0) 25 | m3.speed(0) 26 | finally: 27 | m0.speed(0) 28 | m1.speed(0) 29 | m2.speed(0) 30 | m3.speed(0) 31 | sleep(.1) 32 | 33 | -------------------------------------------------------------------------------- /tests/motor_test.py: -------------------------------------------------------------------------------- 1 | from robot_hat import Motor, PWM, Pin 2 | from time import sleep 3 | 4 | m0 = Motor(PWM('P13'), Pin('D4')) 5 | m1= Motor(PWM('P12'), Pin('D5')) 6 | 7 | try: 8 | while True: 9 | m0.speed(-50) 10 | m1.speed(-50) 11 | sleep(1) 12 | m0.speed(50) 13 | m1.speed(50) 14 | sleep(1) 15 | m0.speed(0) 16 | m1.speed(0) 17 | finally: 18 | m0.speed(0) 19 | m1.speed(0) 20 | sleep(.1) 21 | 22 | -------------------------------------------------------------------------------- /tests/servo_hat_test.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | from robot_hat import Servo, ADC 3 | from robot_hat.utils import reset_mcu 4 | from time import sleep 5 | 6 | reset_mcu() 7 | sleep(1) 8 | 9 | adc0 = ADC(0) 10 | adc1 = ADC(1) 11 | adc2 = ADC(2) 12 | adc3 = ADC(3) 13 | adc4 = ADC(4) 14 | 15 | 16 | if __name__ == '__main__': 17 | for i in range(16): 18 | print(f"Servo {i} set to zero") 19 | Servo(i).angle(10) 20 | sleep(0.1) 21 | Servo(i).angle(0) 22 | sleep(0.1) 23 | while True: 24 | v0 = adc0.read() 25 | v1 = adc1.read() 26 | v2 = adc2.read() 27 | v3 = adc3.read() 28 | v4 = adc4.read() 29 | print(v0, v1, v2, v3, v4) 30 | sleep(1) 31 | -------------------------------------------------------------------------------- /tests/servo_test.py: -------------------------------------------------------------------------------- 1 | from robot_hat import Servo 2 | from time import sleep 3 | 4 | servos = [Servo(i) for i in range(12)] 5 | 6 | while True: 7 | for servo in servos: 8 | servo.angle(-20) 9 | sleep(0.1) 10 | for servo in servos: 11 | servo.angle(20) 12 | sleep(0.1) 13 | 14 | --------------------------------------------------------------------------------